交易系统1与交易系统2只是顺序调换,我用交易系统1,交易明细显示6月6日平多之后,6月6日马上开空;如果是用交易系统2,交易明细

此主题相关图片如下:macd buy sell strategy 开多在前.jpg


此主题相关图片如下:macd buy sell strategy 开空在前.jpg

显示6月6日平多之后,7月9日开多,我希望在交易系统的最后一句结束后能跳回第一句,比如在交易系统1中,平空结束后跳回第一句开多,马上开多,请问要如何写?
//交易系统1
开多 : BUY(买入条件,0,MARKET);
平多 : SELL(卖出条件,0,MARKET);
开空 : BUYSHORT (卖出条件,0,MARKET);
平空 : SELLSHORT(买入条件,0,MARKET);
//交易系统2
开空 : BUYSHORT (卖出条件,0,MARKET);
平空 : SELLSHORT(买入条件,0,MARKET);
开多 : BUY(买入条件,0,MARKET);
平多 : SELL(卖出条件,0,MARKET);
写的顺不一样,判断起来的先后顺序就不一样
策略1平多在开空之前,那么当根k线的计算顺序就是平多之后开空条件满足开仓
但是策略2在平多写在开多之后,那么当根k线计算完之后的结果是平仓之前条件满足但是因为还没平仓导致不能开仓
"但是策略2在平多写在开多之后,那么当根k线计算完之后的结果是平仓之前条件满足但是因为还没平仓导致不能开仓"
先开后平,先开多,然后再平多,这有什么问题吗?不懂您的意思
假设现在已经开多仓,但还没平多,这时候不能开空仓吗?
开仓语句
平仓语句
当平仓语句执行,那么就说明开仓条件已经执行过了。可以推断出在执行开仓语句时条件不成立,就算是平仓之后开仓条件判断成立,那么也没用了,因为之前已经计算过了,平仓语句执行之后不会再回去再执行开仓语句
“当平仓语句执行,那么就说明开仓条件已经执行过了。可以推断出在执行开仓语句时条件不成立,” 不明白您的意思? 既然开仓条件已经执行过了,那就表示开仓语句条件成立,才会执行,不是吗?
不是,我这里的执行表示的是已经被计算判断运行过,而不是下单交易
开仓语句
平仓语句
当程序运行到平仓语句的时候,那么这个时候表明开仓语句已经运行过,如果之前没有下单,那么说明开仓语句运行过后条件不成立。
这样写,结果只会是: 开仓---平仓
不会是:平仓 --- 开仓