跳至内容

iMAOnArray

iMAOnArray

计算存储在数组中的数据中的移动平均指标,并返回其值。

double  iMAOnArray(
   double       array[],          // array with data
   int          total,            // number of elements
   int          ma_period,        // MA averaging period
   int          ma_shift,         // MA shift
   int          ma_method,        // MA averaging method
   int          shift             // shift
   );

参数

array[]

[in] 包含数据的数组。

total

[in] 要计算的项目数量。0表示整个数组。

ma_period

[in] 计算的移动平均周期。

ma_shift

[in] 移动平均的偏移量。指标线相对于图表的时间范围偏移。

ma_method

[in] 移动平均方法。可以是ENUM_MA_METHOD枚举值中的任何一个。

shift

[in] 从指标缓冲区中获取的值的索引(相对于当前条形图过去一定周期后的偏移量)。

返回值

计算存储在数组[]中的数据中的移动平均指标的数值。

注意

iMA(…)不同,iMAOnArray()函数不根据符号名称、时间范围或应用的价格来获取数据。价格数据必须预先准备。指标从左到右计算。要像处理序列数组一样访问数组元素(即从右到左),必须使用ArraySetAsSeries()函数。

示例:

double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
   double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
   double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
   double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
   //----
   if(maprev<maprevslow && macurrent>=macurrentslow)
     Alert("crossing up");
最后更新于