variable:n=0; if 开仓条件 and holding=0 and n=0 then begin 下单语句; n:=1; end
if time=closetime(0) then n:=0;
思路是用全局变量记录开仓动作,n=1之后就算满足条件也不下单 //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //定义参数 INPUT:N1(5,1,100,10),N2(10,1,120,10),N3(20,1,200,20),N4(60,1,200,20); //绘制四条均线 MA1:MA(C,N1); MA2:MA(C,N2); MA3:MA(C,N3); MA4:MA(C,N4); //准备下单条件,以MA2上穿MA1作为开多条件,以MA1下破MA2作为平多条件。 COND1:=CROSS(MA1,MA2); COND2:=CROSS(MA2,MA1); //下单 平空仓:SELLSHORT( COND1,2,MARKET ); 平多仓:SELL(COND2,2,MARKET); 开多仓:BUY(COND1,2,MARKET); //增仓:BUY(CROSS(MA4,MA1),1,MARKET); 开空仓:BUYSHORT(COND2,2,MARKET); //其他 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY @超级版主 进入几次没有弄好,帮我改一下,谢谢了! 好像很复杂 这个会不会 简单点
|
VARIABLE:n=0,m=0;
//定义参数
INPUT:N1(5,1,100,10),N2(10,1,120,10),N3(20,1,200,20),N4(60,1,200,20);
//绘制四条均线
MA1:MA(C,N1);
MA2:MA(C,N2);
MA3:MA(C,N3);
MA4:MA(C,N4);
//准备下单条件,以MA2上穿MA1作为开多条件,以MA1下破MA2作为平多条件。
COND1:=CROSS(MA1,MA2);
COND2:=CROSS(MA2,MA1);
//下单
if COND1 and holding=0 then begin
平空仓:SELLSHORT( 1,2,MARKET );
end
if COND2 and holding=0 then begin
平多仓:SELL(1,2,MARKET);
end
if COND1 and holding=0 and n<2 then begin //多头开仓次数,几次就把2改成几
开多仓:BUY(1,2,MARKET);
n:=n+1;
end
if COND2 and holding=0 and m<2 then begin//空头开仓次数,几次就把2改成几
开空仓:BUYSHORT(1,2,MARKET);
m:=m+1;
end
//其他
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY