Русский

Справочник MQL4 Технические индикаторы iMAOnArray

iMAOnArray

Возвращает значение технического индикатора Moving Average, рассчитанного на данных, хранящихся в массиве.

double  iMAOnArray(
   double       array[],          // массив
   int          total,            // количество элементов
   int          ma_period,        // период
   int          ma_shift,         // сдвиг средней
   int          ma_method,        // метод усреднения
   int          shift             // сдвиг
   );

Параметры

array[]

[in]  Массив с данными.

total

[in]  Количество элементов для вычисления. 0 означает все элементы массива.

ma_period

[in]  Период усреднения для вычисления индикатора.

ma_shift

[in]  Сдвиг индикатора относительно ценового графика.

ma_method

[in]  Метод усреднения. Может быть любым из значений перечисления ENUM_MA_METHOD.

shift

[in]  Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Возвращаемое значение

Значение технического индикатора Moving Average, рассчитанного на данных, хранящихся в массиве array[].

Примечание

В отличие от 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");