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

Plombiers EA - эксперт для MetaTrader 5

Просмотров:
1563
Рейтинг:
(11)
Опубликован:
2019.07.24 10:52
\MQL5\Indicators\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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

Советник работает по пользовательскому индикатору Plombiers. Для формирования сигналов рассматриваются две линии индикатора: "Resistance" и "Support".

Plombiers EA

Сигнал на открытие позиции BUY: цена Low на баре #1 была ниже линии "Support" на баре #1

Сигнал на открытие позиции SELL: цена High на баре #1 была выше линии "Resistance" на баре #1

//+------------------------------------------------------------------+
//| Search trading signals                                           |
//+------------------------------------------------------------------+
bool SearchTradingSignals(void)
  {
   double means[],resistance[],support[];
   MqlRates rates[];
   ArraySetAsSeries(means,true);
   ArraySetAsSeries(resistance,true);
   ArraySetAsSeries(support,true);
   ArraySetAsSeries(rates,true);
   int start_pos=0,count=3;
   if(!iGetArray(handle_iCustom,0,start_pos,count,means) || 
      !iGetArray(handle_iCustom,1,start_pos,count,resistance) || 
      !iGetArray(handle_iCustom,2,start_pos,count,support) || 
      CopyRates(m_symbol.Name(),Period(),start_pos,count,rates)!=count)
     {
      return(false);
     }

   int size_need_position=ArraySize(SNeedPosition);
   if(rates[1].low<support[1])
     {
      if(!InpReverse)
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_BUY;
         return(true);
        }
      else
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_SELL;
         return(true);
        }
     }
   if(rates[1].high>resistance[1])
     {
      if(!InpReverse)
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_SELL;
         return(true);
        }
      else
        {
         ArrayResize(SNeedPosition,size_need_position+1);
         SNeedPosition[size_need_position].pos_type=POSITION_TYPE_BUY;
         return(true);
        }
     }
//---
   return(true);
  }


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

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

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


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

В советнике можно как включать так и выключать уровни Take ProfitStop Loss и Trailing Stop. Для отключения выбранного параметра достаточно выбранный параметр установить в "0.0".

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


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

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

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

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


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

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

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


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

    Лот может быть как постоянный (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.

      ZigZag Forward Movement ZigZag Forward Movement

      Торговая стратегия на пользовательском индикаторе "ZigzagColor". Дополнительная визуализация при помощи графических объектов: одного объекта Линии Фибоначчи (Fibonacci Retracement) и трёх объектов Текст. Работа отложенными Stop ордерами.

      RSI Custom Smoothing 2 RSI Custom Smoothing 2

      Модификация первой версии "RSI Custom Smoothing"

      Bollinger Bands Expansion Bands Bollinger Bands Expansion Bands

      Стратегия на основе индикатора iBands (Bollinger Bands, BB) - торгуем в момент расширения полос

      Simple RSI Simple RSI

      Простая стратегия по пользовательскому индикатору "RSI Custom Smoothing 2"