• Уважаемый Гость
    Если Вы хотите сделать трейдинг основным источником дохода.
    То рекомендую принять участие в Марафоне CopyFX

[MQL4] Функция трейлинга стоп-лосс

romanzif

Местный
Команда форума
Администратор
Монет
59,764
Код:
//+------------------------------------------------------------------+
void TrailSL()
  {
   double sl;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS))
        {
         if(OrderMagicNumber()==Magic && OrderSymbol()==Symbol() && OrderProfit()>0)
           {
            if(OrderType()==OP_BUY)
              {
               sl=NormalizeDouble(Bid-TrailDistance*Point,Digits); // расчет стоп-лосса к текущей цене - расстояние

               if(OrderStopLoss()>sl || OrderStopLoss()==sl) continue;

               bool res=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),OrderExpiration(),clrOrangeRed);
               if(!res) Print("Modify Error: ",GetLastError());
              }

            if(OrderType()==OP_SELL)
              {
               sl=NormalizeDouble(Ask+TrailDistance*Point,Digits); // расчет стоп-лосса к текущей цене + расстояние

               if(OrderStopLoss()<sl || OrderStopLoss()==sl) continue;

               bool res=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),OrderExpiration(),clrOrangeRed);
               if(!res) Print("Modify Error: ",GetLastError());

              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
 

romanzif

Местный
Команда форума
Администратор
Монет
59,764
Метода расчёта куда перемещать СЛ можно менять.
Тогда строку sl=NormalizeDouble(Bid-TrailDistance*Point,Digits); и sl=NormalizeDouble(Ask+TrailDistance*Point,Digits);
нужно заменить на то по какому принципу вы хотите тралить СЛ.

Например можно тралить не на фиксированное расстояние как в примере выше, а за хай/лоу ближайших Н свечей или за ближайший хай/лоу.
Или за фрактал.
Или за скользящую среднюю.

Так же можно выбирать как вызывать эту функции, только на новой свече или каждый тик.
 

Проверенные Брокеры

Реклама

Secret Book
VPS сервера форекс
Weltrade 50

Заработок онлайн

Верх