суббота, 20 октября 2012 г.

Скорость изменений (ROC)

Для анализа изменений используются индикаторы, построенные по технологии ROC (Rate of change см. Википедия)
Этот индикатор показывает изменение цены от одного периода к другому. Эту же технологию применяем к параметрам лент: верхней границе, нижней границе, средней линии, а также к ширине ленты BW и положению цены в ленте %b.
Показ этих параметров (особенно, ширины ленты) в виде скорости изменений более нагляден.
Для уменьшения количества параметров при практическом использовании реализовано 3 индикатора:
  • ROC(bb) - изменения линий границ и ширины ленты;
  • ROC(MA) - изменения средней линии и, по совместительству, любой MA;
  • ROC(b%) - изменения индикатора b%.
Как обычно, все индикаторы имеют три линии: собственно изменения (абсолютная величина изменений/momentum или % от предыдущего значения), быстрая MA (сигнал 1), медленная MA (сигнал 2). Медленная MA строится на основе данных быстрой MA.
Кроме того, все индикаторы реализованы в 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%, ссылки на которые даны в предыдущих сообщениях. После рассмотрения всех индикаторов они будут объеденены в один файл для скачивания. Объяснение простое - они еще не все готовы в виде для распостранения. Одно дело сделать для себя, и совершенно другое - для других.

В следующем сообщении будут рассмотрены индикаторы для построения гистограмм на основе уже рассмотренных индикаторов.

суббота, 22 сентября 2012 г.

Индикаторы BW и %b

Индикатор BW (Bands Width)

Индикаторы BW и %b описаны Боллинджером в его книге, однако в стандартной поставке MT4 отсутствуют. 

Первый из этих индикаторов - BW (Bands Width) - показывает ширину ленты в отдельном окне. Второй - %b - показывает положение цены в ленте в процентах.

Предлагаемые здесь индикаторы несколько изменены от предлагаемых Боллиджером. Во первых, индикатор BW. Т.к. для границ введен режим построения как средней линии от полученных отклонений (MA), то расстояние от верхней границы (TOP LINE, TL) до средней линии ленты (MIDDLE LINE, ML) не равно расстоянию от нижней границы (BOTTOM LINE, BL) до средней линии.

Индикатор строится в отдельном окне.

Полный список параметров приводится ниже:

method        - метод построения: 0 - в значениях цены, 1 - в пунктах
ext           - ширина: 0 - TL-BL, 1 - TL-ML, 2 - ML - BL

// параметры модифицированной полосы Боллинджера
// параметры средней линии
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
 

В отдельном окне будут отображены 3 линии: выбранная параметрами method и ext ширина, MA от ширины и MA от MA от ширины.
В программном коде буфер с индексом 0 соответствует значению ширины, с индексом 1 - значение MA от ширины, c индексом 2 - MA от MA от ширины.

Этот индикатор я применяю в советниках.

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

Вот список параметров индикатора-обертки:

view          - отображение: 0-main, 1-sig1, 2-sig2, 3-main/sig1, 4-main/sig2,
                5-sig1/sig2
method        - метод построения: 0 - в значениях цены, 1 - в пунктах
ext           - ширина: 0 - TL-BL, 1 - TL-ML, 2 - ML - BL

// параметры модифицированной полосы Боллинджера
name          - имя комплекта параметров 

// параметры построения сигналов
// параметры МА1 сглаживания ширины (сигнал 1)
sig1_Period   - период
sig1_Shift    - сдвиг
sig1_Mode     - метод построения MA


// параметры МА2 сглаживания ширины (сигнал 2)
sig2_Period   - период
sig2_Shift    - сдвиг
sig2_Mode     - метод построения MA








На приведенном рисунке отображены 2 ленты с периодами 144(розовый) и 55(желтый). Внизу показан индикатор BW: в первом окне отображена полная ширина для ленты с периодом 55 (белая линия) и 1-я сигнальная линия (период 8, голубая линия), во втором окне показаны два индикатора BW для ленты с периодом 55, одна из которых (белая) показывает ширину от верхней линии до средней линии, а другая (красная) - ширину от средней линии до нижней.

