这个代码有两个获利水平。一个在1 atr,其中50%的交易被关闭,然后,一个TrailingStop将关闭该交易的残余。
我的问题是:代码可以识别出根据仓位大小使用的利润。如果仓位大小是完整的,初始仓位大小应关闭交易的50%。但我如何才能确定初始头寸的大小,比方说占总股本的2%?在下面的代码中,请查看(这里应该是“完整的交易规模”)))。还是我在用愚蠢的方式做这件事?它在固定数量的合同中运作得很好。
谢谢!
strategy('Trail', overlay=true, currency=currency.USD,default_qty_type=strategy.percent_of_equity, default_qty_value=2)
if strategy.position_size > 0 and high > long_tp
long_sl := TrailingStop
long_sl
if strategy.position_size < 0 and low < short_tp
short_sl := TrailingStop
short_sl
if strategy.position_size == 0
strategy.entry('buy', strategy.long, when=Buy)
if strategy.position_size == ***((( What should go here for "Full size of trade"?)))***
strategy.exit('buyExit1', stop=long_sl, qty_percent=50, limit=long_tp)
if strategy.position_size > 0
strategy.exit('buyExit2', qty_percent=100, stop=long_sl)发布于 2022-07-01 07:07:07
strategy.opentrades.size(strategy.opentrades-1)将返回上次开盘交易中的合约大小(现有头寸大小)。if表达式。这些出口将等待limit和stop被填充,并退出50%的初始位置:strategy.exit('buyExit1', stop=long_sl, qty_percent=50, limit=long_tp)
strategy.exit('buyExit2', qty_percent=50, stop=long_sl)因此,无论怎样,这两个出口都将关闭100%的头寸。
https://stackoverflow.com/questions/72822691
复制相似问题