Rss & SiteMap

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

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

标题:请求编写,自编的信号无法显示

1楼
shawaverage 发表于:2015/10/10 1:36:14
思路如下,就是引用5分钟和60分钟的KDJ的k和d,
当60分钟的kd有金叉时候,就开始执行5分钟的kd金叉做多,只做多,平仓条件为5分钟kd死叉。同理,死叉的系统也是类似。
简单的说,就是当长周期满足金叉时候,就启动短周期kd金叉做多系统,如果长周期满足死叉时候,就停止运行短周期kd金叉做多系统,而是启动运行短周期kd死叉做空系统。



我自己编写代码如下,但是信号却不是我想要的效果,比如套用股指上面,本来在10月9日60分钟图上,已有金叉,那么短周期5分钟周期也是执行金叉做多系统,但是只显示了一个做多的信号,不是想要的结果,想要的结果应该是短周期5分钟上面kd金叉条件满足后的那几个做多的信号。应该如何编写会比较合理简单有效,请求帮忙下。

X:=STKINDI(stklabel,'KDJ.K',0,5);//引用60分钟的kdj的k值
Y:=STKINDI(stklabel,'KDJ.D',0,5);//引用60分钟的kdj的d值
XY:=CROSS(X,Y);
XY0:=CROSS(Y,X);

X1:=STKINDI(stklabel,'KDJ.K',0,2);//引用5分钟的kdj的k值
Y1:=STKINDI(stklabel,'KDJ.D',0,2);//引用5分钟的kdj的d值
XY1:=CROSS(X1,Y1);
XY2:=CROSS(Y1,X1);

KD0:=XY1 ;//开多条件
PD0:=XY2; //平多条件

IF XY THEN BEGIN

KD:BUY(KD0 and holding=0,1,THISCLOSE);
PD:SELL(PD0 and holding,1,THISCLOSE);

END

KK0:=XY1 ;//开空条件
PK0:=XY2; //平空条件

IF XY0 THEN BEGIN

KK:SELLSHORT(KK0 and holding=0,1,THISCLOSE);
PK:BUYSHORT(PK0 and holding,1,THISCLOSE);

END




2楼
jinzhe 发表于:2015/10/10 8:49:08

variable:bj=0;

....这里引用5分钟和60分钟的金叉

 

if 60分钟金叉 then bj:=1;

if 60分钟死叉 then bj:=2;

 

if bj=1 and 5分钟金叉 then begin..........

 

end

 

if bj=2 and 5分钟死叉 then begin........

 

end

 

把你的5分钟金叉死叉策略写进上面用省略号省略的地方

共2 条记录, 每页显示 10 条, 页签: [1]


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