两条均线MA(C,25) MA(C,50) 金叉开多,死叉反手开空,如果是盈利开仓还是一手,如果亏损反手加仓一手,在连续亏损在继续加仓一手,直到盈利平仓,重新开仓一手。暂时就写出了一个反手模型。
MA1:MA(C,25);
MA2:MA(C,50);
IF CROSS(MA1,MA2) THEN BEGIN;
SELLSHORT(1,5,MARKET);//平空
BUY(1,5,MARKET);//开多
END;
IF CROSS(MA2,MA1) THEN BEGIN;
SELL(1,5,MARKET);//平多
BUYSHORT(1,5,MARKET);//开空
END;
if then
MA1:MA(C,25);
MA2:MA(C,50);
IF CROSS(MA1,MA2) THEN BEGIN;
SELLSHORT(1,holding,MARKET);//平空
BUY(NUMPROFIT( 1)>0,1,MARKET);//开多
BUY(NUMPROFIT( 1)<0,ENTERVOL+1,MARKET);//开多
END;
IF CROSS(MA2,MA1) THEN BEGIN;
SELL(1,holding,MARKET);//平多
BUYshort(NUMPROFIT( 1)>0,1,MARKET);//开多
BUYshort(NUMPROFIT( 1)<0,ENTERVOL+1,MARKET);//开多
END;
if then
MA1:MA(C,25);
MA2:MA(C,50);
IF CROSS(MA1,MA2) THEN BEGIN;
SELLSHORT(1,holding,MARKET);//平空
BUY(NUMPROFIT( 1)>0,1,MARKET);//开多
BUY(NUMPROFIT( 1)<0,ENTERVOL+1,MARKET);//开多
END;
IF CROSS(MA2,MA1) THEN BEGIN;
SELL(1,holding,MARKET);//平多
BUYshort(NUMPROFIT( 1)>0,1,MARKET);//开多
BUYshort(NUMPROFIT( 1)<0,ENTERVOL+1,MARKET);//开多
END;
您好,用ENTERVOL来滚动叠加单量的写法学习了!但没有考虑到首次开仓的问题,不妨这样修改下:
MA1:MA(C,25);
MA2:MA(C,50);
IF CROSS(MA1,MA2) THEN BEGIN;
SELLSHORT(1,holding,MARKET);//平空
BUY(NUMPROFIT( 1)>=0,1,MARKET);//开多
BUY(NUMPROFIT( 1)<=0,ENTERVOL+1,MARKET);//开多
END;
IF CROSS(MA2,MA1) THEN BEGIN;
SELL(1,holding,MARKET);//平多
BUYshort(NUMPROFIT( 1)>=0,1,MARKET);//开多
BUYshort(NUMPROFIT( 1)<=0,ENTERVOL+1,MARKET);//开多
END;