Ошибка с кодом 1 при OrderSend

 
Открыт конкусный счёт (для чемпионата). Во время выполнения одного из OrderSend выскочила ошибка 1 (MT4 build 208). Решил прочитать что это такое:

ERR_NO_RESULT 1 OrderModify пытается изменить уже установленные значения такими же значениями. Необходимо изменить одно или несколько значений и повторить попытку.

Пришёл в замешательство. Причём тут OrderSend? Я OrderModify не использую в принципе.
 
cpp.tula писал (а):
Открыт конкусный счёт (для чемпионата). Во время выполнения одного из OrderSend выскочила ошибка 1. Решил прочитать что это такое:

ERR_NO_RESULT1OrderModify пытается изменить уже
установленные значения такими же значениями. Необходимо изменить одно или
несколько значений и повторить попытку.

Пришёл в замешательство. Причём тут OrderSend? Я OrderModify не использую в принципе.


:) бывает... ищо и не то увидишь))))))))) Версии терминала меняютя, а что нового видишь - лишь исправленные ошибки!))))))))
 
У меня совсем смешно - новый билд матом кроет! То 130 то 1 и так 2 гб лога :)
 
Shinigami:
У меня совсем смешно - новый билд матом кроет! То 130 то 1 и так 2 гб лога :)


Это еще норма! :)
 
Неужели всё так плохо и не следует обращать на номер ошибки, а только на её наличие? Хотя я так в принципе и делаю.
 
cpp.tula писал (а):
Неужели всё так плохо и не следует обращать на номер ошибки, а только на её наличие? Хотя я так в принципе и делаю.
Вы забыли указать точный пример вызова OrderSend
 
MetaQuotes:
Вы забыли указать точный пример вызова OrderSend

void buyLot() {
 
   int ticket;
   double dLots = getLot();
   if (dLots == 0) return;
   if(AccountFreeMarginCheck(Symbol(),OP_BUY,dLots)<=0 || GetLastError()==134) return;
   
   ticket=OrderSend(Symbol(),OP_BUY,dLots,Ask,3,Ask-StopProfit*Point,Ask+(ClosePribul*5)*Point,"StepByStep Cpp",magicnumber,0,Blue);
   if(ticket>0)
   {
      if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
   }
   else 
   {
      int err=GetLastError();
      Print("Order open error(",err,")");
   }
}
 
На основании вот этот куска кода я пришёл к выводу об ошибке в OrderSend
 Print("Order open error(",err,")");
PS. Ошибка у меня возникла пока только 1 раз из 20 OrderSendov.
 
Кстати, можно в Вашей ветке задать вопрос разработчикам, как долго сохраняется код последней ошибки - определенноне время или до следующей ошибки?
Спасибо.
 
В документации по функции GetLastError написано:
Функция возвращает код последней ошибки, после чего значение специальной переменной last_error, в которой хранится код последней ошибки обнуляется. Так что последующий вызов GetLastError() вернет значение 0.
 
Т.е., если у меня до этого была ошибка в программе, но я не вызвал функцию GetLastError, и потом в другом месте программы я вдруг, ни с того ни с сего, вызову эту функцию, то все равно получу 0?
Причина обращения: