Группа функций, предназначенных для расчета стандартных и пользовательских индикаторов.
Для того, чтобы эксперт (или любая 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);