Основы языка MQL4. Технические индикаторы и встроенные функции
Часть 6
Commodity Channel Index (CCI) или Индекс Товарного Канала
Индикатор Commodity Channel Index (CCI) или Индекс Товарного Канала используется для измерения отклонений цены инструмента от его среднестатистической цены.
http://ta.mql4.com/ru/indicators/trends/commodity_channel_index
Прототип функции:
double iCCI( string symbol, int timeframe, int period, int applied_price, int shift)
Параметры:
- symbol – определяет, какой финансовый инструмент (валютную пару) использовать для вычисления показателей технического индикатора. Используйте NULL (или 0), если вам нужен текущий (активный) инструмент (график).
- timeframe – определяет, на каком тайм фрейме (периоде) использовать индикатор. Используйте 0 для текущего периода или одну из констант (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
- period - количество баров, которые будут использованы для получения среднего значения.
- applied_price – определяет используемую цену (что будем усреднять). Есть такие предопределенные константы для выбора используемой цены:
- PRICE_CLOSE - цена закрытия
- PRICE_OPEN - цена открытия
- PRICE_HIGH - максимальная цена
- PRICE_LOW - минимальная цена
- PRICE_MEDIAN - средняя цена, (high+low)/2
- PRICE_TYPICAL - типичная цена, (high+low+close)/3
- PRICE_WEIGHTED - взвешенная цена закрытия, (high+low+close+close)/4
- shift – определяет, к какому бару применить индикатор.
Примеры использования:

double cci;
cci=iCCI(0,0,14,PRICE_TYPICAL,0);
// индекс последнего бара на активном графике и периоде.
// Используем 14 баров для получения среднего значения и
// типичную цену.
cci=iCCI("EURUSD",PERIOD_M1,21,PRICE_HIGH,1);
// индекс предпоследнего бара на минутном графике EURUSD.
// Используем 21 бар для получения среднего значения и
// наивысшую цену.
cci=iCCI("EURGBP",PERIOD_D1,7,PRICE_CLOSE,0);
// индекс последнего бара на дневном графике EURGBP.
// Используем 7 баров для получения среднего значения и
// цену закрытия.
DeMarker (DeM)
Индикатор DeMarker (DeM) используется для прогнозирования разворота цен на основе разницы цен прошлых баров.
http://ta.mql4.com/ru/indicators/oscillators/DeMarker
Прототип функции:
double iDeMarker( string symbol, int timeframe, int period, int shift)
Параметры:
- symbol – определяет, какой финансовый инструмент (валютную пару) использовать для вычисления показателей технического индикатора. Используйте NULL (или 0), если вам нужен текущий (активный) инструмент (график).
- timeframe – определяет, на каком тайм фрейме (периоде) использовать индикатор. Используйте 0 для текущего периода или одну из констант (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
- period - количество баров, которые будут использованы для получения среднего значения.
- shift – определяет, к какому бару применить индикатор.
Примеры использования:

double dm;
dm=iDeMarker(0,0,13,0);
// показатель Демарка последнего бара на текущем графике и периоде.
// Используем 13 баров для получения среднего значения.
dm=iDeMarker("EURJPY",PERIOD_H4,51,1);
// показатель Демарка предпоследнего бара на четырехчасовом графике EURJPY.
// Используем 51 бар для получения среднего значения.
dm=iDeMarker("USDCAD",PERIOD_M30,21,0);
// показатель Демарка последнего бара на тридцатиминутном графике USDCAD.
// Используем 21 бар для получения среднего значения.
Envelopes или Огибающие Линии (Конверты)
Индикатор Envelopes или Огибающие Линии (Конверты) используется для определения границ колебаний цены на основе двух скользящих средних.
http://ta.mql4.com/ru/indicators/oscillators/envelopes
Прототип функции:
double iEnvelopes( string symbol, int timeframe, int ma_period, int ma_method, int ma_shift,
int applied_price, double deviation, int mode, int shift)
Параметры:
- symbol – определяет, какой финансовый инструмент (валютную пару) использовать для вычисления показателей технического индикатора. Используйте NULL (или 0), если вам нужен текущий (активный) инструмент (график).
- timeframe – определяет, на каком тайм фрейме (периоде) использовать индикатор. Используйте 0 для текущего периода или одну из констант (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
- ma_period - количество баров, которые будут использованы для получения основной линии.
- ma_method – определяет метод, который используется для получения средних значений. Предопределены такие константы для выбора метода:
- MODE_SMA - простое скользящее среднее
- MODE_EMA - экспоненциальное скользящее среднее
- MODE_SMMA - сглаженное скользящее среднее
- MODE_LWMA - линейно-взвешенное скользящее среднее
- ma_shift – сдвиг линий индикатора в барах. Если сдвиг положительный, то линии индикатора смещаются вправо. И наоборот, если сдвиг отрицательный, то линии смещаются влево.
- applied_price – определяет используемую цену (что будем усреднять). Есть такие предопределенные константы для выбора используемой цены:
- PRICE_CLOSE - цена закрытия
- PRICE_OPEN - цена открытия
- PRICE_HIGH - максимальная цена
- PRICE_LOW - минимальная цена
- PRICE_MEDIAN - средняя цена, (high+low)/2
- PRICE_TYPICAL - типичная цена, (high+low+close)/3
- PRICE_WEIGHTED - взвешенная цена закрытия, (high+low+close+close)/4
- deviation – отклонение от основной линии в процентном соотношении. Например, если вы напишите 0.1, то это будет означать 10%, 0.25 – 25% и т.д.
- mode - выбираем линию, значение которой получим. Используем такие предопределенные константы:
- MODE_UPPER - верхняя линия
- MODE_LOWER - нижняя линия
- shift – определяет, к какому бару применить индикатор.
С помощью параметра mode укажите, что возвращать:

Примеры использования:
double e;
e=iEnvelopes(0,0,21,MODE_SMA,0,PRICE_CLOSE,0.05,MODE_LOWER,0);
// нижняя граница последнего бара на активном графике и периоде.
// Используем 21 бар и цену закрытия для получения простого скользящего
// среднего значения. Сдвиг не используем. Отклонение от основной
// линии: 5%.
e=iEnvelopes("EURUSD",PERIOD_H1,13,MODE_SMMA,3,PRICE_MEDIAN,0.15,MODE_UPPER,1);
// верхняя граница предпоследнего бара на часовом графике EURUSD.
// Используем 13 баров и среднюю цену для получения сглаженного скользящего
// среднего значения. Сдвиг: 3 бара. Отклонение от основной линии: 15%.
e=iEnvelopes("EURAUD",PERIOD_D1,7,MODE_EMA,2,PRICE_CLOSE,0.20,MODE_LOWER,0);
// нижняя граница последнего бара на дневном графике EURAUD.
// Используем 7 баров и цену закрытия для получения экспоненциального
// скользящего среднего значения. Сдвиг: 2 бара. Отклонение от основной
// линии: 20%.
|