Самотестируемый и самооптимизируемый индикатор Matreshka Часть 3

Самотестируемый и самооптимизируемый индикатор Matreshka Часть 3

26 ноября 2018, 21:48
Dimitr Trifonov
0
145

3. Параметры индикатора Channel Options:

Индикатор рисует три канала, которые могут использоватся как стоп уровни для закрытия позиций.

Каналы строятся к каждой волне, без значения является ли она частью Тренда, является ли она Импульсом или Откатом

 

3.1 AllowSimpleChannel

Если параметр AllowSimpleChannel = true, индикатор строит канал/линию.


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

Канал рисуется в реальном времени, стоимость канала можно проследить в любой момент.


Канал SimpleChannel на картинке представляет голубая линия, которая идет под или над волной, в зависимости от ее направления

Важно отметить канал, отмеченный черным кругом. В данном случае начало канала не первый бар волны, а четвертый. В алгоритме подсчета канала заложено условие, что первая точка канала должна быть до момента завершения предыдущей волны, а вторая точка – после. На графике момент определения начала волны вверх помечен вертикальной красной линией.


3.2 AllowSqueezeChannel

Если параметр AllowSqueezeChannel = true, индикатор строит канал/линию.

Канал строится на основании графического инструмента FiboChannel, встроенного в Терминал Метатрейдер. В данной имплементации канал имеет только один параметр Уровень/Level: -2


Поверх волны вверх установлен инструмент FiboChannel

-         Точка А. Начальная точка всегда начальный экстремум волны, в данном примере основание волны вверх.

-         Точка В. Крайняя точка канала противоположный экстремум волны, в данном примере конец волны вверх. В реальном времени это будет текущий максимум волны вверх

-         Точка C. Средняя точка должна быть на каком либо баре в волне, так что бы канал не пробивался ни снизу ни сверху ни одним баром волны

Канал рисуется в реальном времени, в данном примере голубой линией.

3.3 AllowWPRChannelPeriod

Если параметр AllowWPRChannelPeriod > 0, индикатор строит канал/линию.

Канал отслеживает в реальном времени экстремумы N последних баров. Наименован WPRChannel, т.к. принцип вычисления индикатора WPR сходен. Если волна вверх, канал отслеживает минимальную стоимость Low последних N баров, если волна вниз – максимальную стоимость High последних N баров. Количество баров N зависит от параметров Lvl и LvlCoefficient описанных выше. Формула расчета N = AllowWPRChannelPercent*(LvlCoefficient*(2^Lvl))


Пример WPR канала в волне вверх Lvl = 0 (черный канал) и волне вверх Lvl = 1 (красный канал). Начало волн соответственно черная вертикальная и красная вертикальная линии.

Параметры индикатора: Lvl = 1, LvlCoefficient = 2. Канал равен минимальной стоимости Low в послeдних N барах. Для черной волны N = 3 * 2 * (2 ^ 0) = 6 баров. Для красной волны N = 3 * 2 * (2 ^ 1) = 12 баров.

3.4 OpenChannel

Канал OpenChannel всегда рисуется на графике. Пробитие канала Ценой отмечается стрелкой в сторону пробития и является сигналом открытия позиции. Для начертания канала и сигнала к открытию позиции необходимо соблюдение ряд условии:

1.     Канал рисуется только при Откатной волне Тренда какого либо уровня. Пробитие канала в Откатной волне дает ранний сигнал о завершении текущей волны и начало новой Импульсной волны, соответственно указывает на продолжение движения по Тренду.

2.     Канал чертится для всех уровней (Lvl) индикатора, кроме уровня 0 и последнего, заданного как параметр индикатора. Например если на графике установлен индикатор с параметром Lvl = 5, на графике будут изображены каналы всех уровней, кроме уровня 0 и 5;

3.     Канал рисуется только если Тренд данного уровня идет в сторону волны Последнего Уровня (Lvl), заданного параметром Lvl, т.е. волны самого старшего Уровня. Например если на графике установлен индикатор с параметром Lvl = 5, на графике будут изображены каналы в Трендах, которые идут в сторону текущей волны Lvl = 5. Если волна Lvl = 5 идет вниз, бары чарта окрашиваются в красный цвет, если вверх – в зеленый.

4.     Фильтры, установленные в разделе Synthesis Options, должны позволять открытие позиции, соотвественно позволять построение канала. Например, если установлены параметры CompareWaveBHeights = true, CompareWaveBLenghts = false и ImpulsivityDeviation = 1, канал будет построен только при тех Откатных волнах, которые отвечают условиям этих двух фильтров, не учитывая фильтрацию CompareWaveBLenghts;

 

Индикатор с параметром Lvl = 3; Идет Зеленая Волна Lvl = 3 вниз, бары перекрашиваются в красный цвет. OpenChannel для Lvl = 2 изображен синим пунктиром в синих Откатных волнах, при пробитии канала ценой рисуется синяя стрелка в сторону пробития.

 

Индикатор с параметром Lvl = 5. Идет светлосиняя волна вниз, бары покрашены в красный цвет. Видны каналы OpenChannel, которые нарисованы пунктирами в цвета соответствующих уровней. При пробитии каналов рисуются стрелки, показывающие начало движения в сторону волны Lvl = 5 (светлосинии цвет)

Для построения канала используются каналы SimpleChannel и WPRChannel описанные выше.

1.     SimpleChannel строится стандартно по Откатной волне.

2.     Период канала WPRChannel меняется по мере удлинения волны и подсчитывается следующей формулой

Период = (Длинна Волны в барах) / 3

