Советник "Pattern-123" для MT4: описание и настройка

Советник "Pattern-123" для MT4: описание и настройка

19 сентября 2019, 15:21
Pavel Zamoshnikov
4
4 637

Доброго дня, уважаемые трейдеры!

Представляю вашему вниманию советник, реализующий торговую систему, основанную на графической ценовой модели “Pattern-123”


Паттерн-123 давно известен и популярен у трейдеров – это разворотный паттерн, который сигнализирует о возможном окончании и развороте тренда.

Еще в 2016 году я написал индикатор, распознающий паттерны-123 на графике. Разработка получилась очень удачной. Удобное визуальное отображение паттернов, отсутствие запаздывания (главный недостаток большинства индикаторов) и перерисовок сделали индикатор довольно популярным у трейдеров.

Pettern-123 indicator

И сразу же после публикации индикатора посыпалась масса заявок с просьбой автоматизировать торговлю по Паттерну-123.

Хоть я и противник полностью автоматических советников и считаю, что робот не может торговать лучше человека. Однако мне самому был нужен робот-помощник, который мог бы отслеживать сигнал и открывать сделки в мое отсутствие.

Разработка советника оказалась непростой и затянулась на пару лет - тестовый демо-счет с роботом был запущен только в январе 2019 года

Девять месяцев тестирования советника показали, что форекс-инструменты – это не лучший выбор:

EA testing

Как видно, из всех тестируемых инструментов, советник показывает хорошие результаты только на золоте. Хотя в будущем я планирую провести тестирование на индексах, CFD и крипте.

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

Описание Паттерна-123 и принципы работы советника

Ценовая модель "Паттерн-123" является одним из самых простых и надежных паттернов графического анализа, который указывает на разворот рынка. Пожалуй, это самая важная информация для трейдера – знать, где заканчивается один тренд и начинается противоположный.

Паттерн-123 основывается на трёх точках (рассмотрим пример Паттерна-123 вверх):

  1. Первая точка – это минимум нисходящей тенденции;
  2. Вторая формируется в момент отката от нисходящего тренда. В этот момент мы еще не знаем, что будет, разворот наверх или откат продолжение движения вниз;
  3. Третья точка появляется в момент, когда цена снова разворачивается вверх, не пробивая уровень точки #1.

Pattern description

Когда формируется Паттерн-123, советник устанавливает отложенный стоп-ордер на пробой точки #2.

Если цена пробьёт уровень точки #2 – отработка паттерна- отложенный ордер превращается в рыночный.
Если цена не дойдет до точки #2, а уйдет за уровень точки #1 – отмена паттерна – советник удалит ордер.

StopLoss может устанавливаться за уровнем точки #1 или #3 или задаваться фиксированным значением (параметр “Method of calculating the Stop Loss (from point 1/3 or fixed)”)

TakeProfit устанавливается на уровне Фибо или задается фиксированным значением (параметр “Take Profit for 1st order (Fixed, Fibo enum or Fibo manually)”) – так задается TakeProfit 1-го ордера (могут быть и другие, т.н. разворотные ордера – они имеют свой TP, но о них позднее).
Expert Advisor Pattern-123

Для определения точек 1,2,3 индикатор и советник используют Зигзаг собственной разработки, который максимально приближен к стандартному зигзагу, но, в отличие от него, не перерисовывается.

Разворотные ордера для компенсации убытков

Для увеличения прибыльности в советнике предусмотрена возможность установки противоположных отложенных ордеров на уровне срабатывания стоп-лосса текущей сделки (Stop’n’Reverse-ордера).
При этом советник может увеличивать лотность SnR-ордеров на коэффициент мартингейла (параметр “Coeff. of Martingale”). Когда открывается рыночная сделка, на уровне ее стопа устанавливается встречный отложенный SnR-ордер с увеличенным лотом.

Стоп SnR-ордера ставится на уровне открытия предыдущей сделки.

Тейк SnR-ордера выставляется на некоторое количество пунктов больше уровня безубыточности (задается параметром “TP for next SnR-orders - distance from BreakEven level”).
SnR orders

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

SnR orders_2

