Значения индикаторов

Группа функций, предназначенных для расчета стандартных и пользовательских индикаторов.

Для того, чтобы эксперт (или любая MQL4-программа) мог получить значение какого-либо индикатора, присутствие данного индикатора на текущем графике необязательно. Запрошенный индикатор будет загружен и рассчитан в потоке вызвавшего его модуля.

Любой индикатор может быть рассчитан на данных не только текущего графика, но и на данных любого доступного символа/периода. Если запрашивается информация с другого графика (название инструмента и/или значение таймфрейма отличаются от текущих), то возможна ситуация, что в клиентском терминале не открыт соответствующий график и необходимые данные должны быть запрошены у сервера. В этом случае в переменную last_error будет помещена ошибка ERR_HISTORY_WILL_UPDATED (4066 — запрошенные исторические данные в состоянии обновления) и необходимо через некоторое время повторить попытку запроса (см. пример ArrayCopySeries()).

iAC

double iAC(string symbol, int timeframe, int shift)

Расчет осциллятора Accelerator/Decelerator.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double result=iAC(NULL, 0, 1);

 

 iAD

double iAD(string symbol, int timeframe, int shift)

Расчет индикатора Accumulation/Distribution.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double result=iAD(NULL, 0, 1);

 

iAlligator

double iAlligator( string symbol, int timeframe, int jaw_period, int jaw_shift, int teeth_period, int teeth_shift, int lips_period, int lips_shift, int ma_method, int applied_price, int mode, int shift)

Возвращает значение индикатора Alligator.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
jaw_period — Период усреднения синей линии (челюсти аллигатора).
jaw_shift — Смещение синей линии относительно графика цены.
teeth_period — Период усреднения красной линии (зубов аллигатора).
teeth_shift — Смещение красной линии относительно графика цены.
lips_period — Период усреднения зеленой линии (губ аллигатора).
lips_shift — Смещение зеленой линии относительно графика цены.
ma_method — Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
applied_price — Используемая цена. Может быть любой из ценовых констант.
mode — Источник данных, идентификатор одной из линий индикатора. Mожет быть любой из следующих величин:
MODE_GATORJAW — синяя линия (линия челюсти аллигатора),
MODE_GATORTEETH — красная линия (линия зубов аллигатора),
MODE_GATORLIPS — зеленая линия (линия губ аллигатора).
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double ali_value = iAlligator(Symbol(), 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, 1);

 

iADX

double iADX( string symbol, int timeframe, int period, int applied_price, int mode, int shift)

Расчет Average Directional Movement Index.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индекса.
applied_price — Используемая цена. Может быть любой из ценовых констант.
mode — Индекс линии индикатора. Может быть любым из перечисленных идентификаторов линии индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>iADX(NULL,0,14,PRICE_HIGH,MODE_PLUSDI,0)) 
   return(0);

 

iATR

double iATR( string symbol, int timeframe, int period, int shift)

Расчет индикатора Average True Range.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индикатора.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iATR(NULL,0,12,0)>iATR(NULL,0,20,0))
   return(0);

 

iAO

double iAO( string symbol, int timeframe, int shift)

Расчет Awesome oscillator.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iAO(NULL, 0, 2);

 

iBearsPower

double iBearsPower( string symbol, int timeframe, int period, int applied_price, int shift)

Расчет индикатора Bears Power.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индикатора.
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);

 

iBands

double iBands( string symbol, int timeframe, int period, int deviation, int bands_shift, int applied_price, int mode, int shift)

Расчет индикатора Bollinger Bands.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения основной линии индикатора.
deviation — Отклонение от основной линии.
bands_shift — Сдвиг индикатора относительно ценового графика.
applied_price — Используемая цена. Может быть любой из ценовых констант.
mode — Индекс линии индикатора. Может быть любым из идентификаторов линий индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iBands(NULL,0,20,2,0,PRICE_LOW,MODE_LOWER,0) > Low[0])
   return(0);

 

iBandsOnArray

double iBandsOnArray( double array[], int total, int period, int deviation, int bands_shift, int mode, int shift)

Расчет индикатора Bollinger Bands на данных, хранящихся в массиве. В отличие от iBands(…) функция iBandsOnArray не выбирает данные на основе названия инструмента, таймфрейма и используемой цены — ценовые данные должны быть подготовлены заранее. Расчет производится слева направо. Для организации доступа к элементам массива, как к таймсерии (то есть справа налево), необходимо использовать функцию ArraySetAsSeries.

