Bibliotecas: ErrorDescription

 

ErrorDescription:

A biblioteca contém funções que retornam a descrição dos códigos de erro em tempo de execução e os códigos de retorno do servidor de negociação.

Autor: MetaQuotes Software Corp.

 
Automated-Trading posted  :

ErrorDescription:

Autor: MetaQuotes Software Corp.

O que acontece com o código de retorno do servidor de negociação 10027?


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

 
Tente usar essa biblioteca com o código 10027. Vamos atualizar a Ajuda MQL5.
 
Rosh:
Tente usar essa biblioteca com o código 10027. Vamos atualizar a Ajuda MQL5.


A biblioteca não compila no 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:


A biblioteca não compila no MT5 build 244

Desculpe, aguarde a atualização, por favor.
 

Gostaria de obter recomendações sobre como o PBX deve lidar com essas mensagens.

TradeServerReturnCodeDescription(int return_code) 

Gostaria de obter recomendações dos criadores do terminal sobre como o PBX deve processá-las.

Digamos que tenha recebido a resposta de

case TRADE_RETCODE_REQUOTE: return(" Requote");

O pode repetir imediatamente a solicitação ou é recomendável algum tempo de atraso.

Digamos que você tenha que pressionar o servidor até receber essa mensagem

case TRADE_RETCODE_TOO_MANY_REQUESTS: return(" Too frequent requests");

O que fazer com ela? Como o PBX deve reagir a ela, etc.

 
O campeonato é daqui a 2 meses, e de fato não há função de abrir a posição... um erro virá... e se culpará... pode colocar uma pausa de alguns segundos em qualquer erro? o que você acha?
 
Prival:

Gostaria de receber, além das mensagens

Gostaria de receber recomendações dos criadores do terminal sobre como o PBX deve processá-las.

Digamos que tenha recebido a resposta

case TRADE_RETCODE_REQUOTE: return (" Requote");

É possível repetir a solicitação imediatamente ou é recomendado algum tempo de atraso?


Estrutura do resultado da consulta comercial

Descrição do campo

Campo

Descrição do campo

código de retorno

Código de retorno do servidor de negociação

negócio

Bilhete da transação, se tiver sido executado. Informado durante uma operação de negociação TRADE_ACTION_DEAL

ordem

Ticket da ordem, se ela tiver sido colocada. É relatado durante uma operação de negociação TRADE_ACTION_PENDING

volume

Volume da transação confirmado pelo corretor. Depende do tipo de execução da ordem

preço

O preço na transação confirmada pelo corretor. Depende do campo de desvio na solicitação de negociação e/ou do tipo de operação de negociação.

lance

Preço de oferta de mercado atual (preço de requote)

ask

Preço de oferta de mercado atual (preço de recotação)

comentário

Comentário do corretor sobre a operação (preenchido por padrão)


Tentativa de enviar uma nova solicitação de negociação aos preços oferecidos

 
O código ERR_CHART_WRONG_TIMER_PARAMETER não está definido no Build 1100. Ele deve ser removido dessa biblioteca, pois gera um erro de compilação.
 

Em errordescription.mqh, a linha 82 deve ser corrigida

// case ERR_CHART_WRONG_TIMER_PARAMETER: return(" Parâmetro errado para o cronômetro");
case ERR_CHART_WRONG_PARAMETER:return("Parâmetro errado para o cronômetro");

Eu comentei isso, então funciona.

 

Parece-me que, no arquivo errordescription.mqh, faz sentido alterar as linhas return("Unknown code of response to trade request") e return("Unknown error") para algo mais informativo, por exemplo, assim:

return("Unknown trade request response code: " + IntegerToString(return_code)) e

return("Unknown error: " + IntegerToString(err_code) );

O benefício é óbvio. Você poderá capturar códigos de erro passados erroneamente que não são códigos e pesquisar descrições de códigos que não estão no arquivo errordescription.mqh no mesmo Google. Foi exatamente assim que eu alterei.