При закрытии сделки в прибыли, коэффициент увеличения сбрасывается в 1.

Количество возможных разворотных SnR-ордеров задается параметром “Number of allowed SnR-orders in the set (including 1st order)”. Если этот параметр  меньше или равен 1 - разворотные ордера не используются.

Внимание! Использование разворотных ордеров с увеличенным лотом является торговлей с повышенным риском. Соблюдайте принципы управления капиталом (Money Management).

Настоятельно рекомендуется использовать разворотные ордера только на очень волатильных инструментах (например на золоте).

Все ордера – 1-й ордер (по сигналу индикатора) и последующие разворотные ордера – составляют один сет.

Советник различает Buy-сет (1-й ордер в сете BuyStop) и Sell-сет (1-й ордер SellStop) по Magic-номерам и обрабатывает Buy- и Sell-сеты раздельно.

При запуске, советник ищет свои ордера по символу и по двум Magic-номерам и включает их в работу. О всех своих действиях советник сообщает на вкладке Эксперты.

Дополнительные возможности

  • В советнике предусмотрена возможность задать разрешенный период времени для торгов. Однако сигналы вне торгового времени все равно учитываются советником. И если на начало торгового периода эти сигналы не были отработаны или отменены, то советник установит отложенный ордер на пробой точки #2, сформированной до начала торгов.

    Эта особенность советника позволяет использовать его даже для пробоя утреннего флета. Установите время начала торгового периода на начало европейской сессии, и советник установит в это время отложенные ордера на покупку/продажу, конечно если за период утреннего флета сформируются Паттерны-123.

  • В советнике предусмотрена возможность трейлинга прибыльной позиции. Трейлинг работает только для 1-го ордера (параметр "Trailing Stop - coeff.of TakeProfit").

  • Советник автоматически распознает 5-ти и 4-х значные котировки. Нужно задавать параметры в 4-х значном формате, а советник сам пересчитает.

Как я торгую с помощью советника Pattern-123 ( + пример реальных торгов):

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

Каждый торговый день я начинаю с разметки значимых уровней на таймфреймах H1-H4, от которых цена отталкивалась в прошлом.
Если в текущем моменте цена подходит к одному из уровней, то я запускаю советник для поиска сигналов.
Торговое время - Европейская и Американская сессии (настраивается в советнике).

Я стараюсь всегда сопровождать сделку. Если вижу, что тенденция разворачивается, то могу сократить убытки, уменьшив стоп-лосс вручную.

Вот пример сегодняшней сделки:

Увидев такой отскок от уровня 1500, я запустил советник на поиск Паттерна-123 вверх с целью до следующего уровня на Н1, который совпал с Фибо-уровнем 262%.

XAUUSD_18092019

Итог вы видите на следующем рисунке.

result_18092019

Если сегодня сделка принесла прибыль, то больше не торгую в этот день (настраивается в советнике)

В конце поста вы найдете два сета:

- Сет “EA_123_Pattern_v1.0_XAUUSD_M5_manual_GMT3_0.01.set” я использую для своей ручной торговли.
Пожалуйста, не ставьте этот сет на автоматическую торговлю – он убыточен на полном автомате.

- Если у вас нет возможности торговать вручную, то я могу предложить вам сет “EA_123_Pattern_v1.0_XAUUSD_M5_auto_GMT3_0.01.set” для полностью автоматической торговли.
Это очень консервативный сет – без использования разворотных ордеров.

Тестирование проводилось за 2 года 9 месяцев на таймфрейме M5
Оптимизация: весь 2017 год + Форвард-тест: с 2018.01.01 по 2019.09.18

Достоинства:

  • Среднегодовой доход – более 100%
  • Может использоваться совсем небольшой депозит – от 100$ на 0.01 лот. При этом максимальная просадка менее 50$ в течение всего времени тестирования
  • Не требует Вашего присутствия у компьютера (но уверен, что сопровождение сделок сможет увеличить Вашу прибыль)

Недостатки: отсутствие прибыльности в течение 9 месяцев (с 2017.05 по 2018.02)

testing

Настройка торгового времени в обоих сетах GMT+3