Параметры:

array[] — Массив с данными.
total — Количество элементов для вычисления. 0 означает все элементы массива.
period — Период усреднения основной линии индикатора.
deviation — Отклонение от основной линии.
bands_shift — Сдвиг индикатора относительно ценового графика.
mode — Индекс линии индикатора. Может быть любым из идентификаторов линий индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iBandsOnArray(ExtBuffer,total,2,0,0,MODE_LOWER,0)>Low[0])
   return(0);

 

iBullsPower

double iBullsPower( string symbol, int timeframe, int period, int applied_price, int shift)

Расчет индикатора Bulls Power.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индикатора.
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val=iBullsPower(NULL, 0, 13,PRICE_CLOSE,0);

 

iCCI

double iCCI( string symbol, int timeframe, int period, int applied_price, int shift)

Расчет индикатора Commodity Channel Index.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индикатора.
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iCCI(Symbol(),0,12,PRICE_TYPICAL,0)>iCCI(Symbol(),0,20,PRICE_TYPICAL,0))
   return(0);

 

iCCIOnArray

double iCCIOnArray( double array[], int total, int period, int shift)

Расчет индикатора Commodity Channel Index на данных, хранящихся в массиве. В отличие от iCCI(…) функция iCCIOnArray не выбирает данные на основе названия инструмента, таймфрейма и используемой цены — ценовые данные должны быть подготовлены заранее. Расчет производится слева направо. Для организации доступа к элементам массива, как к таймсерии (то есть справа налево), необходимо использовать функцию ArraySetAsSeries.

Параметры:

array[] — Массив с данными.
total — Количество элементов для вычисления. 0 означает все элементы массива.
period — Период усреднения для вычисления индикатора.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iCCIOnArray(ExtBuffer,total,12,0)>iCCIOnArray(ExtBuffer,total,20,0))
   return(1);

 

iCustom

double iCustom( string symbol, int timeframe, string name, …, int mode, int shift)

Расчет указанного пользовательского индикатора. Пользовательский индикатор должен быть скомпилирован (файл с расширением EX4) и находиться в директории каталог_терминала\experts\indicators.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
name — Имя пользовательского индикатора.
— Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных пользовательского индикатора.
mode — Индекс линии индикатора. Может быть от 0 до 7 и должен соответствовать индексу, используемому одной из функций SetIndexBuffer.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iCustom(NULL, 0, "SampleInd", 13, 1, 0);

 

iDeMarker

double iDeMarker( string symbol, int timeframe, int period, int shift)

Расчет индикатора DeMarker.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индикатора.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iDeMarker(NULL, 0, 13, 1);

 

iEnvelopes

double iEnvelopes( string symbol, int timeframe, int ma_period, int ma_method, int ma_shift, int applied_price, double deviation, int mode, int shift)

Расчет индикатора Envelopes.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
ma_period — Период усреднения основной линии индикатора.
ma_method — Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
ma_shift — Сдвиг индикатора относительно ценового графика.
applied_price — Используемая цена. Может быть любой из ценовых констант.
deviation — Отклонение от основной линии в процентах.
mode — Индекс линии индикатора. Может быть любым из значений идентификаторов линий индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val=iEnvelopes(NULL, 0, 13,MODE_SMA,10,PRICE_CLOSE,0.2,MODE_UPPER,0);

 

iEnvelopesOnArray

double iEnvelopesOnArray( double array[], int total, int ma_period, int ma_method, int ma_shift, double deviation, int mode, int shift)

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

Параметры:

array[] — Массив с данными.
total — Количество элементов для вычисления. 0 означает все элементы массива.
ma_period — Период усреднения основной линии индикатора.
ma_method — Метод усреднения. Может быть любым из значений методов скользящей средней (Moving Average).
ma_shift — Сдвиг индикатора относительно ценового графика.
deviation — Отклонение от основной линии в процентах.
mode — Индекс линии индикатора. Может быть любым из значений идентификаторов линий индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

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

 

iForce

double iForce( string symbol, int timeframe, int period, int ma_method, int applied_price, int shift)

Расчет Force Index.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индикатора.
ma_method — Метод усреднения. Может быть любым из значений методов скользящей средней (Moving Average).
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,0);

 

iFractals

double iFractals( string symbol, int timeframe, int mode, int shift)

