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

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

Опубликовал:
Vladimir Karputov
Просмотров:
2126
Рейтинг:
(17)
Опубликован:
2016.11.18 13:42
Обновлен:
2018.02.16 10:21
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Автор идеи — George F.Peskov, автор кода mq5 — barabashkakvn.

Торговая система на основе пересечения двух iMA, MA, стоп-лосс выставляется автоматически, исходя из величины ATR. При открытии и закрытии позиции посылается сообщение на email. Параметры можно подобрать путем тестирования на истории.

Получение значений индикаторов на первом и втором барах:

//--- get Moving Average
   mas=iMAGet(handle_iMA1,1);       // длинный мувинг 12
   maf=iMAGet(handle_iMA2,1);       // короткий мувинг 4
   mas_p=iMAGet(handle_iMA1,2);     // длинный мувинг 12
   maf_p=iMAGet(handle_iMA2,2);     // короткий мувинг 4
   Atr=iATRGet(0);

Проверка условий на продажу:

//--- Условие продажи
   if(maf<mas && maf_p>=mas_p)
     {
      double lots=LotsOptimized();
      double stop_loss=NormalizeDouble(m_symbol.Bid()+Atr,Digits());
      res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),
                       m_symbol.NormalizePrice(stop_loss),0);
      if(SndMl==true && res)
        {
         sHeaderLetter="Operation SELL by"+Symbol()+"";
         sBodyLetter="Deal Sell by"+Symbol()+" at "+DoubleToString(m_symbol.Bid(),Digits())+
                     ", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
         sndMessage(sHeaderLetter,sBodyLetter);
        }
      return;
     }

Проверка условий на покупку:

//--- Условие покупки
   if(maf>mas && maf_p<=mas_p)
     {
      double lots=LotsOptimized();
      double stop_loss=NormalizeDouble(m_symbol.Ask()-Atr,Digits());
      res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),
                      m_symbol.NormalizePrice(stop_loss),0);
      if(SndMl==true && res)
        {
         sHeaderLetter="Operation BUY at"+Symbol()+"";
         sBodyLetter="Deal Buy at"+Symbol()+" for "+DoubleToString(m_symbol.Ask(),Digits())+
                     ", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
         sndMessage(sHeaderLetter,sBodyLetter);
        }
      return;
     }


 

Frank Ud Frank Ud

Работа только на hedge-счетах! Мартин, мартингейл. Удвоение лота при просадке.

RT Scalper RT Scalper

Реал-тайм индикатор, предназначенный для скальперской торговли на ФОРТС.

iBarShift_MT5 iBarShift_MT5

Вариант функции iBarShift для MetaTrader 5, принимает параметр типа datetime — время открытия бара, индекс которого нужно узнать.

Fractal_CCI Fractal_CCI

Фрактальный Commodity Channel Index.