Справочник MQL4

iEnvelopesOnArray

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

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

Параметры

array[]

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

total

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

ma_period

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

ma_method

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

ma_shift

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

deviation

[in]  Отклонение от основной линии в процентах.

mode

[in]  Индекс линии индикатора. Может быть любым из значений идентификаторов линий индикаторов (0 - MODE_MAIN, 1 - MODE_UPPER, 2 - MODE_LOWER).

shift

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

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

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

Примечание

В отличие от iEnvelopes(...), функция iEnvelopesOnArray не выбирает данные на основе названия инструмента, таймфрейма и используемой цены - ценовые данные должны быть подготовлены заранее. Расчет производится слева направо. Для организации доступа к элементам массива, как к таймсерии (то есть справа налево), необходимо использовать функцию ArraySetAsSeries().

Пример:

  double val=iEnvelopesOnArray(ExtBuffer,10,13,MODE_SMA,0,0.2,MODE_UPPER,0);