Расчет индикатора Fractals.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
mode — Индекс линии индикатора. Может быть любым из значений идентификаторов линии индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iFractals(NULL, 0, MODE_UPPER, 3);

 

iGator

double iGator( string symbol, int timeframe, int jaw_period, int jaw_shift, int teeth_period, int teeth_shift, int lips_period, int lips_shift, int ma_method, int applied_price, int mode, int shift)

Расчет осциллятора Gator. Осциллятор показывает разницу между синей и красной линией Аллигатора (верхняя гистограмма) и разницу между красной и зеленой линией (нижняя гистограмма).

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
jaw_period — Период усреднения синей линии (челюсти аллигатора).
jaw_shift — Смещение синей линии относительно графика цены.
teeth_period — Период усреднения красной линии (зубов аллигатора).
teeth_shift — Смещение красной линии относительно графика цены.
lips_period — Период усреднения зеленой линии (губ аллигатора).
lips_shift — Смещение зеленой линии относительно графика цены.
ma_method — Метод усреднения. Может быть любым из значений методов скользящей средней (Moving Average).
applied_price — Используемая цена. Может быть любой из ценовых констант.
mode — Индекс линии индикатора. Может быть любым из значений идентификаторов линии индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double diff=iGator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_UPPER, 1);

 

iIchimoku

double iIchimoku( string symbol, int timeframe, int tenkan_sen, int kijun_sen, int senkou_span_b, int mode, int shift)

Расчет индикатора Ichimoku Kinko Hyo.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
tenkan_sen — Период усреднения Tenkan Sen.
kijun_sen — Период усреднения Kijun Sen.
senkou_span_b — Период усреднения Senkou Span B.
mode — Источник данных. Может быть одним из перечисленных идентификаторов Ichimoku Kinko Hyo.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double tenkan_sen=iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 1);

 

iBWMFI

double iBWMFI( string symbol, int timeframe, int shift)

Расчет Market Facilitation Index.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val=iBWMFI(NULL, 0, 0);

 

iMomentum

double iMomentum( string symbol, int timeframe, int period, int applied_price, int shift)

Расчет индикатора Momentum.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период(количество баров) для вычисления изменения цены.
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iMomentum(NULL,0,12,PRICE_CLOSE,0)>iMomentum(NULL,0,20,PRICE_CLOSE,0))
   return(0);

 

iMomentumOnArray

double iMomentumOnArray( double array[], int total, int period, int shift)

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

Параметры:

array[] — Массив с данными.
total — Количество элементов для вычисления. 0 означает все элементы массива.
period — Период(количество баров) для вычисления изменения цены.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iMomentumOnArray(mybuffer,100,12,0)>iMomentumOnArray(mubuffer,100,20,0))
   return(0);

 

iMFI

double iMFI( string symbol, int timeframe, int period, int shift)

Расчет Money Flow Index.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период(количество баров) для вычисления индикатора.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iMFI(NULL,0,14,0)>iMFI(NULL,0,14,1))
   return(0);

 

iMA

double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

Расчет скользящего среднего.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления скользящего среднего.
ma_shift — Сдвиг индикатора относительно ценового графика.
ma_method — Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

AlligatorJawsBuffer[i] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i);

 

iMAOnArray

double iMAOnArray( double array[], int total, int period, int ma_shift, int ma_method, int shift)

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

Параметры:

array[] — Массив с данными.
total — Количество элементов для вычисления. 0 означает все элементы массива.
period — Период усреднения для вычисления скользящего среднего.
ma_shift — Сдвиг индикатора относительно ценового графика.
ma_method — Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

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");

 

iOsMA

double iOsMA( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int shift)

Расчет Moving Average of Oscillator. Осциллятор OsMA показывает разницу между значениями MACD и его сигнальной линии. В некоторых системах этот осциллятор называется гистограммой MACD.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
fast_ema_period — Период усреднения для вычисления быстрой скользящей средней.
slow_ema_period — Период усреднения для вычисления медленной скользящей средней.
signal_period — Период усреднения для вычисления сигнальной линии.
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iOsMA(NULL,0,12,26,9,PRICE_OPEN,1)>iOsMA(NULL,0,12,26,9,PRICE_OPEN,0))
   return(0);

 

iMACD

double iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)

