Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Задействуй с пользой свободные компьютеры. Подключись к MQL5 Cloud Network!
mutantmoscow
44
mutantmoscow 2016.04.13 13:05 
Подскажите пожалуйста код для перевода ордера в безубыток после определенного количества пунктов
Bakhytzhan Abzalbekov
1632
Bakhytzhan Abzalbekov 2016.04.13 17:10  
mutantmoscow:
Подскажите пожалуйста код для перевода ордера в безубыток после определенного количества пунктов

Вот держите, при BezUbytok=0, перевод в безубыток отключается, а так задаете нужную величину в пунктах. Magik - магический номер ордера, при покупке он должен быть таким же

input int      BezUbytok=0;  //NoLoss
input int      Magik=100004;
    for(int cni2=0;cni2<total;cni2++)
     {
      if(!OrderSelect(cni2,SELECT_BY_POS,MODE_TRADES))
         continue;
      if(OrderMagicNumber()==Magik)
        {
         if(OrderType()==OP_BUY)
           {
            if(BezUbytok>0)
             {
              if(Ask-OrderOpenPrice()>_Point*(BezUbytok+MarketInfo(Symbol(),MODE_SPREAD)))
              {
               if(OrderStopLoss()<OrderOpenPrice())
                 {
                  //--- modify order and exit
                  //Print("BuyBU",Bid-OrderOpenPrice()," ",_Point*BezUbytok);
                  if(!OrderModify(OrderTicket(),OrderOpenPrice(),Ask-_Point*(BezUbytok+MarketInfo(Symbol(),MODE_SPREAD)),OrderTakeProfit(),0,clrBlue))
                     Print("OrderModify error ",GetLastError());
                  return;
                 }
              }
             }
           }
         if(OrderType()==OP_SELL)
           {
            if(BezUbytok>0)
             {
              if((OrderOpenPrice()-Bid)>_Point*BezUbytok)
              {
               if(OrderStopLoss()>OrderOpenPrice())
                 {
                  //--- modify order and exit
                  //Print("SellBU");
                  if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid+Point*BezUbytok,OrderTakeProfit(),0,clrRed))
                     Print("OrderModify error ",GetLastError());
                  return;
                 }
              }
             }
           }
        }
     }
  }
mutantmoscow
44
mutantmoscow 2016.04.13 18:13  
Bakhytzhan Abzalbekov:

Вот держите, при BezUbytok=0, перевод в безубыток отключается, а так задаете нужную величину в пунктах. Magik - магический номер ордера, при покупке он должен быть таким же

Благодарю вас!
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий