MQL5 Tutorial Deutsch – Simpler Sell Limit EA

Diesmal geht es um ein so genanntes Sell Limit. Ein Sell Limit ist eine so Pending Order, die in den Markt gelegt wird zu einem Zeitpunkt als der Preis noch nicht an dem Punkt war, an dem diese Order hier ausgelöst werden soll.

Starten wir das einmal neu. Das hier ist so ein Sell Limit. Man kann hier unten erkennen, dass es sich um eine Order handelt. Im Gegensatz zu einer Position ist eine Order etwas, was im Markt platziert wird und die Order wird erst ausgelöst, wenn bestimmte Bedingungen vorhanden sind.

Deswegen bewegt sich hier zwar der Preis, aber wir haben keinen Gewinn oder Verlust, so lange nicht hier diese grüne Linie überschritten wird.

Das ist jetzt gerade geschehen und in dem Moment sehen wir auch, dass wir Gewinn oder Verlust machen. Jetzt warten wir darauf, dass der Preis wieder weit genug fällt um hier unser Take Profit Ziel zu erreichen.

Und während wir das tun, wollen wir uns anschauen, wie man mit MQL5 einen Expert Advisor erstellen kann, der in der Lage ist ein solches Sell Limit hier im Markt zu platzieren.

Um das zu tun, klicken Sie bitte hier oben auf diesen kleinen Button oder drücken F4 im Metatrader. Daraufhin wird dann hier der Metaeditor aufgerufen und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter.

Ich vergebe hier mal den Namen “Simpler Sell Limit EA”, klicke auf Weiter, Weiter, Fertigstellen und jetzt können wir alles entfernen, was sich oberhalb dieser OnTick Funktion hier befindet und auch die beiden Kommentarzeilen können weg.

Und damit wir überhaupt irgendetwas traden können, müssen wir zunächst einmal die Trade Library importieren. Eine Library ist eine Bibliothek, Sie können auch eigene Bibliotheken bereitstellen, aber mit dem Include-Befehl hier können Sie die in MQL5 enthaltene Trade.mqh Bibliothek importieren.

Die enthält vereinfachte Funktionen für den MQL5 Hedging Mode, unter anderem ist dort auch eine Klasse enthalten mit dem Namen CTrade und von der möchten wir uns jetzt eine Instanz erstellen.

Die bekommt den Namen trade. Das geht so und mit dieser Instanz hier möchten wir gleich unser Sell Limit eröffnen.

Dazu brauchen wir Preisinformationen, also ermitteln wir im ersten Schritt innerhalb unserer Funktion OnTick den Ask-Preis.

Wenn Sie einmal einen Doppelklick auf ein Währungspaar machen, dann sehen Sie, dass es hier diese rote Linie und die blaue Linie gibt.

Das hier oben ist der so genannte Ask Preis, den müssen wir bezahlen wenn wir etwas kaufen.

Und das blaue Signal hier ist der Bid Preis, den bekommen wir, wenn wir verkaufen.

Der Ask Preis wird ermittelt mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart und da wir den Ask Preis brauchen, verwenden wir hier die Konstante Symbol_Ask mit NormalizeDouble und _Digits ermitteln wir ob unser Währungspaar drei oder fünf Nachkommastellen hinter dem Punkt hat und das Ergebnis wird hier der Variable Ask zugewiesen.

Ausserdem brauchen wir hier den Bid-Preis. Der wird vom Prinzip genauso ermittelt, nur dass wir hier den Namen Bid vergeben und die Konstante Symbol_Bid verwenden.

Wenn Sie diesen Begriff einmal markieren und die F1-Taste drücken, dann sieht man, dass es hier noch eine ganze Menge anderer Konstanten gibt.

Diese hier zum Beispiel würde Ihnen die Swap-Kosten für Long Trades anzeigen.

Das brauchen wir aber in diesem Fall nicht.

Wir möchten in diesem einfachen Beispiel einfach prüfen, ob keine offenen Orders oder Positionen existieren.

Dafür verwenden wir hier diese IF-Abfrage. Und wenn uns die Funktion OrdersTotal Null zurückliefert und auch die Funktion PositionsTotal eine Null zurückliefert, dann wissen wir, dass wir keine offenen Orders oder Positionen haben.

Und in dem Fall nutzen wir unsere Trade-Klasse, die wir hier oben als Instanz erstellt haben und eröffnen mit der Funktion SellLimit eine offene Order über 10 Mikrolot, die liegt 200 Punkte über dem derzeitigen Ask-Preis und wird also erst ausgelöst, wenn der Preis weiter steigt.

Und das ist etwas, was vor allen Dingen am Anfang schwer verständlich ist. Warum sollte man für einen Verkauf warten, dass der Preis steigt?

Naja, es gibt zum Beispiel in der technischen Marktanalyse einige Anwendungsbereiche wo das durchaus Sinn macht.

Zum Beispiel könnte man hier darauf warten, dass das nächste Hoch ausgebildet wird, hier kaufen und dann darauf hoffen, dass der Preis möglichst bald fällt.

Der nächste Parameter ist für das aktuelle Währungspaar. Wir haben keinen Stop Loss definiert unser Take Profit liegt 200 Punkte unterhalb des aktuellen Bid-Preises.

Die Parameter Order_time_GTC und diese Null hier sagen aus, dass unsere pending order kein Ablaufdatum hat. Und diesen letzten Parameter hier könnten wir für einen Kommentartext verwenden. Brauchen wir aber nicht.

Deswegen nehmen wir auch hier eine Null. Bitte nicht die abschliessende Klammer hier vergessen. Und wenn Sie alles richtig gemacht haben, dann können Sie jetzt hier oben auf Kompilieren drücken oder F7 betätigen und dann sollte hier unten kein Fehler erscheinen.

Wenn also alles geklappt hat, dann klicken Sie bitte hier oben oder drücken F4 um in den Metatrader zurückzukehren.

Im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination STRG + R. Und im Strategietester-Panel wählen wir die Datei SimplerSellLimitEA.ex5 aus, markieren hier unten die Visualisierungsoption und starten unseren Test.

Und wie man sieht, wird hier sofort unser Sell Limit eröffnet. Die Order liegt also hier im Markt, wird aber erst ausgelöst sobald sich der Preis in die entsprechende Richtung bewegt.

Sie haben in diesem Video gelernt, wie Sie einen EA erstellen können, der automatisch so ein Sell Limit im Markt platziert. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.

Download “MQL5 TUTORIAL DEUTSCH - SIMPLER SELL LIMIT EA” SimplerSellLimitEA.txt – 35-mal heruntergeladen – 667 B