問題:
如何將開倉和平倉語句分成兩天執行?
下面的程序是30分鐘KDJ金叉買入,30分鐘KDJ死叉賣出的程序。但是,有時候,30分鐘金叉和死叉會落入同一天,請問,這種情況下,怎樣將平倉語句設定到以第二天開盤半小時收盤價執行?
//適用模式:“走完一根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表示是日線周期。
如果是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編輯過]