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

Proffessor v3 - эксперт для MetaTrader 5

Опубликовал:
Vladimir Karputov
Просмотров:
1774
Рейтинг:
(24)
Опубликован:
2018.08.28 15:59
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Автор идеиvitaly

Автор MQL5-кодаbarabashkakvn

Стратегия торговли проста как мир. Открывается позиция BUY или SELL и сразу защищается отложенным Stop ордером на расстоянии Delta 1. Далее создаётся сетка из Limit, либо Stop отложенных ордеров на расстоянии Delta 2 один от другого. Количество отложенных ордеров каждого направления задаётся в Max Lines.Отложенные ордера (Buy Limit, Sell Limit, Buy Stop и Sell Stop) выставляются через единую функцию PendingOrder, в которую передаются тип отложенного ордера (order_type), объём отложенного ордера (volume), Стоп лосс (sl) и Тейк профит (tp)

//+------------------------------------------------------------------+
//| Pending order                                                    |
//+------------------------------------------------------------------+
void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp)
  {
   sl=m_symbol.NormalizePrice(sl);
   tp=m_symbol.NormalizePrice(tp);

   if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0,
      m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp)))
     {
      if(m_trade.ResultOrder()==0)
        {
         Print("#1 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription());
         PrintResultTrade(m_trade,m_symbol);
        }
      else
        {
         Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription());
         PrintResultTrade(m_trade,m_symbol);
        }
     }
   else
     {
      Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(),
            ", description of result: ",m_trade.ResultRetcodeDescription());
      PrintResultTrade(m_trade,m_symbol);
     }
//---
  }

При достижении целевой прибыли Profit Close закрываем все позиции и удаляем все отложенные ордера. Также можно закрывать все позиции и удалять отложенные ордера при убытке более Loss Close (если выставить Loss Close в "0.0", параметр отключается).

Работа советника (открытие позиций и выставление защитных отложенных ордеров) осуществляется в рабочем временном интервале от Start hour до End hour (при этом Start hour может быть как меньше, так и больше End hour).


Основная идея

Анализируем значение индикатора ADX на таймфрейме Work TimeFrame. Если уровень ADX ниже 40, то считаем, что флет, и выставляются Limit отложенные ордера, если выше - то Stop отложенные ордера;

Если DI+ выше чем DI-, то покупаем, если наоборот, то продаем.


Лучшие результаты оптимизации двух параметров (Currenr bar ADX от 0 до 2, шаг 1 и Work TimeFrame от M1 до H1)

EURUSD, Currenr bar ADX 0, Work TimeFrame H1

Proffessor v3 EURUSD

USDJPY, Currenr bar ADX 2, Work TimeFrame M1

Proffessor v3 USDJPY


А теперь EURUSD, Currenr bar ADX 0, Work TimeFrame  H1, но параметр Loss Close выставлен "0.0"

Proffessor v3 EURUSD Loss Close 0

и USDJPY, Currenr bar ADX 2, Work TimeFrame M1, но параметр Loss Close выставлен "0.0"

Proffessor v3 USDJPY Loss Close 0

Hans_Indicator_x22_Cloud_Heo Hans_Indicator_x22_Cloud_Heo

Индикатор расширяющихся коридоров временных зон с одиннадцатью коридорами, средней линией и цветной фоновой заливкой, в котором добавлен коэффициент изменения шага расширения границ коридора

Double_Smoothed_MACD_Stochastic Double_Smoothed_MACD_Stochastic

Индикатор Double smoothed MACD Stochastic

Sensitive Sensitive

Советник на базе индикатора iMACD (). Выражение показаний MACD через Point().

Modified_Advance_Decline_Line Modified_Advance_Decline_Line

Индикатор Modified Advance Decline line