Wenn die Entwickler Exit / Abort als Standard angegeben hätten, dann wäre es möglich, die Datenverarbeitung korrekt zu beenden, wenn z.B. TF nicht bereit ist - OHLC-Daten, es wäre auch nützlich für die Verarbeitung von Aufträgen, die an den Server gesendet werden... es wäre praktisch, den Code an einer beliebigen Stelle zu unterbrechen und vor dem nächsten Tick zu beenden, ohne endlos return() zum Verlassen von OnTick()
Eigentlich ist es möglich, eine Krücke zu implementieren, aber die Benutzerfreundlichkeit ist dort schlecht, ich werde es Ihnen nicht einmal zeigen, obwohl es funktionieren sollte.
Allerdings scheint die Benutzerfreundlichkeit verbessert worden zu sein. Im Allgemeinen sollte jeder Funktions- oder Methodenaufruf mit möglicher Ausgabe, einschließlich verschachtelter Funktionen, in ein _call-Makro eingeschlossen werden. Diejenigen, die daran interessiert sind, können den Rest gerne für alle Handler schreiben. Es wurde auf einer Kurbel geschrieben, als Test einer Idee, so dass es nicht getestet wurde, von dem Wort - überhaupt.
MT5 bietet keinen Schutz gegen versehentliches Schließen des Terminals. Vor kurzem gab es ein solches Szenario.
Das Terminal und der Browser sind für das gesamte Fenster geöffnet. Ich bin im Browser.
Der Browser ist eingefroren, ich klicke auf das Kreuz in der rechten oberen Ecke.
Sie lässt sich nicht schließen, ich drücke sie noch ein paar Mal.
Irgendwann während des Drückens wird der Browser geschlossen - das Fenster verschwindet. Und zu diesem Zeitpunkt das Kreuz des Terminals unter dem Cursor, wo ich gedrückt habe.
Das Terminal schließt sich so schnell, dass es einfach nicht auffällt. Vor allem, wenn viele Terminals geöffnet sind.
Dies ist eine sehr unangenehme Situation, z. B. bei der Stapeloptimierung. Aber für den Battle Advisor ist es noch schlimmer. Sie sind vielleicht dumm, wenn Sie nicht bemerken, dass Sie Ihr Kampfterminal getötet haben.
Sie haben einen solchen Schutz angebracht.
voidOnDeinit( constint Reason )
{
if (Reason == REASON_CLOSE)
MessageBox("Terminal is being closed!");
}
Wenn Sie es schließen, erscheint für fünf Sekunden eine Meldung. So können Sie herausfinden, was wirklich passiert ist. Es ist merkwürdig, dass es im Terminal keinen Schutz gibt.
MT5 bietet keinen Schutz gegen versehentliches Schließen des Terminals. Vor kurzem gab es ein solches Szenario.
Das Terminal und der Browser sind für das gesamte Fenster geöffnet. Ich bin im Browser.
Der Browser ist eingefroren, ich klicke auf das Kreuz in der rechten oberen Ecke.
Sie lässt sich nicht schließen, ich drücke sie noch ein paar Mal.
Irgendwann während des Drückens wird der Browser geschlossen - das Fenster verschwindet. Und zu diesem Zeitpunkt das Kreuz des Terminals unter dem Cursor, wo ich gedrückt habe.
Das Terminal schließt sich so schnell, dass es einfach nicht auffällt. Vor allem, wenn viele Terminals geöffnet sind.
Dies ist eine sehr unangenehme Situation, z. B. bei der Stapeloptimierung. Aber für den Battle Advisor ist es noch schlimmer. Sie sind vielleicht dumm, wenn Sie nicht bemerken, dass Sie Ihr Kampfterminal getötet haben.
Sie haben einen solchen Schutz angebracht.
Wenn Sie es schließen, erscheint für fünf Sekunden eine Meldung. So können Sie herausfinden, was wirklich passiert ist. Seltsam, dass das Terminal keinen Schutz hat.
Es gibt ein paar einfachere Möglichkeiten.
Halten Sie das Combat-Terminal so klein wie möglich.
Behalten Sie das Battle-Terminal auf dem VPS
Binden Sie unartige Hände und halten Sie sich vom Computer fern. )))
Ich muss nachdenken, vielleicht fällt mir etwas ein...)))
Halten Sie das Kampfterminal so klein wie möglich.
Behalten Sie das Battle-Terminal auf einem VPS
Binden Sie unartige Hände und halten Sie sich vom Computer fern. )))
Ich muss nachdenken, vielleicht fällt mir etwas ein...)))
Auf VPS kann auch schließen. Ich habe dort Experten, die Push senden.
Und es ist wirklich einfach, das falsche Kreuz zu treffen, wenn sich die Windschnittstelle verlangsamt. Ich habe es getan, jetzt schließe ich es in der Taskleiste im Kontextmenü.
Für jede Implementierung einer mql-Anweisung ist es sinnvoll, die Funktion DebugBreak für den Debug-Modus zu verwenden. Das macht die Fehlersuche sehr einfach und ist viel nützlicher als ein einfacher Absturz.
Bei einem Hedge kann eine Position aus mehreren IN-Geschäften bestehen. Dies geschieht durch Teilausführung.
In diesem Fall ändert der teilweise ausgeführte Auftrag seine ORDER_TIME_SETUP(_MSC) auf den Zeitpunkt des ersten (möglicherweise vorletzten) Abschlusses. Mit anderen Worten, es wäre unmöglich, aus der Historie zu ermitteln, wann z. B. BuyLimit platziert wurde.
Infolgedessen kann der Eröffnungskurs der Hedge-Position einen Bruchteil davon betragen, was sich häufig in der Aufrechnung zeigt.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Übrigens, das Analogon von Assert
Ich kann nicht erkennen, warum ich das brauche!
Wenn die Entwickler Exit / Abort als Standard angegeben hätten, dann wäre es möglich, die Datenverarbeitung korrekt zu beenden, wenn z.B. TF nicht bereit ist - OHLC-Daten, es wäre auch nützlich für die Verarbeitung von Aufträgen, die an den Server gesendet werden... es wäre praktisch, den Code an einer beliebigen Stelle zu unterbrechen und vor dem nächsten Tick zu beenden, ohne endlos return() zum Verlassen von OnTick()
Allerdings scheint die Benutzerfreundlichkeit verbessert worden zu sein. Im Allgemeinen sollte jeder Funktions- oder Methodenaufruf mit möglicher Ausgabe, einschließlich verschachtelter Funktionen, in ein _call-Makro eingeschlossen werden. Diejenigen, die daran interessiert sind, können den Rest gerne für alle Handler schreiben. Es wurde auf einer Kurbel geschrieben, als Test einer Idee, so dass es nicht getestet wurde, von dem Wort - überhaupt.
MT5 bietet keinen Schutz gegen versehentliches Schließen des Terminals. Vor kurzem gab es ein solches Szenario.
Dies ist eine sehr unangenehme Situation, z. B. bei der Stapeloptimierung. Aber für den Battle Advisor ist es noch schlimmer. Sie sind vielleicht dumm, wenn Sie nicht bemerken, dass Sie Ihr Kampfterminal getötet haben.
Sie haben einen solchen Schutz angebracht.
Wenn Sie es schließen, erscheint für fünf Sekunden eine Meldung. So können Sie herausfinden, was wirklich passiert ist. Es ist merkwürdig, dass es im Terminal keinen Schutz gibt.
MT5 bietet keinen Schutz gegen versehentliches Schließen des Terminals. Vor kurzem gab es ein solches Szenario.
Dies ist eine sehr unangenehme Situation, z. B. bei der Stapeloptimierung. Aber für den Battle Advisor ist es noch schlimmer. Sie sind vielleicht dumm, wenn Sie nicht bemerken, dass Sie Ihr Kampfterminal getötet haben.
Sie haben einen solchen Schutz angebracht.
Wenn Sie es schließen, erscheint für fünf Sekunden eine Meldung. So können Sie herausfinden, was wirklich passiert ist. Seltsam, dass das Terminal keinen Schutz hat.
Es gibt ein paar einfachere Möglichkeiten.
Es gibt ein paar einfachere Möglichkeiten.
Auf VPS kann auch schließen. Ich habe dort Experten, die Push senden.
Und es ist wirklich einfach, das falsche Kreuz zu treffen, wenn sich die Windschnittstelle verlangsamt. Ich habe es getan, jetzt schließe ich es in der Taskleiste im Kontextmenü.
Es gibt ein paar einfachere Möglichkeiten.
Installieren Sie einen Desktop-Manager und widmen Sie einen Desktop dem Browser und anderen Dingen, und einen anderen Desktop den Terminals.
Oder installieren Sie Linux (der Desktop-Manager wird mitgeliefert :) )
Übrigens, das Analogon von Assert
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Bibliotheken: MT4Orders
fxsaber, 2020.04.07 18:47
Teilausführungen sind im MT5 sehr leicht zu finden.Bei einem Hedge kann eine Position aus mehreren IN-Geschäften bestehen. Dies geschieht durch Teilausführung.
In diesem Fall ändert der teilweise ausgeführte Auftrag seine ORDER_TIME_SETUP(_MSC) auf den Zeitpunkt des ersten (möglicherweise vorletzten) Abschlusses. Mit anderen Worten, es wäre unmöglich, aus der Historie zu ermitteln, wann z. B. BuyLimit platziert wurde.
Infolgedessen kann der Eröffnungskurs der Hedge-Position einen Bruchteil davon betragen, was sich häufig in der Aufrechnung zeigt.