Скрипты: StopAndTake

 

StopAndTake:

При перетаскивании скрипта на график цены изменяется стоп или тейк всех открытых ордеров по данному инструменту.

Автор: Dmitry Melnichenko

 
меняют стопы по всем позициям, но удалять стопы по одному приходится. Каким скриптом можно удалить стопы и/или тейки по всем позициям?
 
Ronnies:
меняют стопы по всем позициям, но удалять стопы по одному приходится. Каким скриптом можно удалить стопы и/или тейки по всем позициям?

Замените функцию ModifyOrder()

на  

void ModifyOrder()
{
   switch(OrderType())
   {
      case OP_BUY:
      {
         if(price > Bid)
            if(!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), 0.0, 0))
               MessageBox("Order change error", "Warning", MB_OK);
         if(price < Bid)
            if(!OrderModify(OrderTicket(), OrderOpenPrice(), 0.0, OrderTakeProfit(), 0))
               MessageBox("Order change error", "Warning", MB_OK);
         break;
      }
      case OP_SELL:
      {
         if(price < Ask)
            if(!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), 0.0, 0))
               MessageBox("Order change error", "Warning", MB_OK);
         if(price > Ask)
            if(!OrderModify(OrderTicket(), OrderOpenPrice(), 0.0, OrderTakeProfit(), 0))
               MessageBox("Order change error", "Warning", MB_OK);
         break;
      }
   }
}
//+---------------
 
Меняет стопы и профиты всех позиций а не только открытых! Кто может исправить?
Причина обращения: