想像以下案例重新写EM函数,在4秒周期调用1分钟的EMA(close,9),请问管理员,要怎么样才能不会使用到未来数据呢?
======================================================
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:
H1:EMA(C,9);
交易系统:
IF MOD(MINUTE,1)>0 THEN BEGIN
SUM_MIN60HI1:=(("指标1.H1##MIN1"*8)+2*C)/10;
END
H1:IF(MOD(MINUTE,1)=0,"指标1.H1#MIN1",SUM_MIN60HI1);