Полное описание параметров советника:

Название параметра Соответствующее имя переменной в советнике
Описание
EA Info
EA_Info Наименование set-файла с настройками. Включает в себя версию советника, символ инструмента, таймфрейм, имя оптимизатора и дату создания сета. Заполняется оптимизатором.
Magic Number (reserve the next number too)
Magic Магик-номер. Советник определяет свои ордера по символу инструмента и Магику. Советник использует два Магика: заданный этим параметром (для Buy-сетов) и на единицу больше (для Sell-сетов). Если вы ставите несколько экземпляров советника на один инструмент, но на разные таймфреймы, то вы должны увеличить/уменьшить этот номер по крайней мере на 2
If have a profit today - no more trading today NoTradeIfProfit
Если сегодня получена прибыль - больше не торговать сегодня.
Опция полезна для внутридневной торговли. Может быть:
“Disable” – отключена (открываем сделку на всех сигналах);
“We don't trade today if there is a profit today” - Не торгуем сегодня если есть прибыль сегодня. Прибыль/убыток прошлых дней не учитывается;
“We don't trade today if there is a profit and a maximum Balance” - Не торгуем сегодня, если есть профит и баланс максимальный (например, если вчера был убыток, будем торговать на всех сигналах, пока баланс не достигнет максимума)
Disable open the 1st order after this date FinalGridDate После этой даты новые ордера не устанавливаются. При этом существующие рыночные и отложенные ордера советник обрабатывает как обычно. Параметр необходим для корректного завершения тестирования, без убытка от принудительно закрытых тестером сделок. Установите эту дату примерно на 1-2 дня раньше даты окончания тестирования, чтобы советник успел корректно закрыть существующие ордера
--- Trading settings ---


Fixed Lot of the 1st order
Lot
фиксированный лот для первого ордера в сете
Risk, % of Free Margin (from 0 to 100%),
if =0 - use Fixed Lot
Risk Расчет размера лота в процентах от свободных средств. Зависит также от величины стоп-лосса.
Если Risk=0 – используется фиксированный лот из предыдущей переменной
----- SL options -----


Method of calculating the Stop Loss (from point 1/3 or fixed)
StopLossCalc
метод вычисления уровня стоп-лосса. Стоп может ставиться под точкой 1 или точкой 3. Если StopLossCalc = “Fixed value” - используется фиксированное значение стопа из следующей переменной.
Если вы выбрали стоп под точкой 3, то при установке отложенного ордера советник сначала все равно ставит стоп под точку 1, потому что точка 3 может еще сместиться. Когда отложенный ордер сработает и превратится в рыночный – точка 3 зафиксирована – тогда советник передвигает уровень стопа под точку 3.
Fixed Stop Loss (4 sign) StopLoss Фиксированный стоп-лосс в в 4-х значных пипсах. Используется когда StopLossCalc = “Fixed value”. Если при этом StopLoss=0 - стоп-лосс не ставится
Maximum StopLoss (4 sign, =0 -disabled) /
Minimum StopLoss (4 sign, =0 -disabled)
MaxStopLoss /
MinStopLoss
фильтр сигналов по максимальному и минимальному значению стоп-лосса (в пп. 4-х знак). Используется, когда размер стоп-лосса НЕфиксированный – т.е. определяется расстоянием между точкой 1 и точкой 2 (или между точкой 3 и точкой 2 – в зависимости от параметра “Method of calculating the Stop Loss”). Если это расстояние больше "Maximum StopLoss" или меньше "Minimum StopLoss" - сигнал пропускается.
Если параметр =0 – фильтр не используется. Если стоп-лосс фиксированный (StopLossCalc = “Fixed value”) - фильтр также не используется
----- TP and Trail options -----