Расчет индикатора Moving Averages Convergence/Divergence. В тех системах, где ОsМА называют гистограммой МАКД, данный индикатгор изображается в виде двух линий. В клиентском терминале схожденние/расхождение скользящих средних рисуется в виде гистограммы.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
fast_ema_period — Период усреднения для вычисления быстрой скользящей средней.
slow_ema_period — Период усреднения для вычисления медленной скользящей средней.
signal_period — Период усреднения для вычисления сигнальной линии.
applied_price — Используемая цена. Может быть любой из ценовых констант.
mode — Индекс линии индикатора. Может быть любым из значений идентификаторов линии индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0))
   return(0);

 

iOBV

double iOBV( string symbol, int timeframe, int applied_price, int shift)

Расчет индикатора On Balance Volume.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iOBV(NULL, 0, PRICE_CLOSE, 1);

 

iSAR

double iSAR( string symbol, int timeframe, double step, double maximum, int shift)

Расчет индикатора Parabolic Stop and Reverse system.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
step — Приращение уровня стопа, обычно 0.02.
maximum — Максимальный уровень стопа, обычно 0.2.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iSAR(NULL,0,0.02,0.2,0)>Close[0])
   return(0);

 

iRSI

double iRSI( string symbol, int timeframe, int period, int applied_price, int shift)

Расчет Relative Strength Index.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индекса.
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1))
   return(0);

 

iRSIOnArray

double iRSIOnArray( double array[], int total, int period, int shift)

Расчет индикатора Relative Strength Index на данных, хранящихся в массиве. В отличие от iRSI(…) функция iRSI не выбирает данные на основе названия инструмента, таймфрейма и используемой цены — ценовые данные должны быть подготовлены заранее. Расчет производится слева направо. Для организации доступа к элементам массива, как к таймсерии (то есть справа налево), необходимо использовать функцию ArraySetAsSeries.

Параметры:

array[] — Массив с данными.
total — Количество элементов для вычисления. 0 означает все элементы массива.
period — Период усреднения для вычисления индекса.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iRSIOnArray(ExtBuffer,1000,14,0)>iRSI(NULL,0,14,PRICE_CLOSE,1))
   return(0);

 

iRVI

double iRVI( string symbol, int timeframe, int period, int mode, int shift)

Расчет Relative Vigor Index.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период усреднения для вычисления индекса.
mode — Индекс линии индикатора. Может быть любым из значений идентификаторов линии индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val=iRVI(NULL, 0, 10,MODE_MAIN,0);

 

iStdDev

double iStdDev( string symbol, int timeframe, int ma_period, int ma_shift, int ma_method, int applied_price, int shift)

Расчет индикатора Standard Deviation.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
ma_period — Период усреднения для вычисления индикатора.
ma_shift — Сдвиг индикатора относительно ценового графика.
ma_method — Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
applied_price — Используемая цена. Может быть любой из ценовых констант.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val=iStdDev(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0);

 

iStdDevOnArray

double iStdDevOnArray( double array[], int total, int ma_period, int ma_shift, int ma_method, int shift)

Расчет индикатора Standard Deviation на данных, хранящихся в массиве. В отличие от iStdDev(…) функция iStdDevOnArray не выбирает данные на основе названия инструмента, таймфрейма и используемой цены — ценовые данные должны быть подготовлены заранее. Расчет производится слева направо. Для организации доступа к элементам массива, как к таймсерии (то есть справа налево), необходимо использовать функцию ArraySetAsSeries.

Параметры:

array[] — Массив с данными.
total — Количество элементов для вычисления. 0 означает все элементы массива.
ma_period — Период усреднения для вычисления индикатора.
ma_shift — Сдвиг индикатора относительно ценового графика.
ma_method — Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

double val = iStdDevOnArray(ExtBuffer,100,10,0,MODE_EMA,0);

 

iStochastic

double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)

Расчет Stochastic Oscillator.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
%Kperiod — Период(количество баров) для вычисления линии %K.
%Dperiod — Период усреднения для вычисления линии %D.
slowing — Значение замедления.
method — Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average).
price_field — Параметр выбора цен для расчета. Может быть одной из следующих величин: 0 — Low/High или 1 — Close/Close.
mode — Индекс линии индикатора. Может быть любым из значений идентификаторов линий индикаторов.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0))
   return(0);

 

iWPR

double iWPR( string symbol, int timeframe, int period, int shift)

Расчет индикатора Larry Williams’ Percent Range.

Параметры:

symbol — Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe — Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period — Период(количество баров) для вычисления индикатора.
shift — Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:

if(iWPR(NULL,0,14,0)>iWPR(NULL,0,14,1))
   return(0);