Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 845
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
Pokrov, Ich habe dir gesagt, was du da siehst...
Hier ist die Antworthttps://www.mql5.com/ru/forum/131277/page295#455199
Dank an den Autor.
Können Sie mir sagen, ob der unten stehende Fehlerbehandlungsblock richtig geschrieben ist oder ob etwas falsch ist? Fluchen Sie nicht gleich ))))
Wie kann der Indikator den Werteverlauf in einer Datei speichern (und später laden)? Gibt es fertige Lösungen?
Können Sie mir sagen, ob der unten stehende Fehlerbehandlungsblock richtig geschrieben ist oder ob etwas falsch ist? Fluchen Sie nicht gleich ))))
Meiner Meinung nach sollte die Fehlerbehandlung in Form einer benutzerdefinierten Funktion erfolgen, die nach jeder Aktion, die einen Zugriff auf den Server beinhaltet, aufgerufen werden sollte.
OrderSend() gibt z.B. das Auftragsticket zurück oder -1 im Falle eines Misserfolgs, d.h. im Falle eines Fehlers. Daher ist es notwendig, den Error-Handler im Falle einer erfolglosen Befehlsausführung aufzurufen und ihm den Fehlercode zu übergeben. Und in der Fehlerbehandlung sollten wir einen Rückgabewert angeben, bei dem die fehlgeschlagene Aktion wiederholt wird oder bei einem anderen Wert abgebrochen wird.
Zum Beispiel haben sich die Preise geändert, RefreshRates(); und versuchen Sie es erneut, und wenn es nicht genug Geld gibt, ist es wahrscheinlich besser, den Versuch abzubrechen.
Meiner Meinung nach sollte die Fehlerbehandlung in Form einer benutzerdefinierten Funktion erfolgen, die nach jeder Aktion im Zusammenhang mit dem Serverzugriff aufgerufen werden sollte.
OrderSend() gibt z.B. das Auftragsticket zurück oder -1 im Falle eines Misserfolgs, d.h. im Falle eines Fehlers. Daher sollten Sie im Falle einer nicht erfolgreichen Befehlsausführung den Error-Handler aufrufen und ihm den Fehlercode übergeben. Und in der Fehlerbehandlung sollten wir einen Rückgabewert angeben, bei dem die fehlgeschlagene Aktion wiederholt wird oder bei einem anderen Wert abgebrochen wird.
Zum Beispiel haben sich die Preise geändert, RefreshRates(); und versuchen Sie es erneut, und im Falle unzureichender Mittel ist es wahrscheinlich besser, den Versuch abzubrechen.
Ich habe GetLastError nach Funktionen und wenn ein Fehler auftritt, wird es nicht zu diesem Block gehen (wie es geschrieben ist) und Befehle werden nicht ausgeführt werden? Ich verstehe die Kette, z. B. OrderSend() -> GetLastError -> Fehlerblock Sleep(3000) RefreshRates() -> den Block verlassen und wenn die Bedingungen bestehen bleiben, wird OrderSend() erneut angefordert. Oder meine Überlegungen und Konzepte sind falsch. Ich verstehe, dass Sie den Rückgabewert 1 oder 0 in den Block schreiben wollen, aber meine Funktionen sind einfach nicht auf boolesche Werte wie SignalBuy bezogen, wenn ich richtig verstehe, sollten die Rückgabewerte dort zurückgegeben werden.