欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请求编写,自编的信号无法显示

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2043人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
shawaverage
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:50 积分:56 威望:0 精华:0 注册:2011/7/19 12:16:48
请求编写,自编的信号无法显示  发帖心情 Post By:2015/10/10 1:36:14    Post IP:120.33.87.233[显示全部帖子]

思路如下,就是引用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





 回到顶部