
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Und es ist nicht bedingungslos Nullen, sondern nur, wenn last_error_fifo == 0. Kurz gesagt, es ist das gleiche wie Eier im Profil. überprüfen, was die Funktion zurückgegeben, bevor Sie für Fehler.
Entwickeln Sie das Thema.
Genau für Sie, siehe :
OrderSend() Beendigung Optionen;
1. Kein Fehler. Sie rufen weiterhin GetLastError() auf - im Prinzip ist es in Ordnung, wenn der vorherige Fehler gelesen, verarbeitet und zurückgesetzt wird.
IMHO müssen Sie das nicht.
2. Es gibt einen Fehler - wenn Sie GetLastError () aufrufen , analysieren Sie , soweit ich weiß , einen einzigen Fehler, obwohl es viele davon geben kann.
IMHO ist das korrekter:
Die letzte ist ErrReaction(err) - das ist die Fehlerbehandlung.
Zum Beispiel so:
Die Verarbeitungsfunktion teilt die Fehler in "behebbare" und "nicht behebbare" ein - die "behebbaren" versucht man zu beseitigen, der Code der nicht behebbaren kehrt zurück - zur Verarbeitung in einer externen (aufrufenden) Prozedur.
Wie auch immer, meine Kakerlaken sind cooler, weil es nicht notwendig ist, zu überprüfen, was jede Funktion zurückgegeben, so dass der Code besser aussieht... Außerdem können Sie Ihre eigenen Fehlercodes organisieren.
Außerdem können Sie Ihre eigenen Fehlercodes organisieren.
wir haben irgendwie genug, um auch unsere eigenen zu machen.
Das hängt von Ihrer Logik ab. Schließlich können Sie jeden Fehler bearbeiten, und zwar nur die, die in dieser Situation wichtig sind.
Es ist natürlich wünschenswert, eine Funktion für die Verarbeitung aller wichtigen Fehler zu haben, und dann wird die dem Expert Advisor innewohnende Logik die Prioritäten "anpassen".
Unabhängig davon möchte ich mich beim Themenstarter entschuldigen, wenn meine Frage von der Hauptrichtung des Themas ablenkt.
Irgendwie haben wir genug, um auch unsere eigenen zu machen.
Wer versuchen die Erfinder von MQL5 so sehr, SetUserError zu erstellen... sie haben bis zu 65535 Fehlercodes für sich selbst reserviert, und alles, was darüber liegt, ist in Ordnung, Sie können Ihre eigenen arrangieren :)
Nur für Sie, siehe :
2. Es liegt ein Fehler vor - wenn Sie GetLastError () aufrufen, analysieren Sie , soweit ich weiß, einen einzigen Fehler, obwohl es viele geben kann.
IMHO - die korrektere Variante:
Die letzte ist ErrReaction(err) - das ist die Fehlerbehandlung.
vit46:
Ознакомьтесь с этим материалом. imho, не повредит.
https://www.mql5.com/ru/forum/131373
Es ist natürlich wünschenswert, eine Funktion für die Verarbeitung aller wichtigen Fehler zu haben, und dann wird die dem Expert Advisor innewohnende Logik die Prioritäten "korrigieren".
Ich bin zum Beispiel der Meinung, dass es ausreicht, 5 Mal zu versuchen, einen Auftrag zu eröffnen und dann aufzuhören, während Sie vielleicht denken, dass Sie 20 Mal einen Auftrag eröffnen müssen, um zu gewinnen".
Ich zum Beispiel denke, dass es ausreicht, einen Auftrag 5 Mal zu öffnen und dann aufzuhören, aber Sie denken vielleicht, dass Sie es 20 Mal versuchen müssen oder "bis Sie gewinnen".
Nein, ich zähle nichts. Ich habe keine feste und eindeutige Meinung, deshalb bitte ich Sie, mir die beste Fehlerkorrekturfunktion zu empfehlen.