Удаление sell_stop и buy_stop.

 

что-то вроде этого..

//+------------------------------------------------------------------+
//|  Удаление отложенных ордеров по инструменту                      |
//+------------------------------------------------------------------+  
void deletePendingBySymbol(int try, int tradeSleep){
   int k = OrdersTotal(), count, i;
   int ticket[100];
   if (k == 0) return;  
   while (IsTradeContextBusy() || !IsTradeAllowed()) {Comment("Торговый поток занят ...");Sleep(tradeSleep);}
   Comment("Удаление отложенных ордеров по инструменту !");
   for (i = 0; i < k; i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) &&
          OrderSymbol()==Symbol() && OrderType() > 1) {         
         ticket[count] = OrderTicket();
         count++;                      
      }
   }
   for (i = 0; i < count; i++) {
      if (ticket[i] == 0) break;
      while(!OrderDelete(ticket[i],CLR_NONE)){Sleep(300);}
   }
}
 
Angy писал(а) >>
Подскажите пожалуйста,кто-нибудь как удалить(с помощью какой функции) не открытые позиции sell stop и buy stop?

Так может проще в самой функции установки ордеров задать время их действия?

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,price,3,price-(SL)*Point,price+TP*Point,"", Magic,ExpTime,CLR_NONE);                                              
 
deletePendingBySymbol(int try, int tradeSleep) А что означают параметры try и tradeSleep?
 
rid >>:

Так может проще в самой функции установки ордеров задать время их действия?

А можно полностью код,если не трудно?А то там так много всяких параметров,которые не указаны,и некоторые из них надо как-то расчитать!

 
Ага,все получилось!!!)))Всем спасибо,с Новым годом!!!)))
Причина обращения: