MQL5 TUTORIAL DEUTSCH – 97 SIMPLE REVERSE POSITION

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor erstellen kann, der in der Lage ist, für jede Position die Trade Richtung umzukehren. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL5 programmieren kann. Um das zu tun, klicken Sie bitte im Metatrader hier oben auf dieses kleine Symbol oder drücken Sie die F4 Taste. Das ruft dann hier den Metaeditor auf. Und hier klicken wir auf Datei, Neue Datei, Expert Advisor aus Vorlage, Weiter.

Ich vergebe hier einmal den Namen SimpleReversePosition, Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser OnTick Funktion hier gelöscht werden. Und wir entfernen auch direkt die zwei Kommentarzeilen. Wir starten mit einer include Anweisung. Damit importieren wir die Datei Trade.mqh. Die gehört mit zu MQL5 und stellt vereinfachte Funktionen für Positionseröffnungen und Positionsbehandlung bereit.

 

Dazu erstellen wir uns aus der Klasse CTrade hier eine Instanz mit dem Namen Trade. Wir brauchen auch ein paar Variablen. Die erste Variable ist vom Typ string, hat den Namen direction, für Richtung und bekommt von uns den initialen Wert buy zugewiesen. Die nächste Variable hat einen Zusatz, der heißt input. Das sorgt dafür, dass man die Werte dieser Variable ohne Neukompilierung auch während der Laufzeit als Benutzer verändern kann, indem man einfach die Eigenschaften im Expert Advisor einstellt.

 

Diese Variable ist vom Typ integer und hat den Namen TakeProfitPoints. Der initiale Wert ist hier fünfzig. Jetzt wiederholen wir das Ganze nochmal für die StopLoss Punkte. Auch hier nutzen wir den input Zusatz. Und der initiale Wert für den StopLoss wird hier dreißig Punkte sein. Innerhalb der OnTick Funktion möchten wir zunächst einmal den Ask Preis berechnen. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart.

 

Wir nutzen hier SYMBOL_ASK. Und mit NormalizeDouble und _Digits stellen wir sicher, dass die richtige Anzahl für die Nachkommastellen berechnet wird. Das ist abhängig von der genutzten Währung. Das Gleiche müssen wir hier nochmal für den Bid Preis machen. Im Großen und Ganzen ist die Zeile identisch, bis auf den Namen und den hier genutzten Parameter SYMBOL_BID. Und jetzt möchten wir gerne prüfen, ob wir keine geöffneten Positionen haben.

 

Das wäre der Fall, wenn die Funktion PositionsTotal einen Wert von null zurückliefert. Gleichzeitig möchten wir gerne wissen, ob die direction, also die Richtung, auf buy steht. Falls beides zutrifft, eröffnen wir eine buy Position. Das geht mit trade.Buy. Wir möchten gerne eine Position in der Höhe von zehn Mikrolot eröffnen für das aktuelle Währungspaar auf dem Chart zum Ask Preis. Dieser Ausdruck hier wird die gewünschte Anzahl von StopLoss Punkten für uns setzen. Der darauffolgende Parameter hier ist für den TakeProfit Wert. Auch hier werden die gewünschten Punkte eingesetzt. Und der letzte Parameter hier wäre für einen Kommentar. Der wird aber nicht benötigt, darum setzen wir den auf null. Nachdem wir die Position eröffnet haben möchten wir die Richtung umkehren, setzen also hier den Wert für die Variable direction auf sell. Für die sell Trades sieht das ähnlich aus.

 

Zunächst prüfen wir hier, ob wir geöffnete Positionen haben. Dann, ob die Richtung auf sell steht. Und wenn beides zutrifft, nutzen wir trade.Sell, um zehn Mikrolot zu verkaufen. In diesem Fall müssen wir den Bid Preis nutzen. Und natürlich sind bei einem sell Trade die StopLoss Punkte oberhalb des aktuellen Preises und der TakeProfit muss darunterliegen. Nachdem wir dann unsere sell Position eröffnet haben, setzen wir hier die Variable direction für die Richtung auf buy. Und jetzt fehlt uns eigentlich nur noch eine Chart Ausgabe. Das übernimmt der Comment Befehl. Der gibt uns hier den Text: die aktuelle Richtung ist… gefolgt von der Variable direction aus. Soweit so gut. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Ahnung haben, was alle diese Codezeilen bewirken sollen, dann möchten Sie sich vielleicht zunächst einen von den anderen Beiträgen aus dieser Videoserie anschauen.

 

Vielleicht ist aber auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Und da gibt es übrigens aktuell auch für einen Euro den Starterkurs. Für den Moment klicken wir mal hier auf Kompilieren oder drücken die F7 Taste. Das hat bei mir ohne Fehler funktioniert. Und wenn das bei Ihnen auch so ist, dann klicken Sie bitte hier oben oder drücken Sie die F4 Taste, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Bitte wählen Sie hier die neu erstellte Datei SimpleReversePosition.ex5 aus. Markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. Jetzt werden bereits fleißig Positionen eröffnet.

 

Wir sehen auch, dass sich die Richtung von buy and sell ändert. Mit jedem Trade wird das gewechselt. Und der Abstand für TakeProfit und StopLoss ist hier nicht gleich. Wir wollen das jetzt mal ändern. Dazu halten wir den aktuellen Test an, klicken auf Eingaben. Und ich stelle jetzt hier mal den TakeProfit Wert auch auf dreißig Punkte. Starte einen neuen Test. Und diesmal kann man erkennen, dass der Abstand gleich ist. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie einen Expert Advisor programmieren können der in der Lage ist, für jede neue Position die Trade Richtung umzukehren. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier, in MQL5.