Take Profit for 1st order (Fixed, Fibo enum or Fibo manually)
ProfitFiboEnum
Уровень тейк-профита 1-го ордера.  Может задаваться в % Фибо от расстояния между точками 1 и 2, либо фиксированным значением в пипсах.
В большинстве случаев достаточно выбрать число Фибо из выпадающего списка, но вы можете задать его вручную.
Если ProfitFiboEnum = “Fibo manually” - число Фибо задается вручную в переменной “Take Profit if Fibo manually (must be more than 100%)”.
Если ProfitFiboEnum = “Fixed value” - используется фиксированное значение тейка из переменной “Take Profit if Fixed value (pips, 4 sign)”.
Take Profit if Fixed value (pips, 4 sign) TakeProfit Фиксированный тейк-профит в в 4-х значных пипсах. Используется когда ProfitFiboEnum = “Fixed value”. Если при этом TakeProfit =0 - тейк не ставится
Take Profit if Fibo manually (must be more than 100%) ProfitFiboManual Поле для задания числа Фибо вручную (в %). Используется когда ProfitFiboEnum = “ Fibo manually ”.
Обратите внимание - число Фибо, задающее ТейкПрофит вручную, должно быть больше 100%, иначе невозможно корректно рассчитать уровень TakeProfit. В этом случае советник будет использовать фиксированное значение из поля "Take Profit if Fixed value (pips, 4 sign)"
TrailingStop - coeff.of TakeProfit: from 0.1 to 0.9,
if =0 -disabled
TrailStopRatio Трейлинг-стоп. Ставится только для 1-го ордера. Размер трейлинг-стопа рассчитывается как отношение размера тейк-профита (от 0.1 до 0.9, если = 0 - отключено).
Если цена уйдет на расстояние больше чем TrailingStop от уровня открытия, тогда стоп переносится сначала в безубыток, а потом тралится при дальнейшем продвижении цены.
----- Reversal settings -----


Number of allowed SnR-orders in the set (including 1st order)
SnRnumber
максимальное количество разворотных ордеров в сете, включая 1-й ордер. Минимальное значение =1
Т.к. разворотный ордер ставится на уровне стоп-лосса текущей рыночной сделки, то при осутствии стоп-лосса (StopLossCalc = “Fixed value” и StopLoss=0) установка разворотных ордеров отключается.
Coeff. of Martingale (if <=1 - disabled) Martingale коэффициент Мартингейла, на который умножается лот для последующих ордеров в сете. Если меньше или равен 1, то лот всех ордеров в сете равен лоту 1-го ордера
TP for next SnR-orders - distance from BreakEven level (4 sign) NextTPfromBE  тейкпрофит последующих разворотных ордеров в сете.
Сначала рассчитывается суммарный уровень безубыточности всех предыдущих ордеров в сете, которые закрылись по стоплоссу. К этому уровню прибавляется количество пунктов из этой строки (в 4-х значных пипсах)
 ----- Time settings -----    
 Hour and Minutes to start of trading / Hour and Minutes to end of trading
HourBegin, MinutesBegin
HourEnd, MinutesEnd
время начала и конца торгового периода. Параметры только для 1-го ордера. Сигналы вне этого торгового периода пропускаются. Если все  параметры =0 – торговля ведется круглосуточно.
Полезно применять для торговли на мелких таймфреймах, задавая период Европейской и Американской сессий.
Хотя вне торгового времени 1-й ордер не устанавливается, но сигнал индикатора остается действительным до его отмены, и в начале торгового времени советник установит 1-й ордер, если сигнал не отработался или не отменен.
 Start trading/ End trading color  clTradeBegin, clTradeEnd цвет вертикальных линий, указывающих начало и конец торгового времени (не отображаются при круглосуточной торговле)
 ----- Indicator settings -----    
 Depth of ZigZag
 ExtDepth
 кол-во баров для поиска вершин Зигзага (аналог параметра "Depth" стандартного Зигзага)
 Drawing enable  DrawingEnable  визуализация работы советника – рисует зигзаг и уровни аналогично индикатору Pattern 123
 ZigZag Color / ZigZag Width  ColorZZ, WidthZZ  параметры линии зигзага: цвет/ширина
 Color to BUY / Color to SELL  UPColor, DNColor  цвета Buy/Sell уровней
Points size PointsSize размер точек 1,2,3


Еще раз ссылка на страницу с советником "EA Pattern-123": https://www.mql5.com/ru/market/product/41710