Библиотеки: ErrorDescription

 

ErrorDescription:

Библиотека содержит функции для получения описания ошибок и кодов возврата торгового сервера:

Автор: MetaQuotes Software Corp.

 
Automated-Trading posted  :

ОшибкаОписание:

Автор: MetaQuotes Software Corp.

Что делать с кодом возврата торгового сервера 10027?


https://www.mql5.com/en/forum/458

 
Попробуйте использовать эту библиотеку с кодом 10027. Мы собираемся обновить справку по MQL5.
 
Rosh:
Попробуйте использовать эту библиотеку с кодом 10027. Мы собираемся обновить справку по MQL5.


Библиотека не компилируется на MT5 build 244


'ErrorDescription.mqh'    ErrorDescription.mqh    1    1
'TRADE_RETCODE_NO_CHANGES' - undeclared identifier    ErrorDescription.mqh    37    12
'TRADE_RETCODE_SERVER_DISABLES_AT' - undeclared identifier    ErrorDescription.mqh    38    12
'TRADE_RETCODE_CLIENT_DISABLES_AT' - undeclared identifier    ErrorDescription.mqh    39    12
'TRADE_RETCODE_LOCKED' - undeclared identifier    ErrorDescription.mqh    40    12
'TRADE_RETCODE_FROZEN' - undeclared identifier    ErrorDescription.mqh    41    12
no executable file produced        1    1
6 error(s), 0 warning(s)        1    1
 
investeo:


Библиотека не компилируется на MT5 build 244

Извините, подождите обновления, пожалуйста.
 

Хотелось бы кроме сообщений

TradeServerReturnCodeDescription(int return_code) 

Получить рекомендации от создателей терминала, как АТС должна их обрабатывать.

Допустим пришел ответ

 

      case TRADE_RETCODE_REQUOTE:            return("Реквота");

 

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

Допустим долбить сервер пока не получишь вот такое сообщение

 

case TRADE_RETCODE_TOO_MANY_REQUESTS:  return("Слишком частые запросы");

 

в свою очередь что с ним делать ? как АТС должна реагировать на него и т.д.

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

Хотелось бы кроме сообщений

Получить рекомендации от создателей терминала, как АТС должна их обрабатывать.

Допустим пришел ответ

 

      case TRADE_RETCODE_REQUOTE:            return("Реквота");

 

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


Структура результата торгового запроса

Описание полей

Поле

Описание

retcode

Код возврата торгового сервера

deal

Тикет сделки, если она совершена. Сообщается при торговой операции TRADE_ACTION_DEAL

order

Тикет ордера, если он выставлен. Сообщается при торговой операции TRADE_ACTION_PENDING

volume

Объем сделки, подтверждённый брокером. Зависит от типа ордера по исполнению

price

Цена в сделке, подтверждённая брокером. Зависит от поля deviation в торговом запросе и/или от типа торговой операции

bid

Текущая рыночная цена предложения (цены реквоты)

ask

Текущая рыночная цена спроса (цены реквоты)

comment

Комментарий брокера к операции (по умолчанию заполняется расшифровкой)


Попробовать отправить новый торговый запрос по предложенным ценам

 
Код ERR_CHART_WRONG_TIMER_PARAMETER не определен в Build 1100. Его следует удалить из этой библиотеки, поскольку он приводит к ошибке компиляции.
 

В файле errordescription.mqh следует исправить строку82

// case ERR_CHART_WRONG_TIMER_PARAMETER: return("Неверный параметр для таймера");
case ERR_CHART_WRONG_PARAMETER:return("Неправильный параметр для таймера");

Я закомментировал это, так что все работает.

 

Мне кажется, в файле errordescription.mqh имеет смысл изменить строки return("Неизвестный код ответа на торговый запрос")   и return("Неизвестная ошибка") на нечто более информативное, например вот так:

return("Неизвестный код ответа на торговый запрос: " + IntegerToString(return_code))    и

return("Неизвестная ошибка: " + IntegerToString(err_code) );

Польза очевидна. Можно будет отлавливать ошибочно переданные коды ошибок, которые кодами не являются и искать описания кодов, которых нет в файле errordescription.mqh в том же гугле. У себя я именно так и изменил.