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

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

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

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

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

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


:) бывает... ищо и не то увидишь))))))))) Версии терминала меняютя, а что нового видишь - лишь исправленные ошибки!))))))))
У меня совсем смешно - новый билд матом кроет! То 130 то 1 и так 2 гб лога :)
[Supprimé]
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?