//中间变量
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;
//注意交易系统先开后平的原则 你好,还是弄不好,假设30个周期内不开仓,但平仓不影响,希望示唤一下,谢谢
如果平仓不影响,那么这个就没有修改的必要,这里实现的功能是反手开平仓,开仓之前必然是先平仓的
比瑜30个周期内不开新仓,但是原有仓位还是按指标平仓,能这样想吗。
1,如果开仓有限制,则代码不会进行平仓反手
VARIABLE:A=0;
//中间变量
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
//交易条件
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
IF A=0 THEN
BEGIN
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
A:=1;
END
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 AND ENTERBARS>=30,手数,MARKET);
开空:BUYSHORT(开空平多条件 AND ENTERBARS>=30,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
[此贴子已经被作者于2014/6/13 16:17:31编辑过]
VARIABLE:A=0;
//中间变量
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
//交易条件
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
IF A=0 THEN
BEGIN
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
A:=1;
END
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 AND ENTERBARS>=30,手数,MARKET);
开空:BUYSHORT(开空平多条件 AND ENTERBARS>=30,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
你好请问VARIABLE:A=0;(A=0;)的A显示重复,//交易系统的平空,平多,开多,开空,都会显示重复