请教

 

我想求当前CLOSE和二日前OPEN的平均价的10日平均线,MT4中可以轻松得出,在MT5中很困难,请问我该怎么写呢?

 

先获取close和open数据,:

int count;// number of elements to copy
double Open[];
ArraySetAsSeries(Open,true);
CopyOpen(_Symbol,_Period,0,count,Open);
double Close[];  
ArraySetAsSeries(Close,true);
CopyClose(_Symbol,_Period,0,count,Close);
double avge[];
ArraySetAsSeries(avge,true);
avge[0] = (Opne[2]+Close[0])/2; //仅作示例,在指标中请循环赋值

 再用MovingAverages.mqh中的函数 ,如:

int ExponentialMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
                          const int period,const double& price[],double& buffer[])

 buffer[]即为存储close和open的平均价的数组。

 
luenbo:

先获取close和open数据,:

 再用MovingAverages.mqh中的函数 ,如:

 buffer[]即为存储close和open的平均价的数组。

ExponentialMAOnBuffer不熟悉,在MT5文档中没见到,为什么用MovingAverages.mqh?用ima()不行吗?
 
hyj8134:

IMA主要用于计算7种价格的移动平均。

MovingAverages.mqh(MT4中也有)中的 ***MAOnBuffer 函数可以计算任意时间序列的移动平均,非常方便。