-- 作者:bob
-- 发布时间:2012/12/25 21:26:21
-- 老师帮忙看下小问题...
老师帮我看一下下面的模型是什么毛病?1.MA5上穿MA20 平空开多 MA5下穿MA20 平多 为什么加载了只有空头信号了?2.止盈和止损为什么都不出现,是语句有问题,还是我的参数不合理?
INPUT:m1(5,0,20,1),m2(20,0,20,1),m3(-2,-4,0,1),m4(60,0,100,1); MA1:MA(CLOSE,M1);// MA2:MA(CLOSE,M2); variable:maxprofit=0;//有仓位时最大获利幅度 VARIABLE:maxprofit1=0; //开仓 IF HOLDING=0 AND CROSS(MA1,ma2) THEN BEGIN BUY(1,1); maxprofit:=0; END //平仓 SELL(HOLDING>0 AND cross(ma2,MA1),0); //判断当前持仓状态下的最大盈利 VARIABLE:win:=0; VARIABLE:win2:=0; if holding > 0 and enterbars > 0 then begin win:=(c-enterprice)/enterprice*100;//% if win > maxprofit then maxprofit:=win; //记录最大盈利 win2:=(maxprofit-win); //最大盈利后的回调幅度 end //出现浮动亏损比如2%平仓 多单止损:SELL(win < M3,0); //出现最高盈利后,回落到盈利的60%平仓出场 多单止赢:SELL(win2 >=M4 and openprofit >= 0, 0); IF HOLDING=0 AND CROSS(ma2,MA1) THEN BEGIN BUYSHORT(1,1); maxprofit1:=0; END //平仓 SELLSHORT(HOLDING<0 AND CROSS(ma1,ma2) ,0); //判断当前持仓状态下的最大盈利 VARIABLE:win1:=0; VARIABLE:win3:=0; if holding < 0 and enterbars > 0 then begin win1:=(enterprice-c)/enterprice*100; if win1 > maxprofit1 then maxprofit1:=win1; //记录最大盈利 win3:=(maxprofit1-win1); //最大盈利后的回调幅度 end //出现浮动亏损比如2%平仓 空单止损:SELLSHORT(win < M3,0); //出现最高盈利后,回落到盈利的60%平仓出场 空单止赢:SELLSHORT(win2 >=M4 and openprofit >= 0, 0);
|