Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

Bollinger Band Two MA and Zig-Zag 2 - эксперт для MetaTrader 5

Просмотров:
2927
Рейтинг:
(14)
Опубликован:
2019.12.08 09:03
Обновлен:
2019.12.10 12:32
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Идея торговой стратегии

Советник использует такие индикаторы

  • два индикатора iMA (Moving Average, MA) - каждый может создаваться на своём таймфрейме отличном от общего
  • один индикатор iBands (Bollinger Bands, BB) - работает на общем таймфрейме
  • один пользовательский индикатор ZigZag (индикатор расположен в Examples\\ZigZag.mq5) - работает на общем таймфрейме

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

При получении сигнала открываются две позиции BUY или две позиции SELL, при этом объёмы позиций задаются в   First position: Money managementFirst position: The value for "Money management" и Second position: Money managementSecond position: The value for "Money management" (подробнее об этом в разделе "Управление размером позиции (расчёт лота)").

Первая позиция открывается с указанием StopLoss и TakeProfit, а вторая - только со StopLoss. StopLoss для позиции BUY - это последний минимум индикатора ZigZag минус " SL: Indent from ZigZag extreme", для позиции SELL - это последний максимум индикатора ZigZag плюс "SL: Indent from ZigZag extreme". TakeProfit рассчитывается как (разница между ценой открытия и ценой StopLoss) умноженная на коэффициент "TP: coefficient".

Торговые сигналы:

Пояснения к коду - в массиве индекс [0] соответствует самому правому бару на графике. 

  • m_symbol.Bid() - текущая цена Bid
  • ma_1 - массив значений индикатора "MA #1"
  • ma_2 - массив значений индикатора "MA #2"
  • rates - массив значений OHLC общего таймфрейма (задаётся в параметре "Timeframe")
  • lower_band - массив значений индикатора Bollinger Band (индикаторный буфер Lower)
  • upper_band - массив значений индикатора Bollinger Band (индикаторный буфер Upper)

Торговые сигналы формируются из пяти условий:

   bool signal_2_buy_condition_1=(m_symbol.Bid() >= ma_1[0]);
   bool signal_2_buy_condition_2=(m_symbol.Bid() >= ma_2[0]);
   bool signal_2_buy_condition_3=(rates[2].low   <= lower_band[2]);
   bool signal_2_buy_condition_4=(rates[1].high  >= lower_band[1]);
   bool signal_2_buy_condition_5=(m_symbol.Bid() >= lower_band[1]);
   bool signal_2_buy  = (
                           (signal_2_buy_condition_1) &&
                           (signal_2_buy_condition_2) &&
                           (signal_2_buy_condition_3) &&
                           (signal_2_buy_condition_4) &&
                           (signal_2_buy_condition_5)
                        );

   bool signal_2_sell_condition_1=(m_symbol.Bid() <= ma_1[0]);
   bool signal_2_sell_condition_2=(m_symbol.Bid() <= ma_2[0]);
   bool signal_2_sell_condition_3=(rates[2].high  >= upper_band[2]);
   bool signal_2_sell_condition_4=(rates[1].low   <= upper_band[1]);
   bool signal_2_sell_condition_5=(m_symbol.Bid() <= upper_band[1]);
   bool signal_2_sell = (
                           (signal_2_sell_condition_1) &&
                           (signal_2_sell_condition_2) &&
                           (signal_2_sell_condition_3) &&
                           (signal_2_sell_condition_4) &&
                           (signal_2_sell_condition_5)
                        );

Пример сигнала SELL:

Bollinger Band Two MA and Zig-Zag 2

Рис. 1. Пример сигнала SELL


При нахождении сигнала производится поиск экстремумов индикатора ZigZag - эти данные необходимы для указания StopLoss и расчёта TakeProfit.


Подробнее о настройках советника:

Обратите внимание: торговый сигнал имеет наивысший приоритет! Ограничить его исполнение можно только при помощи параметра     Only one positions. Если Only one positions равен "true" и количество позиций открытых этим советником на данном символе больше "1" - тогда торговый сигнал игнорируется. 

Параметр Close opposite равен "true": сначала ЗАКРЫВАЕМ противоположную позицию, потом отрабатываем торговый сигнал.


Торговые настройки

В советнике можно как включать, так и выключать Stop LossTake Profit и  Trailing Stop. Для отключения выбранный параметр установить в "0.0".

Трейлинг и поиск торгового сигнала может срабатывать или через N- секунд или только в момент рождения нового бара. Интервал Трейлинга в секундах задаётся в     Trailing, in seconds, а интервал поиска торговых сигналов в Search signals, in seconds. Для этих двух параметров общее правило: если интервал задать меньше, чем "10" - это означает работу ТОЛЬКО в момент рождения нового бара, если же интервал задать ровно или более "10" - это означает работу каждые "N" секунд.


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

    • Only one positions - в рынке всегда только одна позиция
    • Reverse - переворот торгового сигнала
    • Close opposite - закрытие позиций противоположных торговому сигналу, причём сначала идёт гарантированное закрытие противоположной позиции и только потом открытие новой позиции в направлении сигнала

    Обратите внимание: торговый сигнал имеет наивысший приоритет! Ограничить его исполнение можно только при помощи параметра     Only one positions. Если Only one positions равен "true" и количество позиций открытых этим советником на данном символе больше "1" - тогда торговый сигнал игнорируется. 

    Параметр Close opposite равен "true": сначала ЗАКРЫВАЕМ противоположную позицию, потом отрабатываем торговый сигнал.


    Управление размером позиции (расчёт лота)

    Лот может быть как постоянный (Money management установить в Constant lot и задать размер лота в   The value for "Money management") так и динамический - в процентах риска на сделку (Money management установить в   Risk in percent for a deal и задать процент риска в The value for "Money management"). Также можно задать постоянный лот равный минимальному лоту -   Money management установить в Lots Min.

      SilverTrend Signal Delay SilverTrend Signal Delay

      Краткое описание

      VR---SETKA---3_v2 VR---SETKA---3_v2

      VR---SETKA---3_v2 - советник для MetaTrader 5. Продолжение VR---SETKA---3 . Советник сетка работает по принципу мартина. Сетка. Мартингейл. Использовать только на hedge счетах.

      S-v1 S-v1

      Торговая панель, с возможностью использования в тестере.

      Simple Trailing 2 Simple Trailing 2

      Советник-утилита: выполняет трейлинг прибыльных позиций по текущему символу