MQL5 hat ein “verbessertes” Orderhandling bekommen. Der Grund dafür war, dass in der Originalversion von MQL5 lediglich eine Position pro Währungspaar gehandelt werden konnte.
Wer sich mit der Programmiersprache MQL4 beschäftigt hat, der weiss, dass die Eröffnung von Positionen dort noch deutlich unkomplizierter und flexibler gehandhabt wurde.
Denn zu jeder einzelnen Position gab es einen Stop Loss und einen Take Profit, der dieser Position exakt zugeordnet war. Damit liessen sich bei einer Trendumkehr problemlos gegenläufige Positionen öffnen – ohne die Originalposition zu schliessen.
Nachdem MQL5 auf den Markt kam, war zunächst nur “Netting” möglich. Im Klartext bedeutet das, dass man pro Währungspaar alle Vorgänge gegeneinander aufrechnet. Wenn man eine Position in die eine Richtung eröffnet, dann wird keine separate Position in die andere Richtung ermöglicht.
Selbst wenn man in die gleiche Richtung handelt, dann wird lediglich die bestehende Handelsposition um den neuen Handelsbetrag ergänzt.
Ein Beispiel: Sie handeln im EURUSD ein Microlot long, das heisst Sie kaufen. Einige Zeit später entscheiden Sie sich, noch 2 Microlot zu kaufen. In diesem Fall wird Ihre bestehende Position auf 3 Microlot erhöht.
Sollten Sie jetzt in die Gegenrichtung handeln wollen, dann müssen Sie mindestens 4 Microlot short gehen, denn andernfalls würde Ihre Long-Position lediglich um den entsprechenden Wert der gegenläufigen Änderung vermindert.
Dieses Netting-System soll diversen Forenaussagen zufolge wohl eine Vorgabe für die Trader in den USA sein.
Es ist meiner Meinung nach einer der Hauptgründe, warum MQL5 gegenüber MQL4 immer noch nur einen Bruchteil des Marktanteils erzielen konnte, den sich Metaquotes bereits seit Jahren so wünscht.
Mittlerweile gibt es aber das so genannte Hedging-System, bei dem Metaquotes das Orderhandling etwas verbessert hat.
Um Hedging mit MQL5 nutzen zu können, benötigt man ein entsprechendes Konto beim Broker, welches diese Form des Handels auch unterstützt.
Tatsächlich lassen sich damit auch gegenläufige Positionen erstellen. Sie können also ein Microlot long gehen und gleichzeitig für das gleiche Währungspaar eine oder mehrere Positionen in die gleiche oder die gegenteilige Richtung eröffnen.
Leider werden für diese neuen Positionen aber keine unabhängigen Werte für Trailing Stop und Stop Loss erstellt. Selbst auf der Webseite MQL5.com kann man in diesem Artikel erkennen dass die Hedging-Positionen mit dem gleichen Stop-Loss und Take-Profit-Wert eröffnet wurden.
Auch in eigenen Versuchen habe ich festgestellt, dass trotz einer abweichenden Angabe der Stoploss und der Takeprofit identisch mit der zuerst geöffneten Position vergeben werden.
Tatsächlich findet sich auf der Webseite https://www.mql5.com/de/forum/69443#comment_3844505
ein Satz, der genau dieses Verhalten als bereits festgestellten und behobenen Fehler beschreibt: “Es wurde ein Fehler behoben, der zum Kopieren von SL/TP Ebenen aus einer vorhandenen Position in eine neue Position auf dem gleichen Symbol geführt hat”.
Es gilt also, eine Möglichkeit zu finden mit der man die Positionen sowohl voneinander trennen kann, als auch eine Änderung im StopLoss oder TakeProfit vornehmen zu können.
Mir ist nicht ganz klar, wieso Metaquotes glaubt, dass das Orderhandling in dieser komplizierteren Form eine Verbesserung zum einfachen Orderhandling in MQL4 darstellen soll.
Die Einführung des Hedging-Systems ist ein erster Schritt in die richtige Richtung, aber ohne einen einfachen und unkomplizierten Weg der Veränderung von Stop Loss und Take Profit bleibt die Bedienbarkeit für mich dem klassischen Orderhandling aus MQL4 deutlich unterlegen.
Technisch lässt sich das Problem sicherlich umgehen.
Eine Möglichkeit wäre, Positionen bereits bei der Eröffnung mit einem entsprechenden Kennzeichen zu versehen, mit dem man dann im Livebetrieb den Stop Loss oder Take Profit Level abfragen kann.
Trotzdem bleibt dabei ein Problem bestehen: Sollte die Verbindung zwischen dem Metatrader5 und dem Broker unterbrochen werden, kann man nicht sicherstellen, dass die gewünschte Aktion auch ausgeführt wird.
Dahingegen wird bei einem Stop welcher bereits bei der Eröffnung der Positon vergeben wurde auch bei einer Unterbrechung der Verbindung zum Metatrader5 der Stop vom Broker selbst ausgeführt.