Для построения к границам применяется MA с периодом 5 и методом построения LWMA.
Хорошо видно, что в случае тренда ширина от средней линии до границы в сторону тренды меньше ширины от средней линии до противоположной границы.



Индикатор %b

Следующий индикатор показывает положение цены внутри ленты. В книге Боллинджера он носит название %b. Я изменил название на b% для более удобного, на мой взгляд, восприятия (чисто субъективно) в списке индикаторов MT4. Думаю что это не принципиально.

В описании Боллинджера значения индикатора изменяются от 0 до 100% при нахождении цены внутри ленты. При выходе за пределы нижней границы значения индикатора имеют отрицательные значения, при выходе за верхнюю границу значения индикатора рпинимают значения выше 100%. Значение 50% соответствует средней линии.

После экспериментов с этим индикатором в советниках я пришел к убеждению, что гораздо удобнее, чтобы значения индикатора менялись от 0 до 100% при нахождении цены между средней линией и верхней границей, где 0 соответствует средней линии.
В случае, если цена находится между средней линией и нижней границей значения индикатора меняются от 0 до -100%. При выходе цены за пределы ленты значения соответственно превашают 100% (-100%).

При таких значениях анализ для сделок на покупку/продажу отличается только знаком значений, в то вермя как в оригинальном индикаторе для анализа приходилось использовать различные числовые значения.


Еще одним дополнением является то, что для построения индикатора берется не цена, а значения MA с задаваемыми параметрами. При построении MA с периодом 1, сдвигом 0, методом построения SMA и ценой Close мы получим цену, если это необходимо. Однако диапазон применения индикатора сразу возрастает.

Вот полный список параметров индикатора:

// параметры анализируемой MA
period        - период
shift         - сдвиг
mode          - метод построения MA
price         - используемая цена (от 0 до 6)

// параметры модифицированной полосы Боллинджера
// параметры средней линии
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
 

Значения номеров буферов при программном обращении аналогично индикатору BW.

Для графиков, как всегда, используется индикатор-обертка с параметрами:

view          - отображение: 0-main, 1-sig1, 2-sig2, 3-main/sig1, 4-main/sig2,
                5-sig1/sig2

// параметры анализируемой MA
period        - период
shift         - сдвиг
mode          - метод построения MA
price         - используемая цена (от 0 до 6)
// параметры модифицированной полосы Боллинджера
name          - имя комплекта параметров 

// параметры построения сигналов
// параметры МА1 сглаживания ширины (сигнал 1)
sig1_Period   - период
sig1_Shift    - сдвиг
sig1_Mode     - метод построения MA


// параметры МА2 сглаживания ширины (сигнал 2)
sig2_Period   - период
sig2_Shift    - сдвиг
sig2_Mode     - метод построения MA








На приведенном рисунке показаны два окна с индикаторм b% для полосы с периодом 144. Первое окно - главная линия индикатора относительно цены закрытия. Второе окно - значения индикатора и сигнальная линия с периодом 3. Четко видна дивергенция 20 сентября между значением индикатора и ценой на графике. Пересечения с сигнальной линией показывают коррекционные движения цены.

Ссылка для скачивания индикаторов:bw.zip (1.4Mb) 



В следующих сообщениях: индикаторы для анализа лент, построеные по принципу индикатора ROC (Rate Of Change), построение дополнительных уровней лент.

вторник, 11 сентября 2012 г.

Модифицированные ленты Боллинджера

