Новая версия платформы MetaTrader 4 build 1260 - страница 10

 

впервые увидел такое сообщение:

видно, что ордер провисел более трёх минут, а потом принято решение о таймауте. Тип исполнения Market! Не ролловер. Что это за ошибка на логическом уровне? Это брокер отказал после трёх минут раздумываний?

 
Igor Zakharov:

впервые увидел такое сообщение:

видно, что ордер провисел более трёх минут, а потом принято решение о таймауте. Тип исполнения Market! Не ролловер. Что это за ошибка на логическом уровне? Это брокер отказал после трёх минут раздумываний?

перед отправкой ордера нужно проверять связь с сервером.

ну, и заодно, остальные разрешения на торговлю.

 
Taras Slobodyanik:

перед отправкой ордера нужно проверять связь с сервером.

ошибка нет связи с сервером сразу будет, даже без проверки

Igor Zakharov:

впервые увидел такое сообщение:

видно, что ордер провисел более трёх минут, а потом принято решение о таймауте. Тип исполнения Market! Не ролловер. Что это за ошибка на логическом уровне? Это брокер отказал после трёх минут раздумываний?

я на открытие ордера так не попадал, а на закрытие ордера так и было - 4 минуты

но я проверяю связь в МТ4, так:

bool ServerDisable(int count=10)
  {
   for(int i=0;i<count;i++)
     {
      if(IsConnected() && IsTradeAllowed() && !IsTradeContextBusy()){RefreshRates(); return(false);}
      Sleep(157);
     }
   return(true);
  }

использовать можно как сразу после OnTick() или непосредственно перед отправкой ордера

if(ServerDisable()) 
   {
      Comment("Нет связи!!!");
      return;
   }
 
Igor Makanu:

ошибка нет связи с сервером сразу будет, даже без проверки

я на открытие ордера так не попадал, а на закрытие ордера так и было - 4 минуты

но я проверяю связь в МТ4, так:

использовать можно как сразу после OnTick() или непосредственно перед отправкой ордера

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

вопрос не столько во времени, сколько в странной ошибке: что такое таймаут при исполнении ордера? насколько понял, первый фильтр - проверки терминала - ордер прошёл, т.е. оказался к брокера. а вот что дальше - не понятно. пара евродоллар, ликвидность высокая, не исполнить невозможно. обычно устаревшие цены по офф-квотерс не проходят...

я автор робота, не на моём счёте произошло. ко мне претензия от пользователя - сделай чтобы не было такой ошибки. а я первый раз такую вижу более чем за 10 лет написания советников... и не уверен, что в роботе она.

 
Igor Makanu:

ошибка нет связи с сервером сразу будет, даже без проверки

ошибка может быть не в пропадании связи, а в появлении)

При восстановлении коннекта происходит поиск наилучшего сервера - перебор подключений. То есть нужно ждать какое-то время пока подключение "устаканится".
Я ставлю паузу в 10 сек, на восстановление торгового окружения.

...иначе могут быть даже двойные ордера.

 
Taras Slobodyanik:

ошибка может быть не в пропадании связи, а в появлении)

При восстановлении коннекта происходит поиск наилучшего сервера - перебор подключений. То есть нужно ждать какое-то время пока подключение "устаканится".
Я ставлю паузу в 10 сек, на восстановление торгового окружения.

...иначе могут быть даже двойные ордера.

не попадал в такую ситуацию, спасибо, буду знать

Igor Zakharov:

а я первый раз такую вижу более чем за 10 лет написания советников... и не уверен, что в роботе она.

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

и если не ошибаюсь, то руками может сервер и дать закрыть ордер

 
Taras Slobodyanik:

ошибка может быть не в пропадании связи, а в появлении)

не мой случай (в логе нет потерь связи), но на ус намотаю, что такое может быть.

Igor Makanu:

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

уточню, что за счёт, спасибо за идею.

 
Igor Zakharov:

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

странный ордер - почему нет цены? по любой цене?
рынок точно был открыт? были аск/бид?

пс. ну и сейчас праздники - ограничено всё
 
Taras Slobodyanik:

странный ордер - почему нет цены? по любой цене?
рынок точно был открыт? были аск/бид?

пс. ну и сейчас праздники - ограничено всё

время было торговое, 7го, вроде, обычный день был. аски/биды точно были - это копир - заметили потому что это была сетка из 3х ордеров. 2 открылись, а третий вот с такой ошибкой. При этом копирование было с мастера на 3 аккаунта - только на одном вот так случилось.

отсутствие цены действительно странно, может потому что исполнение рыночное? - все равно ведь откроется, при Market Execution проскальзывание игнорируется.

 
В МТ5 можно включать/отключать оптимизацию компиляции через параметр [Experts] Optimize=1/0 в файле metaeditor.ini, а в МТ4 что-то похожее есть?

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