以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 如何将开仓和平仓语句分成两天执行? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=140819) |
-- 作者:CQ半兽人 -- 发布时间:2016/10/12 19:04:29 -- 如何将开仓和平仓语句分成两天执行? 问题: 如何将开仓和平仓语句分成两天执行? 下面的程序是30分钟KDJ金叉买入,30分钟KDJ死叉卖出的程序。但是,有时候,30分钟金叉和死叉会落入同一天,请问,这种情况下,怎样将平仓语句设定到以第二天开盘半小时收盘价执行?
KDJ系统
//适用模式:“走完一根K线以后” //若用户模式选为“固定时间间隔”,请将"交易条件"中的CLOSE改为OPEN,避免信号闪烁。
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:=SMA(RSV,3,1); D:=SMA(K,3,1); J:=3*K-2*D; //KDJ的计算公式
kc1:=
cross(k,d); //30分钟低位金叉开仓,d小于60。 pc1:=cross(d,k); //30分钟死叉平仓。
开多:buy(kc1 and d<60 and holding=0,100%,MARKET); 平多:sell(pc1 and holding>0,0,MARKET); 资产:asset,noaxis,COLORCYAN,linethick0; //linethick为指定线宽。
//K1:STKINDI(\'\',\'KDJ.K\',0,6); //跨周期调用日线中的K值。’’表示当前品种,KDJ.K 表示引用KDJ中K值,0表示交易日模式,6表示是日线周期。 //D1:STKINDI(\'\',\'KDJ.
D\',0,6); //跨周期调用日线中的D值。’’表示当前品种,KDJ.K 表示引用KDJ中D值,0表示交易日模式,6表示是日线周期。 |
-- 作者:jinzhe -- 发布时间:2016/10/13 9:12:28 -- 如果是30分钟周期要在第二天第一根k线平的话
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:=SMA(RSV,3,1); D:=SMA(K,3,1); J:=3*K-2*D; //KDJ的计算公式 kc1:= cross(k,d); //30分钟低位金叉开仓,d小于60。 pc1:=cross(d,k); //30分钟死叉平仓。 开多:buy(kc1 and d<60 and holding=0,100%,MARKET); 平多:sell(pc1 and holding>0 and enterbars>0 and todaybar=1,0,thisclose); 资产:asset,noaxis,COLORCYAN,linethick0; [此贴子已经被作者于2016-10-14 9:03:00编辑过]
|
-- 作者:CQ半兽人 -- 发布时间:2016/10/13 20:56:49 -- 非常感谢。非常感谢。 |