最新公告
  • 欢迎您光临九毛八公式指标网www.9m8.cn,本站全新改版试运行,期间内容全部免费,欢迎下载!欢迎加入本站VIP
  • 1分钟下取无未来数据的5分钟MA5均线算法实例 (金字塔软件 源码 贴图)

    正文概述    2024-04-14 10:59:36  

    鉴于许多人需要夸周期引用数据,尤其是小周期引用大周期的数据或者指标者居多,而通常情况下,这种小引大的方式容易出现未来数据,从而影响计算结果和条件判断,因此,我给出下面算法,大家可以验证一下,是否可以解决未来数据问题。


    //利用下面算法可以解决在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

    1分钟下取无未来数据的5分钟MA5均线算法实例 (金字塔软件 源码 贴图)

    九毛八公式指标,一个优质的公式指标平台!
    九毛八公式指标 » 1分钟下取无未来数据的5分钟MA5均线算法实例 (金字塔软件 源码 贴图) 加入收藏