以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 用U1记录不同的开多条件 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=175487) |
-- 作者:AK之王 -- 发布时间:2020/4/12 17:01:15 -- 用U1记录不同的开多条件 //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //适用模式:“走完一根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的值不对,不能实现我的目的 |
-- 作者:FireScript -- 发布时间:2020/4/13 9:00:03 -- 平仓时候重置 下面这种方式才行。 if 平多条件 and holding>0 then begin 平多:SELL(平多条件,手数,MARKET); u1:=0; end |