以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  程序化交易实盘俱乐部  (http://222.73.7.161/bbs/list.asp?boardid=9)
----  有偿编写跨周期指标求助  (http://222.73.7.161/bbs/dispbbs.asp?boardid=9&id=87005)

--  作者:yuanman
--  发布时间:2015/11/5 17:14:26
--  有偿编写跨周期指标求助
求助高手;5分钟周期调用30分钟和60分钟周期KDJ指标的交叉信号,出现信号消失或漂移现象。求助在不改变引用大周期KDJ交叉信号位置的前提下,解决信号消失或漂移问题,(在代码里面加一个-1进行偏移引用。比如:stkindi(\'\',\'ma.ma1\',0,6,-1),这种就不需要了)。对帮助解决问题的,酬谢200元。


--  作者:hksl1023
--  发布时间:2015/11/5 19:49:53
--  

可以尝试数据重构


--  作者:deni977
--  发布时间:2015/11/5 23:36:57
--  
T:=30;
TM:=MOD(intpart(TIME/100)-(INTPART( TIME/10000)) *100,T),nodraw;
KDJ30:VALUEWHEN(TM=0,STKINDI(STKLABLE,\'KDJ.KDJ\',0 ,4,  0));

--  作者:yuanman
--  发布时间:2015/11/6 9:39:32
--  
感谢两位高手的帮助,能否请详细说明一下如何进行数据重构。和下面代码的详细意思。谢谢
T:=30;
TM:=MOD(intpart(TIME/100)-(INTPART( TIME/10000)) *100,T),nodraw; 
KDJ30:VALUEWHEN(TM=0,STKINDI(STKLABLE,\'KDJ.KDJ\',0 ,4,  0));

--  作者:deni977
--  发布时间:2015/11/7 1:46:12
--  
T:=30;//取30分钟

TM:=MOD(intpart(TIME/100)-(INTPART( TIME/10000)) *100,T),nodraw; //当期周期的分钟数,模30
KDJ30:VALUEWHEN(TM=0,STKINDI(STKLABLE,\'KDJ.KDJ\',0 ,4,  0));  //在模30等于0的时候,也就是30分钟周期结束的时候,调用KDJ的值,如果30分钟没有结束,取值上一次的值

--  作者:deni977
--  发布时间:2015/11/7 1:47:07
--  
回复不是追求有偿回报,但愿共同探讨、一起进步。
--  作者:yuanman
--  发布时间:2015/11/7 13:33:55
--  
看来我遇到好心的高手了。版主都给以奖励一定是高手,我的问题看来是可以解决了!万分感激!能否加QQ;457149835。方便详细请教?不然还不知道该如何修改自己的模型。谢谢!
T:=30;//取30分钟
TM:=MOD(intpart(TIME/100)-(INTPART( TIME/10000)) *100,T),nodraw; //当期周期的分钟数,模30
KDJ30:VALUEWHEN(TM=0,STKINDI(STKLABLE,\'KDJ.KDJ\',0 ,4,  0));  //在模30等于0的时候,也就是30分钟周期结束的时候,调用KDJ的值,如果30分钟没有结束,取值上一次的值


--  作者:deni977
--  发布时间:2015/11/8 11:46:28
--  
谈不上高手,多交流
--  作者:百湛必胜客
--  发布时间:2015/11/8 12:56:26
--  
这个代码还是有遗憾,最后一个30分钟BAR的kdj不能动态同步
--  作者:百湛必胜客
--  发布时间:2015/11/8 13:05:54
--  
intpart(TIME/100)-(INTPART( TIME/10000)) *100 这个求的值貌似没意义