Удаление отложенных ордерова

 

Господа благодарю вас за ответы, вы мне помогли справиться с этой проблемой...но...как вы уже догадались уменя появился новый...наверной наваш взгляд глупый вопрос, но все же...

Мне нужно что бы в 00.00 открывалаось два отложенных ордера один BUYSTOP и один SELLSTOP а не по 333. и в 23.59 не использованные удалялись, и в 00.00 снова выставлялись два ордера. Кароче в любой момент у меня может быть не более 2 -х отложенных ордеров. Я вот делаю так:


 // Удаляю все отложенные ордера

if (Hour()==23 && Minute()==59)
  {
  for(int i=1; i<=OrdersTotal(); i++)
  {
  if (OrderSelect(i-1,SELECT_BY_POS)==true)
  {  
  if (OrderSymbol()==Symbol()
  && (OrderType()== OP_BUYSTOP || OrderType()== OP_SELLSTOP)
  ) 
  OrderDelete(OrderTicket()); 
  }
  }  

  // переменные  Can_Buy = true;   Can_Sell = true; у меня отвечают за то что можно открываться

  Can_Buy = true;
  Can_Sell = true;
  }  
// ну и соответсвенно ставлю ордера

  if (Can_Buy){..Can_Buy=false}

  if (Can_Sell){..Can_Sell=false}

кароче в итоге он уменя открывает огромное количество ордеров отложенных...не понятно почему

 
Kubodel >>:

Господа благодарю вас за ответы, вы мне помогли справиться с этой проблемой...но...как вы уже догадались уменя появился новый...наверной наваш взгляд глупый вопрос, но все же...

Мне нужно что бы в 00.00 открывалаось два отложенных ордера один BUYSTOP и один SELLSTOP а не по 333. и в 23.59 не использованные удалялись, и в 00.00 снова выставлялись два ордера. Кароче в любой момент у меня может быть не более 2 -х отложенных ордеров. Я вот делаю так:


 // Удаляю все отложенные ордера

if (Hour()==23 && Minute()==59)
  {
  for(int i=1; i<=OrdersTotal(); i++)
  {
  if (OrderSelect(i-1,SELECT_BY_POS)==true)
  {  
  if (OrderSymbol()==Symbol()
  && (OrderType()== OP_BUYSTOP || OrderType()== OP_SELLSTOP)
  ) 
  OrderDelete(OrderTicket()); 
  }
  }  

  // переменные  Can_Buy = true;   Can_Sell = true; у меня отвечают за то что можно открываться

  Can_Buy = true;
  Can_Sell = true;
  }  
// ну и соответсвенно ставлю ордера

  if (Can_Buy){..Can_Buy=false}

  if (Can_Sell){..Can_Sell=false}

кароче в итоге он уменя открывает огромное количество ордеров отложенных...не понятно почему

И вообще правильно ли я удаляю оставшиеся ордера?

 
Kubodel >>:

И вообще правильно ли я удаляю оставшиеся ордера?

А зачем удалять отложки по времени скриптом? Это весьма накладно и не шибко надежно. Установите для них срок годности, по истечении которого, они сами ликвидируются на сервере.

Причина обращения: