Для анализа изменений используются индикаторы, построенные по технологии ROC (Rate of change см. Википедия)
Этот индикатор показывает изменение цены от одного периода к другому. Эту же технологию применяем к параметрам лент: верхней границе, нижней границе, средней линии, а также к ширине ленты BW и положению цены в ленте %b.
Показ этих параметров (особенно, ширины ленты) в виде скорости изменений более нагляден.
Для уменьшения количества параметров при практическом использовании реализовано 3 индикатора:
Кроме того, все индикаторы реализованы в 2-х модификациях: для использования в других индикаторах или советниках/скриптах (базовая модификация), для отображения в окне терминала.
Вызов !roc(bb):
iCustom(symbol,timeframe,"!roc(bb)",method,mode,ext,roc,MA_Period,MA_Shift,MA_Mode,MA_Price,Bands_Period, Bands_Dev,Bands_H,Bounds_Period,Bouds_Shift,Bounds_Mode,sig1_Period,sig1_Shift,sig1_Mode,
sig2_Period,sig2_Shift,sig2_Mode,buffer,shift);
где
параметры symbol, timeframe и shift являются стандартными параметрами функции iCustom языка MQL4.
method - метод расчета: 0 - абсолтное изменение значения (momentum), 1 - изменения в % от предыдущего значения
mode - режим расчета: 0 - средняя линия (сделано для полноты, т.к. средняя линия представляет собой обычную MA и для ее расчета не требуется все множество параметров, то для упрощения вызова используется индикатор !roc(ma)), 1 - верхняя граница, 2 - нижняя граница, 3 - полная ширина, 4 - ширина верхней части ленты (от верхней границы до средней линии), 5 - ширина нижней части ленты (ширина от средней линии до нижней границы
ext - для режимов 3,4,5 использовать данные: 0 - main, 1 - sig1, 2 - sig2
roc - период расчета индикатора
// параметры модифицированной полосы Боллинджера
// параметры средней линии
MA_Period - период
MA_Shift - сдвиг
MA_Mode - метод построения MA
MA_Price - используемая цена (от 0 до 6)
// параметры построения отклонений
Bands_Period - период
Bands_Dev - коэффициент
Bands_H - степень
// параметры MA для сглаживания границ
Bounds_Period - период
Bounds_Shift - сдвиг
Bounds_Mode - метод построения MA
// параметры построения сигналов
// параметры МА1 сглаживания ширины (сигнал 1)
sig1_Period - период
sig1_Shift - сдвиг
sig1_Mode - метод построения MA
// параметры МА2 сглаживания ширины (сигнал 2)
sig2_Period - период
sig2_Shift - сдвиг
sig2_Mode - метод построения MA
buffer - 0-основное значение, 1-быстрая MA, 2-медленная MA.
Фактически в таком виде я не вызываю эти индикаторы (это касается и индикаторов из предыдущих и последующих сообщений), а использую функцию.Предположим мне нужны данные индикатора для ленты с параметрами 55,0,0,6,55,1.618,2,5,0,2,3,0,0,3,0,0 (параметры ленты указаны в порядке их описания), мне требуются данные в % от предыдущего значения и для расчета используюся данные основных линий, тогда функция будет иметь вид:
double roc_BB_55(int mode, int roc, int buf, int shift) {
return(iCustom(NULL,0,"!roc(bb)",1,mode,1,roc,55,0,0,6,55,1.618,2,5,0,2,3,0,0,3,0,0,buf,shift));
}
Индикатор !roc(bb)View предназначен для отображения данных в окне терминала. Для задания параметров ленты используется имя комплекта (см. предыдущие сообщения).
Вот список параметров этого индикатора:
view - отображение: 0-main, 1-sig1, 2-sig2, 3-main/sig1, 4-main/sig2, 5-sig1/sig2
method, mode, ext, roc - аналогично соответствующим параметром базового индикатора !roc(bb)
// параметры модифицированной полосы Боллинджера
name - имя комплекта параметров полосы
// параметры построения сигналов
// параметры МА1 (быстрая MA - сигнал 1)
sig1_Period - период
sig1_Shift - сдвиг
sig1_Mode - метод построения MA
// параметры МА2 (медленная MA - сигнал 2)
sig2_Period - период
sig2_Shift - сдвиг
sig2_Mode - метод построения MA
Для полноты ROC строится для всех линий и ширин ленты, однако мною используются, в основном, ROC только для ширин. Для построения ROC средней линии используется индикатор !roc(ma).
Индикатор предназначен для расчета скорости изменения средней линии полосы Боллинджера. Выделение в отдельный индикатор обосновывается тем, что для его построения не нужны большая часть параметров ленты, хотя сам индикатор используется очень часто. В результате получился индикатор, который можно использовать для анализа скорости изменения любой MA.
Вызов !roc(ma):
iCustom(symbol,timeframe,"!roc(ma)",method,roc,period,shift,mode,price,sig1_Period,sig1_Shift,sig1_Mode,
sig2_Period,sig2_Shift,sig2_Mode,buffer,shift);
где
параметры symbol, timeframe и shift являются стандартными параметрами функции iCustom языка MQL4.
method - метод расчета: 0 - абсолтное изменение значения (momentum), 1 - изменения в % от предыдущего значения
roc - период расчета индикатора
period,shift,mode,price - стандартные параметры для построения MA
sig1_* и sig2_* - параметры построения сигналов аналогично предыдущему индикатору
buffer - 0-основное значение, 1-быстрая MA, 2-медленная MA
Индикатор !roc(ma)View предназначен для отображения в окне терминала и имеет, помимо указанных выше параметров, дополнительный параметр для указания отображаемых линий:
view - отображение: 0-main, 1-sig1, 2-sig2, 3-main/sig1, 4-main/sig2, 5-sig1/sig2
Этот индикатор имеет наибольший список параметров, т.к. дополнительно к параметром индикатора !roc(bb) дополняется еще 4, описывающих MA, положение которой рассчитывается относительно ленты.
Вызов !roc(b%):
iCustom(symbol,timeframe,"!roc(b%)",method,ext,roc,period,shift,mode,price,MA_Period,MA_Shift,MA_Mode,MA_Price,Bands_Period, Bands_Dev,Bands_H,Bounds_Period,Bouds_Shift,Bounds_Mode,sig1_Period,sig1_Shift,sig1_Mode,
sig2_Period,sig2_Shift,sig2_Mode,buffer,shift);
где
параметры symbol, timeframe и shift являются стандартными параметрами функции iCustom языка MQL4.
method - метод расчета: 0 - абсолтное изменение значения (momentum), 1 - изменения в % от предыдущего значения ext - использовать данные индикатора b%: 0 - main, 1 - sig1, 2 - sig2
roc - период расчета индикатора
period,shift,mode,price - стандартные параметры для построения MA
// параметры модифицированной полосы Боллинджера
// параметры средней линии
MA_Period - период
MA_Shift - сдвиг
MA_Mode - метод построения MA
MA_Price - используемая цена (от 0 до 6)
// параметры построения отклонений
Bands_Period - период
Bands_Dev - коэффициент
Bands_H - степень
// параметры MA для сглаживания границ
Bounds_Period - период
Bounds_Shift - сдвиг
Bounds_Mode - метод построения MA
// параметры построения сигналов
// параметры МА1 сглаживания ширины (сигнал 1)
sig1_Period - период
sig1_Shift - сдвиг
sig1_Mode - метод построения MA
// параметры МА2 сглаживания ширины (сигнал 2)
sig2_Period - период
sig2_Shift - сдвиг
sig2_Mode - метод построения MA
buffer - 0-основное значение, 1-быстрая MA, 2-медленная MA.
Для индикатора roc(b%)View параметры ленты Боллинджера заменяются, как обычно, на имя комплекта параметров и добавляется параметр view для выбора вида отображения.
Рассмотрим пример использования индикаторов:
Изображены две ленты с параметрами:
1) 55,0,0,6,55,1.618,2,5,0,2 - желтый цвет (b55)
2) 233,0,3,6,233,1.618,2,8,0,2 -бирюзовый цвет (b233)
Внизу расположены три окна с индикаторами:
1) b% - показывает положения средней линии полосы b55 относительно полосы b233. В окне отображается основная линия и медленная MA (сигнал 2) с параметрами 5,0,2 (быстрая MA имеет те же параметры)
2) roc(bb) - настроен на показ скорости изменений в % ширины ленты b233. В окне отображается быстрая MA (сигнал 1) с параметрами 3,0,0. Параметр roc = 5.
3) roc(b%) - настроен на показ скорости изменения в абсолютных значениях положения средней линии полосы b55 относительно полосы b233. В окне отображается быстрая MA (сигнал 1) с параметрами 3,0,0. Иначе говоря, показывается скорость изменения того, что отображает окно индикатора 1.
3 окно является избыточным и приведено здесь только для примера.
Теперь небольшой анализ. Хорошо видно, что 17 октября в конце дня основная линия индикатора b% пересекла сверху вниз свою медленную MA. Кроме того, скорость роста ширины ленты b233 очевидно замедлилась, а скорость изменения b% перешла на отрицательную территорию. Таким образом, видно что предшествующий восходящий тренд будет (по крайней мере) корректироваться. Последующие два дня полностью это подтверждают.
Ссылка для скачивания индикаторов:
roc.zip 1.1 mb
Указанный файл содержит только индикаторы, рассмотренные в настоящем сообщении. Для корректной работы необходимы файлы, содержащие индикаторы !bands, !bw, !b%, ссылки на которые даны в предыдущих сообщениях. После рассмотрения всех индикаторов они будут объеденены в один файл для скачивания. Объяснение простое - они еще не все готовы в виде для распостранения. Одно дело сделать для себя, и совершенно другое - для других.
В следующем сообщении будут рассмотрены индикаторы для построения гистограмм на основе уже рассмотренных индикаторов.
Этот индикатор показывает изменение цены от одного периода к другому. Эту же технологию применяем к параметрам лент: верхней границе, нижней границе, средней линии, а также к ширине ленты BW и положению цены в ленте %b.
Показ этих параметров (особенно, ширины ленты) в виде скорости изменений более нагляден.
Для уменьшения количества параметров при практическом использовании реализовано 3 индикатора:
- ROC(bb) - изменения линий границ и ширины ленты;
- ROC(MA) - изменения средней линии и, по совместительству, любой MA;
- ROC(b%) - изменения индикатора b%.
Кроме того, все индикаторы реализованы в 2-х модификациях: для использования в других индикаторах или советниках/скриптах (базовая модификация), для отображения в окне терминала.
Индикатор !roc(bb) и !roc(bb)View
Вызов !roc(bb):
iCustom(symbol,timeframe,"!roc(bb)",method,mode,ext,roc,MA_Period,MA_Shift,MA_Mode,MA_Price,Bands_Period, Bands_Dev,Bands_H,Bounds_Period,Bouds_Shift,Bounds_Mode,sig1_Period,sig1_Shift,sig1_Mode,
sig2_Period,sig2_Shift,sig2_Mode,buffer,shift);
где
параметры symbol, timeframe и shift являются стандартными параметрами функции iCustom языка MQL4.
method - метод расчета: 0 - абсолтное изменение значения (momentum), 1 - изменения в % от предыдущего значения
mode - режим расчета: 0 - средняя линия (сделано для полноты, т.к. средняя линия представляет собой обычную MA и для ее расчета не требуется все множество параметров, то для упрощения вызова используется индикатор !roc(ma)), 1 - верхняя граница, 2 - нижняя граница, 3 - полная ширина, 4 - ширина верхней части ленты (от верхней границы до средней линии), 5 - ширина нижней части ленты (ширина от средней линии до нижней границы
ext - для режимов 3,4,5 использовать данные: 0 - main, 1 - sig1, 2 - sig2
roc - период расчета индикатора
// параметры модифицированной полосы Боллинджера
// параметры средней линии
MA_Period - период
MA_Shift - сдвиг
MA_Mode - метод построения MA
MA_Price - используемая цена (от 0 до 6)
// параметры построения отклонений
Bands_Period - период
Bands_Dev - коэффициент
Bands_H - степень
// параметры MA для сглаживания границ
Bounds_Period - период
Bounds_Shift - сдвиг
Bounds_Mode - метод построения MA
// параметры построения сигналов
// параметры МА1 сглаживания ширины (сигнал 1)
sig1_Period - период
sig1_Shift - сдвиг
sig1_Mode - метод построения MA
// параметры МА2 сглаживания ширины (сигнал 2)
sig2_Period - период
sig2_Shift - сдвиг
sig2_Mode - метод построения MA
buffer - 0-основное значение, 1-быстрая MA, 2-медленная MA.
Фактически в таком виде я не вызываю эти индикаторы (это касается и индикаторов из предыдущих и последующих сообщений), а использую функцию.Предположим мне нужны данные индикатора для ленты с параметрами 55,0,0,6,55,1.618,2,5,0,2,3,0,0,3,0,0 (параметры ленты указаны в порядке их описания), мне требуются данные в % от предыдущего значения и для расчета используюся данные основных линий, тогда функция будет иметь вид:
double roc_BB_55(int mode, int roc, int buf, int shift) {
return(iCustom(NULL,0,"!roc(bb)",1,mode,1,roc,55,0,0,6,55,1.618,2,5,0,2,3,0,0,3,0,0,buf,shift));
}
Индикатор !roc(bb)View предназначен для отображения данных в окне терминала. Для задания параметров ленты используется имя комплекта (см. предыдущие сообщения).
Вот список параметров этого индикатора:
view - отображение: 0-main, 1-sig1, 2-sig2, 3-main/sig1, 4-main/sig2, 5-sig1/sig2
method, mode, ext, roc - аналогично соответствующим параметром базового индикатора !roc(bb)
// параметры модифицированной полосы Боллинджера
name - имя комплекта параметров полосы
// параметры построения сигналов
// параметры МА1 (быстрая MA - сигнал 1)
sig1_Period - период
sig1_Shift - сдвиг
sig1_Mode - метод построения MA
// параметры МА2 (медленная MA - сигнал 2)
sig2_Period - период
sig2_Shift - сдвиг
sig2_Mode - метод построения MA
Для полноты ROC строится для всех линий и ширин ленты, однако мною используются, в основном, ROC только для ширин. Для построения ROC средней линии используется индикатор !roc(ma).
Индикаторы !roc(ma) и !roc(ma)View
Индикатор предназначен для расчета скорости изменения средней линии полосы Боллинджера. Выделение в отдельный индикатор обосновывается тем, что для его построения не нужны большая часть параметров ленты, хотя сам индикатор используется очень часто. В результате получился индикатор, который можно использовать для анализа скорости изменения любой MA.
Вызов !roc(ma):
iCustom(symbol,timeframe,"!roc(ma)",method,roc,period,shift,mode,price,sig1_Period,sig1_Shift,sig1_Mode,
sig2_Period,sig2_Shift,sig2_Mode,buffer,shift);
где
параметры symbol, timeframe и shift являются стандартными параметрами функции iCustom языка MQL4.
method - метод расчета: 0 - абсолтное изменение значения (momentum), 1 - изменения в % от предыдущего значения
roc - период расчета индикатора
period,shift,mode,price - стандартные параметры для построения MA
sig1_* и sig2_* - параметры построения сигналов аналогично предыдущему индикатору
buffer - 0-основное значение, 1-быстрая MA, 2-медленная MA
Индикатор !roc(ma)View предназначен для отображения в окне терминала и имеет, помимо указанных выше параметров, дополнительный параметр для указания отображаемых линий:
view - отображение: 0-main, 1-sig1, 2-sig2, 3-main/sig1, 4-main/sig2, 5-sig1/sig2
Индикаторы !roc(b%) и !roc(b%)View
Этот индикатор имеет наибольший список параметров, т.к. дополнительно к параметром индикатора !roc(bb) дополняется еще 4, описывающих MA, положение которой рассчитывается относительно ленты.
Вызов !roc(b%):
iCustom(symbol,timeframe,"!roc(b%)",method,ext,roc,period,shift,mode,price,MA_Period,MA_Shift,MA_Mode,MA_Price,Bands_Period, Bands_Dev,Bands_H,Bounds_Period,Bouds_Shift,Bounds_Mode,sig1_Period,sig1_Shift,sig1_Mode,
sig2_Period,sig2_Shift,sig2_Mode,buffer,shift);
где
параметры symbol, timeframe и shift являются стандартными параметрами функции iCustom языка MQL4.
method - метод расчета: 0 - абсолтное изменение значения (momentum), 1 - изменения в % от предыдущего значения ext - использовать данные индикатора b%: 0 - main, 1 - sig1, 2 - sig2
roc - период расчета индикатора
period,shift,mode,price - стандартные параметры для построения MA
// параметры модифицированной полосы Боллинджера
// параметры средней линии
MA_Period - период
MA_Shift - сдвиг
MA_Mode - метод построения MA
MA_Price - используемая цена (от 0 до 6)
// параметры построения отклонений
Bands_Period - период
Bands_Dev - коэффициент
Bands_H - степень
// параметры MA для сглаживания границ
Bounds_Period - период
Bounds_Shift - сдвиг
Bounds_Mode - метод построения MA
// параметры построения сигналов
// параметры МА1 сглаживания ширины (сигнал 1)
sig1_Period - период
sig1_Shift - сдвиг
sig1_Mode - метод построения MA
// параметры МА2 сглаживания ширины (сигнал 2)
sig2_Period - период
sig2_Shift - сдвиг
sig2_Mode - метод построения MA
buffer - 0-основное значение, 1-быстрая MA, 2-медленная MA.
Для индикатора roc(b%)View параметры ленты Боллинджера заменяются, как обычно, на имя комплекта параметров и добавляется параметр view для выбора вида отображения.
Пример
Рассмотрим пример использования индикаторов:
Изображены две ленты с параметрами:
1) 55,0,0,6,55,1.618,2,5,0,2 - желтый цвет (b55)
2) 233,0,3,6,233,1.618,2,8,0,2 -бирюзовый цвет (b233)
Внизу расположены три окна с индикаторами:
1) b% - показывает положения средней линии полосы b55 относительно полосы b233. В окне отображается основная линия и медленная MA (сигнал 2) с параметрами 5,0,2 (быстрая MA имеет те же параметры)
2) roc(bb) - настроен на показ скорости изменений в % ширины ленты b233. В окне отображается быстрая MA (сигнал 1) с параметрами 3,0,0. Параметр roc = 5.
3) roc(b%) - настроен на показ скорости изменения в абсолютных значениях положения средней линии полосы b55 относительно полосы b233. В окне отображается быстрая MA (сигнал 1) с параметрами 3,0,0. Иначе говоря, показывается скорость изменения того, что отображает окно индикатора 1.
3 окно является избыточным и приведено здесь только для примера.
Теперь небольшой анализ. Хорошо видно, что 17 октября в конце дня основная линия индикатора b% пересекла сверху вниз свою медленную MA. Кроме того, скорость роста ширины ленты b233 очевидно замедлилась, а скорость изменения b% перешла на отрицательную территорию. Таким образом, видно что предшествующий восходящий тренд будет (по крайней мере) корректироваться. Последующие два дня полностью это подтверждают.
Ссылка для скачивания индикаторов:
roc.zip 1.1 mb
Указанный файл содержит только индикаторы, рассмотренные в настоящем сообщении. Для корректной работы необходимы файлы, содержащие индикаторы !bands, !bw, !b%, ссылки на которые даны в предыдущих сообщениях. После рассмотрения всех индикаторов они будут объеденены в один файл для скачивания. Объяснение простое - они еще не все готовы в виде для распостранения. Одно дело сделать для себя, и совершенно другое - для других.
В следующем сообщении будут рассмотрены индикаторы для построения гистограмм на основе уже рассмотренных индикаторов.