Firescnpt老师您好,多次在编程上得到您的帮助,解决了我很长时间以来的一些难题,真诚的向您表示感谢!今天还要麻烦老师给于帮助,还是跨周期引用,15分钟引用60分钟MA数据,问题还是出现信号消失和漂移。我不想使用STKINDI('','MA.MA1',0,5,—1);这种方式解决问题,论坛上也有 阿火,董小球的编写方法,因为水平有限没学会,经过前几次您的帮助编写,知道您是绝对的编程高手,再次请您帮助解决难题。谢谢!
KMA5:=STKINDI('','MA.MA1',0,5);
KMA10:=STKINDI('','MA.MA2',0,5);
CCA:=CROSS(KMA5,KMA10);
CCB:=CROSS(KMA10,KMA5);
IF CCA THEN BEGIN
SELLSHORT(1,0);
BUY(HOLDING=0,ORDVOL);
END
IF CCB THEN BEGIN
SELL(1,0);
BUYSHORT(HOLDING=0,ORDVOL);
END
STKINDI('','MA.MA1',0,5,—1); 这种应该是已经避免了闪烁了。 你使用的时候还是出现闪烁情况了吗?代码是上面你发布的代码?
不用stk函数无法跨周期引用的。上次给你的代码 也会闪烁吗?
回老师,您上次帮我编写的代码不会
闪烁,但还是有一部分信号会出现消失和漂移,消失的现象大都出现在上一根K线上出信号后,下一根K线就出相反信号的情况下发生。信号漂移的情况也时有发生,都是在临收盘时漂移到前一根K线上,消失和漂移的原因感觉就是源于跨周期引用造成的,所以才想请老师解决帮助解决上面的问题。谢谢老师!!
并没有其他方式了。 不使用跨周期没办法实现你的需求的了。 建议还是回到上次那个代码,我当时没有测试到信号闪烁的。
老师上次帮助编写的代码始终在用,还要请老师指点一下如果调整周期;现在是在30分钟周期引用60分钟周期收盘时的MA1数据,如果改为在5分钟周期引用15分钟周期收盘时的MA1数据要如何修改?谢谢老师!
VARIABLE:S:='';STR1:=NUMTOSTR(TIME,0);//这部分是整点判断的代码
STR2:=STRRIGHT(STR1 ,4 );
S:=(STR2='0000');
IF S THEN BEGIN
RESULT1:STKINDI('','MA.MA1',0,5,0);
END
BUY1: S AND RESULT1 >REF(RESULT1,1) ;
我看了董小球的那个处理思路。 你是要按照那个思路处理吗?
老师;我有了新的思路,感觉可以解决问题,请您帮我编写一下;每到整点时开始计算,(10点,11点,12点。。。。操作周期是30分钟,30分钟K线的数据不计算)当根K线收盘价加上前第3根,第5根,第7根,第9根收盘价之和除5。这个数就是我要在30分钟取的60分钟收盘时的MA1的数据。请老师看看这个思路是否可行。如可行的话,麻烦老师帮助编写。谢谢老师!