//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//适用模式:“走完一根K线以后”
//若用户模式选为“固定时间间隔”,请将"交易条件"中的CLOSE改为OPEN,避免信号闪烁。
//
//中间变量
MA1:=MA(CLOSE,10);
MA2:=MA(CLOSE,40);
手数:=1;
//交易条件
平多条件:=CROSS(MA2,MA1);//开空平多条件
KD1:=MA2>REF(MA2,1) and HOLDING=0;
KD2:=c>ref(hhv(c,10),1) and HOLDING=0;;
//全局变量/
VARIABLE:u1=0;
if kd1 and u1=0 and holding=0 then begin
buy(kd1 and HOLDING=0,1,THISCLOSE);
u1:=1;
end
if kd2 and u1=0 and holding=0 then begin
buy(kd2 and HOLDING=0,1,THISCLOSE);
u1:=2;
end
//交易系统
平多:SELL(平多条件,手数,MARKET);u1=0;
开多:BUY(kd1 or kd2,手数,MARKET);
kk:u1,LINETHICK0;
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
//注意交易系统先开后平的原则
老师,这公式哪里有问题呢,我本意想用U1记录不同的开多条件的,U1的值不对,不能实现我的目的
平仓时候重置 下面这种方式才行。
if 平多条件 and holding>0 then
begin
平多:SELL(平多条件,手数,MARKET);
u1:=0;
end