Bibliotheken: ErrorDescription

 

ErrorDescription:

Die Library enthält Funktionen die Beschreibungen der Codes von Laufzeitfehlern und die der Handelsserver zurückgibt.

Die Library enthält die folgenden Funktionen:

Autor: MetaQuotes Software Corp.

 
Automated-Trading posted  :

FehlerBeschreibung:

Autor: MetaQuotes Software Corp.

Was ist mit dem Trade Server Return Code 10027?


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

 
Versuchen Sie, diese Bibliothek mit Code 10027 zu verwenden. Wir werden die MQL5-Hilfe aktualisieren.
 
Rosh:
Versuchen Sie, diese Bibliothek mit Code 10027 zu verwenden. Wir werden die MQL5-Hilfe aktualisieren.


Die Bibliothek kompiliert nicht auf 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:


Die Bibliothek lässt sich nicht mit MT5 Build 244 kompilieren.

Entschuldigung, bitte warten Sie auf das Update.
 

Ich würde gerne Empfehlungen erhalten, wie die Telefonanlage diese Nachrichten behandeln sollte.

TradeServerReturnCodeDescription(int return_code) 

Ich würde gerne Empfehlungen von den Entwicklern des Terminals erhalten, wie die Telefonanlage diese Nachrichten verarbeiten sollte.

Nehmen wir an, hat die Antwort erhalten

case TRADE_RETCODE_REQUOTE: return(" Requote");

kann die Anfrage sofort wiederholen oder wird eine gewisse Zeitverzögerung empfohlen.

Nehmen wir an, Sie müssen auf den Server einhämmern, bis Sie diese Nachricht erhalten

case TRADE_RETCODE_TOO_MANY_REQUESTS: return(" Zu häufige Anfragen");

was damit zu tun ist, wie die Telefonanlage darauf reagieren soll usw.

 
Die Meisterschaft ist in 2 Monaten, und in der Tat gibt es keine Funktion der Öffnung der Position... ein Fehler wird kommen... und die Schuld selbst... kann eine Pause von ein paar Sekunden auf jeden Fehler setzen? was denken Sie?
 
Prival:

Ich möchte, dass zusätzlich zu den Nachrichten

Ich möchte von den Entwicklern des Terminals Empfehlungen erhalten, wie die Telefonanlage sie verarbeiten soll.

Nehmen wir an, hat die Antwort erhalten.

case TRADE_RETCODE_REQUOTE: return (" Requote");

Ist es möglich, die Anfrage sofort zu wiederholen, oder wird eine gewisse Zeitverzögerung empfohlen.


Struktur des Ergebnisses der Handelsanfrage

Beschreibung des Feldes

Feld

Beschreibung

Rückgabecode

Rückgabecode des Handelsservers

Geschäft

Ticket des Geschäfts, wenn es ausgeführt wurde. Wird bei einer Handelsoperation TRADE_ACTION_DEAL gemeldet

Auftrag

Ticket des Auftrags, wenn er erteilt wurde. Wird während eines Geschäftsvorgangs gemeldet TRADE_ACTION_PENDING

Volumen

Vom Makler bestätigtes Geschäftsvolumen. Hängt von der Art der Auftragsausführung ab

Preis

Der vom Makler bestätigte Preis im Geschäft. Hängt vom Abweichungsfeld in der Geschäftsanfrage und/oder von der Art des Geschäftsvorgangs ab.

Angebot

Aktueller Markt-Geldkurs (Requote-Kurs)

Anfrage

Aktueller Markt-Geldkurs (Requotes-Kurs)

Kommentar

Kommentar des Brokers zu dem Vorgang (standardmäßig ausgefüllt)


Versuch, eine neue Handelsanfrage zu den angebotenen Preisen zu senden

 
Der Code ERR_CHART_WRONG_TIMER_PARAMETER ist in Build 1100 nicht definiert. Er sollte aus dieser Bibliothek entfernt werden, da er einen Kompilierungsfehler verursacht.
 

In errordescription.mqh sollte Zeile 82 korrigiert werden

// case ERR_CHART_WRONG_TIMER_PARAMETER: return("Falscher Parameter für Timer");
case ERR_CHART_WRONG_PARAMETER:return("Falscher Parameter für Timer");

Ich habe es auskommentiert, also funktioniert es.

 

Es scheint mir sinnvoll, in der Datei errordescription.mqh die Zeilen return("Unbekannter Code der Antwort auf die Handelsanfrage") und return("Unbekannter Fehler") in etwas Informativeres zu ändern, z. B. in diese:

return("Unbekannter Antwortcode der Handelsanfrage: " + IntegerToString(return_code)) und

return("Unbekannter Fehler: " + IntegerToString(err_code) );

Der Vorteil ist offensichtlich. Sie werden in der Lage sein, fälschlicherweise übergebene Fehlercodes abzufangen, die keine Codes sind, und nach Beschreibungen von Codes zu suchen, die nicht in der Datei errordescription.mqh enthalten sind, und zwar mit demselben Google. Genau so habe ich es geändert.