Первое сообщение будем считать отладочным.
Теперь по порядку.  Пару лет назад мне попалась книга "Боллинджер о лентах Боллинжера". После ее прочтения сразу же захотелось применить полученные знания в терминале Metatrader 4 (далее MT4) и сразу же появились проблемы: во первых количество отклонений можно было задавать только целым числом, во вторых, что более серьезно, в составе не было встроенных очень нужных индикаторов ширины ленты BandsWidth (далее BW) и %b.
Первая проблема была решена довольно быстро - в кодовой базе MT4 есть исходный код индикатора Bollinger Bands http://codebase.mql4.com/ru/243, в котором тип параметра BandsDeviations установлен как double.
Вторая проблема оказалась сложней - пришлось написать код индикаторов самостоятельно. 
И тут началось самое интересное. При написании кода этих дополнительных индикаторов возникло несколько идей относительно самого индикатора полос. 
Первое, что хочется сразу изменить - это указывать метод построения центральной тенденции. В книге указано, что мерой центральной тенденции является простая скользящая средняя. Что мешает нам добавить метод построения в качестве параметра?

Далее в качестве параметра добавляем количество точек для построения отклонений, т.к. во встроенном индикаторе количество точек и период скользящей средней совпадает.
Следующий шаг - добавить в качестве параметра степень для расчета отклонений. Что это значит? При расчете разность между средним значением и данными возводится в квадрат, далее из средней суммы квадратов извлекается квадратный корень. Возведение в квадрат заодно устраняет отрицательные значения разностей. А можно эту степень сделать произвольной. Т.е., мы будем возводить разность в степень H, а среднюю от суммы этих степеней возводить в степень 1/H. При значении H=2 получаем исходную формулу.
Проще говоря, вот текст из описания индикатора, размещенного по выше указанной ссылке:
"
Полосы Боллинджера формируются из трех линий. Средняя линия (MIDDLE LINE, ML) — это обычное скользящее среднее.

ML = SUM (CLOSE, N) / N = SMA (CLOSE, N)


Верхняя линия (TOP LINE, TL) — это та же средняя линия, смещенная вверх на определенное число стандартных отклонений (D).

TL = ML + (D * StdDev)

Нижняя линия (BOTTOM LINE, BL) — это средняя линия, смещенная вниз на то же число стандартных отклонений.
BL = ML — (D * StdDev)
StdDev = SQRT (SUM ((CLOSE - SMA (CLOSE, N))^2, N)/N)
где:
  • SUM (..., N) — сумма за N периодов;
  • CLOSE — цена закрытия;
  • N — количество периодов, используемых для расчета;
  • SMA — простая скользящая средняя;
  • SQRT — квадратный корень;
  • StdDev — стандартное отклонение:
 "

Мы в формуле для ML метод SMA заменяем на задаваемый параметром.
Формулу для StdDev заменяем на следующую:

StdDev =  (SUM ((PRICE - MA (CLOSE, M))^H, M)/M))^1/H

Значение M может отличаться от значения N, используемого для построения линии ML.

Ну и последнее - верхняя и нижняя линии индикатора. А что, если рисовать среднюю от рассчитанных значений для этих линий. Причем, также как и для центральной тентенции, задавать метод построения этой средней.
В результате получается индикатор со следующими параметрами:
 - параметры построения средней линии:
  • MA_Period - период построения ML;
  • MA_Shift - сдвиг ML;
  • MA_Mode - метод построения ML;
  • MA_Price - цена, используемая для построения ML.
- параметры построения отклонений:
  • Bands_Period - период для усреднения отклонений;
  • Bands_Dev - коэффициент;
  • Bands_H - используемая степень.
- параметры усреднения границ ленты:
  • Bounds_Period - период;
  • Bounds_Shift - сдвиг;
  • Bounds_Mode - метод построения.
Исходный файл - !bands.mq4
В дальнейшем он будет называться основным или базовым индикатором.
Этот индикатор я использую в советниках, других индикаторах и скриптах, а также при подборе параметров.

Одним из следствий усреднения границ ленты является то, что расстояния от верхней границы до средней линии не равно расстоянию от нижней границы. Этот эффект дает дополнительные возможности для анализа лент на графиках.
Итоговый индикатор получил название Модифицированная полоса Боллиджера. 
Индикатор получился интересный, однако обилие параметров затрудняет его использование:  долго набирать, увеличивается вероятность ошибок.
Практика использования показала, что обычно используется несколько наборов параметров.
Конкретно я использую три: большой период, средний период и малый период.
Для упрощения работы с индикатором пришлось сделать индикатор-обертку.
Работает он следующим образом:
при инициализации проверяется наличие глобальных переменных со значениями параметров, если они есть, то значения считываются из этих переменных, в противном случае переменные создаются со стандартными значениями.
Далее необходимо удалить индикатор, определить нужные значения и заново установить индикатор.
 

