我正在努力应对松树脚本策略逻辑。我的脚本基于MA交叉以获取多头和空头(趋势跟随系统,下面仅是多头片段),带有一个主信号获取HTF_Long和另一个信号获取互补LTF_Long:
strategy(title="Pyramiding and several entry orders", pyramiding=2,
overlay=true, close_entries_rule="ANY")
IsFlat = (strategy.position_size == 0)
IsUptrend = MA5 > MA7
HTF_LongEntry = crossover(MA1,MA5) and IsFlat and IsUptrend
HTF_LongExit = crossunder(MA1,MA5) and IsUptrend
LTF_LongEntry = crossover(MA1,MA4) and strategy.position_size > 0 and IsUptrend
LTF_LongExit = crossunder(MA1,MA4) and IsUptrend
if (HTF_LongEntry)
strategy.entry(id="HTF Entry", long=true)
if (LTF_LongEntry)
strategy.entry(id="LTF Entry", long=true)
if (LTF_LongExit)
strategy.exit(id="LTF Entry Exit", from_entry="LTF Entry",
stop=LTFLongStopPrice)
if (HTF_LongExit)
strategy.exit(id="HTF Entry Exit", from_entry="HTF Entry",
stop=HTFLongStopPrice)
规则是,只有HTF_LongEntry可以首先发生(IsFlat),然后,每当出现LTF_LongEntry / LTF_LongExit信号时,就会以与HTF_LongEntry不同的大小打开和关闭一个互补的long。
在HTF_LongEntry仍处于活动状态时,此LTF_LongEntry / LTF_LongExit可能发生X次(如何在此处管理金字塔?)。每个要由LTF_LongExit关闭的LTF_LongEntry,并且不能与LTF_LongEntry金字塔化(这意味着LTF_LongEntry必须在新的LTF_LongEntry之前由LTF_LongExit关闭)。
一旦HTF_LongEntry不再处于活动状态,就无法再生成LTF_LongEntry(LTF_LongExit也是如此)。最后,也要遵循此逻辑,然后是MA长度的交叉/交叉欠缺。
LTFLongStopPrice和HTFLongStopPrice均由尾随逻辑给出,我想找到一种方法,即如果首先满足退出条件,则可以通过止损单或市场订单退出HTF和LTF。我必须为每个策略创建两个退出策略吗?
我的问题是:
由于不遵守我的入境/出境顺序,我该怎么办?为什么基于MA交叉,为什么会这样呢?另外,在复制简短逻辑的工作代码时,我是否需要注意某些事项? (我只能同时做多(HTF + LTF)或做空(HTF + LTF))