Скачать MetaTrader 5

Манипуляция открытыми ордерами

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Evgeniy Myznikov
441
Evgeniy Myznikov  

Народ, подскажите, задача сделать трейлинг стоп, т.е. если цена доходит определенного уровня, то необходимо двигать стоп лос либо тейк профит в нашу пользу!

Код прилагаю, меня смущает правельно ли я раставил Bid и Ask, туплю, подскажите!

   //---- Манипуляции открытыми ордерами
   for (count = 0; count < OrTotalCount; count++)
   {
      //----
      if (OrType[count] == OP_BUY)
      {
         //---- Stop Loss
         if (((Bid - OrStopLoss[count]) / Point) >= INT_TRAILING_STOP)
         {
            OrStopLoss[count] = GetPrStopLoss(INT_STOPLOSS, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
         //---- Take Profit
         if (((OrTakeProfit[count] - Ask) / Point) <= INT_TRAILING_PROFIT)
         {
            OrTakeProfit[count] = GetPrTakeProf(INT_TAKEPROFIT, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
      }
      else if (OrType[count] == OP_SELL)
      {
         //---- Stop Loss
         if (((OrStopLoss[count] - Ask) / Point) >= INT_TRAILING_STOP)
         {
            OrStopLoss[count] = GetPrStopLoss(INT_STOPLOSS, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
         //---- Take Profit
         if (((Bid - OrTakeProfit[count]) / Point) <= INT_TRAILING_PROFIT)
         {
            OrTakeProfit[count] = GetPrTakeProf(INT_TAKEPROFIT, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
      }
   }
Alexander
2441
Alexander  
А какой смысл тейк профит то двигать? Он ведь станет недосягаемым, следовательно бесполезным.
Evgeniy Myznikov
441
Evgeniy Myznikov  
Roger:
А какой смысл тейк профит то двигать? Он ведь станет недосягаемым, следовательно бесполезным.


Двигать стоит в том случае, если вдруг пропанет интернет, или вырубят свет, вот тогда он станет возможно досягаемым!!!
Evgeniy Myznikov
441
Evgeniy Myznikov  
Просто можно вместо 100 пунктов взять чуть больше, если тренд продолжиться!
Ihor Herasko
9661
Ihor Herasko  
festival:

меня смущает правельно ли я раставил Bid и Ask, туплю, подскажите!

Неправильно. Для уже открытого Buy все цены должны отсчитываться от Bid, а для открытого Sell - от Ask.

При открытии рыночных ордеров, если требуется отсчитать некоторое количество пунктов от открытия ордера, то применяются цены Ask и Bid соответственно.

Evgeniy Myznikov
441
Evgeniy Myznikov  
Scriptong:

Неправильно. Для уже открытого Buy все цены должны отсчитываться от Bid, а для открытого Sell - от Ask.

При открытии рыночных ордеров, если требуется отсчитать некоторое количество пунктов от открытия ордера, то применяются цены Ask и Bid соответственно.



Можете поправить в коде для наглядности?
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий