Оператор while

 
      int closebuy=-1;
//
                     while(closebuy<0 && !IsStopped())
                       {
                        RefreshRates();
                          {
                           closebuy=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,CLR_NONE);
                           Print("Закрытие BUY");
                          }
                       }

Будет ли такой цикл работать до тех пор, пока, ордер не закроется (p.s. это часть кода ордер предварительно выбран) при реквотах.

Или просто

Slippage указывать с большими величинами 
 
bool closebuy=false;
while(!closebuy && !IsStopped())

Еще надо бы Sleep(1) вставить под while.

Но лучше переменную-флаг, и на каждом тике повторять попытки.  

 
Dmitry Fedoseev:

Еще надо бы Sleep(1) вставить под while.

Но лучше переменную-флаг, и на каждом тике повторять попытки.  

То есть работать будет, Спасибо!
 
Vladimir Deryagin:
То есть работать будет, Спасибо!
После исправления будет. Функция OrderClose() возвращает true/false, никогда не возвращает -1.
 
Dmitry Fedoseev:
После исправления будет. Функция OrderClose() возвращает true/false, никогда не возвращает -1.

теперь понятно по поводу OrderClose() ,получается при OrderSend() используя данную конструкцию правильно будет использовать не переменную-флаг, так как возвращает -1;

      int opbuy=-1;
//
                     while(opbuy<0 && !IsStopped())
Sleep(1);
{
/////
}
 
Vladimir Deryagin:

теперь понятно по поводу OrderClose() ,получается при OrderSend() используя данную конструкцию правильно будет использовать не переменную-флаг, так как возвращает -1;

Да. Только Sleep() сделайте подольше, хотя бы пару секунд, или 5-ть сек - 5000.
 
Dmitry Fedoseev:
Да. Только Sleep() сделайте подольше, хотя бы пару секунд, или 5-ть сек - 5000.
Спасибо, теперь всё ясно. Sleep поставлю (1500) миллисекунд думаю для моего ДЦ будет нормально (при связи 1.21ms) ну а там методом тыка )))
 
Vladimir Deryagin:
Спасибо, теперь всё ясно. Sleep поставлю (1500) миллисекунд думаю для моего ДЦ будет нормально (при связи 1.21ms) ну а там методом тыка )))
М.б. таймер попроще будет? И поток не блокирует.
Причина обращения: