老师,
代码如下:
//中间变量
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
//交易条件
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
//注意交易系统先开后平的原则
平仓和反手信号会同时出现,然后开仓指令会同时发出
你理解错意思了,“先平后开”,是代码的书写原则,这里一点都没有体现出下单速度,也没有体现出要等平仓完成再去开仓
平空:SELLSHORT(开多平空条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
按照这样的代码顺序,你去模拟交易测试一下,看看是不是同时发出平仓和开仓的