Исходный файл индикатора - !bandsView.mq4
Этот индикатор я использую для нанесения на графики.
Параметры:
  • view - способ отображения: 0 - показать все линии, 1 - верхняя и средняя линии, 2 - средняя и нижняя линии, 3 - верхняя и нижняя границы, 4 - только средняя линия (бесполезный режим, сделан только для полноты - при выборе этого режима фактически отображается MA), 5 - верхняя линия, 6 - нижняя линия, 7 - верхняя или нижняя линия в зависимости от наклона средней линии, т.е если MA направлена вверх, то показывается верхняя линия и наоборот, 8 - аналогично 7, но при наклоне вверх показывается нижняя линия и наоборот (этот режим использую для установки stoploss);
  • name - имя комплекта параметров.
Имена глобальных переменных формируются по правилу:
name-<имя параметра основного индикатора>
Хорошим свойством МТ4 является то, что значения глобальных переменных сохраняются от сеанса к сеансу.

Недостатком метода является то, что сохраненный шаблон нельзя использовать в другом терминале без предварительного определения значений глобальных переменных. Это надо помнить при переустановке МТ4 или переносе/публикации  шаблонов.

В следующих сообщениях речь пойдет об индикаторах !bw - ширина ленты и индикаторе %b. Т.к. изменился базовый индикатор и у него появились новые свойства, то и производные индикаторы bw и %b также получили дополнительные свойства.
Далее будут описаны дополнительные индикаторы для анализа графиков на основе модифицированных лент Боллиджера, а также практические приемы такого анализа.

воскресенье, 2 сентября 2012 г.

Первая тема - модифицированные индикаторы, основанные на ленте Боллинджера (Bollinger Bands), реализация которых выполнена для терминала Metatrader 4 (MT4).

Начнем с главного индикатора - индикатора, наносимого на график и рисующего саму полосу Боллинджера.

Стандартный индикатор терминала MT4 Bollinger Bands доработан для расширения функциональности. Доработки коснулись:
1. Изменен тип параметра "Отклонения" на double
2. Отклонения рассчитываются с заданным параметром степенью (стандартное значение 1/2 - корень квадратный).
3. Задаются все параметры МА для средней линии.
4. Задается параметр для периода расчета верхней и нижней линий индикатора. Он может отличаться от периода средней линии.
5. Верхняя и нижняя линия могут задаваться как МА.

Пример отображения индикатора с параметрами 
    view         =0      способ отображения
    MA_Period    =13;    период средней линии
    MA_Shift     =0;     сдвиг
    MA_Mode      =3;     метод построения средней линии (MODE_LWMA)
    MA_Price     =6:     цена (PRICE_WEIGHTED);
    Bands_Period =13;    период для расчета верхней и нижней линий
    Bands_Dev    =1.618; отклонение
    Bands_H      =2;     степень (квадрат/корень квадратный) 
    Bounds_Period=3;     период усреднения верхней и нижней линий
    Bounds_Shift =0;     сдвиг
    Bounds_Mode  =1;     метод построения MODE_EMA

    view         =0;
    MA_Period    =144;
    MA_Shift     =0;
    MA_Mode      =0;
    MA_Price     =6:
    Bands_Period =144;
    Bands_Dev    =1.618;
    Bands_H      =2;
    Bounds_Period=5;
    Bounds_Shift =0;
    Bounds_Mode  =2;

показан на скриншоте:

Ссылка для скачивания (с книгой "Боллинджер о лентах Боллинджера"):
Ссылка для скачивания (без книги):

Недостатком является большое количество параметров. Этот недостаток можно устранить методом создания индикаторов-оберток. Об этом - в следующих сообщениях.

Подписка на рассылку:
FxMail.ru
Индикаторы для MT4