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;
//注意交易系统先开后平的原则
这个公式应该是在信号出现后,按市价发出开平仓的指令,请前辈帮忙改为按信号发出的收盘价发指令。谢谢。
另外,这里写//注意交易系统先开后平的原则,不是应该先平后开吗?如何修改?谢谢
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
开多平空条件:=CROSS(MA1,MA2);
开空平多条件:=CROSS(MA2,MA1);
平空:SELLSHORT(开多平空条件,手数,limitr,close);
开多:BUY(开多平空条件,手数,limitr,close);
平多:SELL(开空平多条件,手数,limitr,close);
开空:BUYSHORT(开空平多条件,手数,limitr,close);
是的先平后开
不是,为了能够及时开平仓,在收盘价的基础上,加一个价位发出指令,保证能够成交。
这4句这样改:
平空:SELLSHORT(开多平空条件,手数,limitr,close+mindiff);
开多:BUY(开多平空条件,手数,limitr,close+mindiff);
平多:SELL(开空平多条件,手数,limitr,close-mindiff);
开空:BUYSHORT(开空平多条件,手数,limitr,close-mindiff);
[此贴子已经被作者于2016-8-3 8:53:57编辑过]