在MetaTrader 4(MT4)平台的MQL4语言中,iMAOnArray()
函数是一种十分实用的函数,它用于在一个数据数组上计算移动平均线。该函数允许用户根据自己的需要设置移动平均线的周期、偏移、平均方法等参数,实现了较大的灵活性。现在让我们深入了解一下这个函数。
iMAOnArray()
函数的结构如下:
double iMAOnArray(
double array[], // 包含数据的数组
int total, // 元素数量
int ma_period, // MA 平均周期
int ma_shift, // MA 偏移
int ma_method, // MA 平均方法
int shift // 偏移
);
其中参数说明:
array[]
:这是一个双精度型(double)的数组,用于存储你希望进行计算的数据。total
:这是一个整型(int)变量,表示你希望参与计算的数组元素的数量。ma_period
:这是一个整型变量,表示移动平均线的计算周期。例如,如果设置为20,则计算过去20个数据点的移动平均值。ma_shift
:这是一个整型变量,用于设置移动平均线的偏移。如果设置为正值,那么移动平均线将向前(图形的左边)偏移;如果设置为负值,则向后(图形的右边)偏移。ma_method
:这是一个整型变量,用于设置移动平均线的计算方法。MQL4预定义了以下几种计算方法:MODE_SMA(简单移动平均)、MODE_EMA(指数移动平均)、MODE_SMMA(平滑移动平均)和MODE_LWMA(线性权重移动平均)。shift
:这是一个整型变量,表示你希望获取哪一根K线上的移动平均值。0表示当前最新的K线,然后从右往左分别是1、2、3、4…。
举例来说,我们有一个包含10个数据点的数组,我们希望在这个数组上计算5个周期的简单移动平均线,并获取当前最新的移动平均值。代码如下:
double myArray[10] = {1,2,3,4,5,6,7,8,9,10};
double myMA = iMAOnArray(myArray, 10, 5, 0, MODE_SMA, 0);
在这个示例中,我们用iMAOnArray()函数计算的是这五个数据 {6,7,8,9,10} 的简单移动平均值,所以应该是这五个数的总和(6+7+8+9+10)除以5(平均周期的长度),结果应该是8.0。
总的来说,使用`iMAOnArray()`函数,可以非常方便地在自定义的数据数组上计算移动平均线,为交易决策提供重要的参考信息。