Bibliothèque: ErrorDescription

 

ErrorDescription:

La bibliothèque contient des fonctions qui renvoient une description des codes d'erreur d'exécution et des codes de retour du serveur de trades.

Auteur : MetaQuotes

 
Automated-Trading posted  :

ErrorDescription:

Auteur : MetaQuotes Software Corp.

Qu'en est-il du code de retour 10027 du serveur commercial ?


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

 
Essayez d'utiliser cette bibliothèque avec le code 10027. Nous allons mettre à jour l'aide MQL5.
 
Rosh:
Essayez d'utiliser cette bibliothèque avec le code 10027. Nous allons mettre à jour l'aide MQL5.


La bibliothèque ne compile pas sur 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:


La bibliothèque ne se compile pas sur MT5 build 244

Désolé, attendez la mise à jour, s'il vous plaît.
 

J'aimerais obtenir des recommandations sur la manière dont le PBX devrait traiter ces messages.

TradeServerReturnCodeDescription(int return_code) 

J'aimerais que les créateurs du terminal me fassent des recommandations sur la manière dont le PBX devrait traiter ces messages.

Disons que a reçu la réponse de

case TRADE_RETCODE_REQUOTE : return(" Requote") ;

peut-il répéter immédiatement la demande ou un certain délai est-il recommandé ?

Supposons que vous deviez marteler le serveur jusqu'à ce que vous obteniez ce message

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

que faire de ce message ? comment le PBX doit-il réagir, etc.

 
Le championnat est dans 2 mois, et en fait il n'y a pas de fonction d'ouverture de la position... une erreur va arriver... et s'en prendre à soi-même... peut-on mettre une pause de quelques secondes sur toute erreur ? qu'en pensez-vous ?
 
Prival:

J'aimerais, en plus des messages

J'aimerais recevoir des recommandations de la part des créateurs du terminal sur la manière dont le PBX devrait les traiter.

Supposons que reçoive la réponse de

case TRADE_RETCODE_REQUOTE : return (" Requote") ;

Est-il possible de répéter la demande immédiatement ou un certain délai est-il recommandé ?


Structure du résultat de l'interrogation commerciale

Description du champ

Champ

Description du champ

retcode

Code de retour du serveur commercial

transaction

Ticket de la transaction, si elle a été exécutée. Signalé lors d'une opération commerciale TRADE_ACTION_DEAL

ordre

Ticket de l'ordre, s'il a été passé. Il est signalé lors d'une opération commerciale TRADE_ACTION_PENDING

volume

Volume de la transaction confirmé par le courtier. Dépend du type d'exécution de l'ordre

prix

Prix de la transaction confirmé par le courtier. Dépend du champ d'écart dans la demande d'opération et/ou du type d'opération.

offre

Prix de l'offre sur le marché actuel (prix de la demande de cotation)

ask

Prix d'offre actuel du marché (prix des requêtes)

commentaire

Commentaire du courtier sur l'opération (rempli par défaut)


Essayer d'envoyer une nouvelle demande de transaction aux prix proposés

 
Le code ERR_CHART_WRONG_TIMER_PARAMETER n'est pas défini dans la version 1100. Il doit être supprimé de cette bibliothèque car il provoque une erreur de compilation.
 

Dans errordescription.mqh, la ligne 82 doit être corrigée

// case ERR_CHART_WRONG_TIMER_PARAMETER : return(" Paramètre incorrect pour le timer") ;
case ERR_CHART_WRONG_PARAMETER :return("Paramètre incorrect pour la minuterie") ;

Je l'ai commenté, et cela fonctionne.

 

Il me semble que dans le fichier errordescription.mqh, il serait judicieux de remplacer les lignes return("Unknown code of response to trade request") et return("Unknown error") par quelque chose de plus informatif, par exemple comme ceci :

return("Code inconnu de la réponse à la demande de transaction : " + IntegerToString(return_code)) et

return("Erreur inconnue : " + IntegerToString(err_code) ) ;

L'avantage est évident. Vous serez en mesure d'attraper les codes d'erreur transmis par erreur qui ne sont pas des codes et de rechercher les descriptions des codes qui ne sont pas dans le fichier errordescription.mqh dans le même Google. C'est exactement ce que j'ai modifié.