Где Длинна Волны представляет длинну Откатной волны в барах на текущий момент. Длинна делится на три, т.к. цель индикатора установить конец третьей подволны в Откатной волне.

3.     Из значений двух каналов, берется то, что находится ближе к текущей цене, т.е. если Откатная волна идет вниз, берется меньшее значение двух каналов, если вверх - бОльшее значение из двух каналов.

3.5 3PointsChannel

Канал 3PointsChannel по умолчанию не рисуется на графике. Принцип построения - поверх на любого количество баров строится канал с линиями максимума и минимума таким образом, что бары касались максимума и минимума канала не более и не менее чем в трех точках. Из этого принципа следует название индикатора.


Канал 3PointsChannel построенный поверх баров между двумя вертикальными пунктирными линиями. Три точки, по которым построен канал, отмечены красными кругами. Правая вертикальная пунктирная линия показывает бар, после которого канал не перерисовывается. Зеленый круг отмечает момент, когда цена была в зоне „перекуплености“, момент, подходящий для открытия позиций вниз. Синие круги отмечают зону „перепроданости“, момент, подходящий для закрытия позиций вниз. Параллелные линии внутри канала – уровни канала. Индикатор берет расстояние между двумя главными линиями канала за 100% и рисует линии 23.6% (пунктир), 50% и 76.4% (пунктир) внутри канала.

В индикаторе заложен канал 3PoinstChannel, но по умолчанию он не рисуется на графике.  Его можно увидеть нажав клавишу Y клавиатуры, после того как индикатор проинициализирован на каком либо графике Терминала MetaTrader. Канал строится на каждой волне индикатора. За первый бар берется начало волны, за последний бар берется самый актуальный бар на момент рисования. Индикатор не перерисовывает канал, но если канал пробит, то пробивший бар становится одной из трех точек построения канала. Зона, где можно открывать позицию для входа на рынок, отмечена утолщенными барами цвета волны, которая идет на конкретный момент.


Вертикальная черная линия отмечает момент начала волны Lvl = 3 (зеленого цвета). Красными кругами отмечены бары, заходящие в зону между 76.4% и 100%, которая отмечена утолщенными зелеными барами. Те же бары не касаются верхнего края канала (100%), а их цена Low ниже уровня 76.4%, что может быть сигналом к продаже.

4. Параметры индикатора Take Profit Options:

4.1 TakeProfitFirstIndex

Если индикатор дал сигнал на открытие позиции, то она может быть закрыта по достижению одного из уровней TakeProfit. Уровни TakeProfit соответсвуют уровням Сетки Fibonacci Expansion, встроенной в Терминал MetaTrader 5. Для каждой пары волн Импульс – Откат, после которой индикатор дает сигнал открытия позиции, строится Сетка Fibonacci Expansion со следующими параметрами:

1.      Первая точка Сетки является начало Импульсной волны.

2.      Вторая точка Сетки является конец Импульсной волны, она же начало Откатной волны.

3.      Третья точка Сетки является конец Откатной волны. Так как сигнал открытия позиции зачастую появляется до окончания Отката, Третья точка сетки может менятся, если Откатная волна продолжается.

4.      Индикатор перерисовывает только Третью точку Fibonacci Expansion.

5.      Сетка Fibonacci Expansion строится со следующими уровнями/коеффициентами - 0.382,0.618,1,1.382,1.618,2,2.382,2.618, к ним отображается цена каждого уровня


Fibonacci Expansion Lvl = 2 синего цвета и Lvl = 3 зеленого. Для каждой Сетки первая и последняя точки отмечены вертикальными линиями. Уровни Fibonacci Expansion рисуются после последнего/самого нового бара.

Параметр индикатора TakeProfitFirstIndex обозначает на какой уровень Сетки будет установлен уровень TakeProfit. Чем больше значение TakeProfitFirstIndex, тем дальше находится уровень Fibonacci Expansion от цены Сигнала на открытие позиции. Примеры:

1.     Если TakeProfitFirstIndex = 0:

1.1.                    При движении вверх TakeProfit будет установлен на первый возможный уровень, самый близкий к цене Сигнала на октрытие позиции, но не ниже максимума Импульсной волны, на которой построена Сетка.

1.2.                    При движении вниз TakeProfit будет установлен на первый возможный уровень, самый близкий к цене Сигнала на октрытие позиции, но не выше максимума Импульсной волны, на которой построена Сетка

2.     Если TakeProfitFirstIndex = 1, TakeProfit будет установлен на следующем уровне Сетки и т.д.

3.     Если значение TakeProfitFirstIndex не соответсвует ни одному уровню/коеффициенту Сетки, TakeProfit не будет установлен. Идентично работает TakeProfitSecondIndex, который относится ко второй позиции, которую открывает индикатор.

4.2 AllowNoLoss

Если AllowNoLoss = true, то по достижении уровня установленным TakeProfitFirstIndex, индикатор дает сигнал на перемещение уровня StopLoss второй позиции на уровень открытия этой же позиции (Уровень Безубыток). Таким образом, если цена вернется к цене открытия Позиции, то Позиция будет закрыта с Профитом = 0.


Красная вертикальная линия показывает момент открытия двух позиции. TakeProfitFirstIndex = 1, поэтому уровень TakeProfit первой позиции будет вторая цель после вершины Импульсной волны на которой построена Сетка Fibonacci Expansion. По достижении цели, первая позиция закрывается. Так как StopLoss второй позиции ниже цены открытия, то он переносится на уровень открытия двух позиций.

Продолжение следует.

Индикатор опубликован в маркете - https://www.mql5.com/ru/market/product/33478

Поделитесь с друзьями: