打印本文
关闭窗口
[求助]关于小周期引用大周期无未来算法
作者:金字塔 来源:cxh99.com 发布时间:2014年09月02日
咨询内容:
下面是董小球超版的例子,参照修改多次未果,求老师帮忙编写一下指标 趋势:EMA(((SLOPE(C,25)*20)+C),50),COLORFFFFFF,LINETHICK2; 在5秒周期上引用1分钟周期怎样编写无未来数据算法。
//利用下面算法可以解决在1分钟周期下引用5分钟MA均线产生未来数据的问题
//下面例子以在1分钟周期下引用5分钟周期下的MA5均线为例作为讲解,大家可以学习方法然后扩展到任意周期任意指标;
{
算法的原理是:利用MA均线的算法可知,将前4根5分钟K线的收盘价相加,然后再加上当前1分钟的收盘价,
取得这5根K线收盘价总和之后,除以5,即是当根1分钟K线收盘那一时间点所对应的5分钟K线下的MA5均线。
这个算法解决了下面具体问题,通常情况下,例如13.53分这根K线,在1分钟周期下引用5分钟周期数据时,引用的其实是引用的13.55分
这个时间点的5分钟数据,这种情况下将出现未来数据,系统把54分和55分这两分钟的数据也归到均线中去。
所以利用下面的算法将不再产生未来数据。
}
//取上4个五分钟整点K线的和,也就是求前4根5分钟K线收盘价的和;
M5:=IF(MOD(MINUTE,5)=0,CLOSE,0); SUMMIN5MA4:=REF(SUM(M5,20),MOD(MINUTE,5));
//把四个5分钟K线的收盘价和当前1分钟的收盘价相加,再除以5,也就得出了此刻所对应的5分钟下的MA5了;
//这里分两种情况,一种是对于5分钟整点位置的均线也就是相当于直接调用5分钟下的MA5;另一种是对于不
//能够被5整除的K线,我们应当按照把四个5分钟K线的收盘价和当前1分钟的收盘价相加再除以5的方法来计算;
IF MOD(MINUTE,5)>0 THEN BEGIN MIN5MA5A:=(SUMMIN5MA4+CLOSE)/5; END; ELSE BEGIN MIN5MA5B:="MA.MA1#MIN5"; END;
//JG就是我们所要求的无未来数据的5分钟下的MA5均价数值;
JG:IF(MOD(MINUTE,5)=0,MIN5MA5B,MIN5MA5A);
//我们来跨周期调用一下5分钟下的MA5均线看看是否相同;如果“MIN5MA5A”始终与“MIN5MA5对比”相等,则目的达到;
MIN5MA5对比:"MA.MA1#MIN5";
金字塔客服:
基本上是做不出来的,就是做出来也很繁琐,没有什么实用价值,还是用stkindi引用前一周期1分钟结果最简单。
用户回复:
发了一遍又一遍,我们也说了一遍又一遍,咋就不肯放弃?
因为MA简单所以才能那样搞,复杂的就不能照着改
[此贴子已经被作者于2013/11/15 9:12:56编辑过]
打印本文
关闭窗口