Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:如何将开仓和平仓语句分成两天执行?

1楼
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 表示引用KDJK值,0表示交易日模式,6表示是日线周期。

//D1:STKINDI('','KDJ. D',0,6);

//跨周期调用日线中的D值。’’表示当前品种,KDJ.K 表示引用KDJD值,0表示交易日模式,6表示是日线周期。

2楼
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编辑过]
3楼
CQ半兽人 发表于:2016/10/13 20:56:49
非常感谢。非常感谢。
共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.00000 s, 3 queries.