MQL4 TUTORIAL GRUNDLAGEN – 84 SIMPLER BOLLINGER BANDS SELL TRAILING STOP

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man einen Sell Trailing Stop programmieren kann, der anhand der Bollinger Bänder nachgezogen wird, wenn der Preis fällt. Also lassen Sie uns einmal schauen, wie man so etwas in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte auf dieses kleine Symbol hier oben 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 den Namen SimplerBollingerBandsSellTrailingStop, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles hier oberhalb der OnTick-Funktion gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Zunächst erstellen wir uns eine statische Variable vom Typ double. Die bekommt den Namen LastStopBollingerValue und die wird den letzten Wert von unserem Bollinger Band aufnehmen, damit wir ihn mit dem aktuellen Wert vergleichen können. Damit wir einen Stop Loss nachziehen können, brauchen wir auch Positionen. Das bedeutet, wenn wir keine offenen Orders haben, also wenn OrdersTotal einen Rückgabewert von 0 hat, dann nutzen wir hier OrderSend für das aktuelle Währungspaar auf dem Chart, um eine Sell-Position für 10 Microlot zu eröffnen. Gleichzeitig setzen wir hier den Wert für den letzten Bollinger Wert auf 0. Im Anschluss können wir mit der eingebauten Funktion iBands, die bei MQL4 enthalten ist, für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit für 20 Kerzen, die Bollinger Bänder berechnen. Wir nutzen hier einen sogenannten Deviation-Wert von 2. Wenn man sich das einmal in den Eigenschaften anschaut, dann wird das hier mit Abweichungen übersetzt. Dieser Wert bestimmt, wie sehr die Bollinger Bänder auseinander gehen. Wir nutzen hier keinen Wert für die Verschiebung. Möchten das Ganze anhand der Schlusskurse berechnen. Darum nutzen wir hier PRICE_CLOSE. Für das untere Band nehmen wir MODE_LOWER und für das obere Band ist der vorletzte Parameter MODE_UPPER und der letzte Parameterwert hier der steht für die Nummer der Kerze und da möchten wir gerne Kerze 1 nutzen. Denn Kerze 0 hat noch keinen offiziellen Schlusskurs. Im Anschluss möchten wir gerne wissen, ob der Stop Loss nachgezogen wird. Das übernimmt für uns die Funktion CheckBollingerSellTrailingStop und hier übergeben wir die Variable UpperBollingerBand für das obere Band. Danach setzen wir den aktuellen Wert als letzten Wert ein, denn beim nächsten Aufruf wird ja der aktuelle Wert der letzte Wert sein. Fehlt noch die Funktion. Die müssen wir jetzt noch programmieren. Wir nutzen hier void, da wir keinen Rückgabetyp benötigen. Der Name der Funktion ist CheckBollingerSellTrailingStop und wir übergeben hier als Parameterwert den Wert für das obere Bollinger Band. Mit einer Vorschleife gehen wir hier alle Positionen durch. Mit Hilfe von OrderSelect wählen wir jede einzelne Order für den aktuellen Schleifenzähler aus. Hier prüfen wir im ersten Schritt, ob das Währungspaar von unserer Position auch zum Währungspaar auf unserem Chart passt. Außerdem möchten wir noch wissen, ob wir eine Verkaufsorder haben. Das wäre der Fall, wenn der OrderType den Wert OP_SELL zurückgibt. Und natürlich möchten wir den Stop Loss nur dann nachziehen, wenn der aktuelle Order Stop Loss größer ist als der Wert für das obere Bollinger Band. Falls alle diese Bedingungen erfüllt sind, nutzen wir OrderModify für das aktuelle OrderTicket. Wir lassen den Ordereröffnungspreis so wie er ist. Setzen hier aber den Stop Loss auf den Wert für das obere Bollinger Band. Die Werte für OrderTakeProfit, für das Ablaufdatum und für die Farbe lassen wir unverändert. Und zum Schluss müssen wir natürlich noch die Schleifen und die Funktion schließen. Und das wars so weit. Wenn Ihnen das hier alles zu schnell ging oder wenn Sie keine Ahnung haben was diese Codezeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst die anderen Videos aus diesem Grundlagekurs noch einmal anschauen. Vielleicht ist aber auch unser Premiumkurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir hier jedenfalls erstmal auf kompilieren oder drücken die F7-Taste. Das sollte ohne Fehler funktionieren. Und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier oben auf dieses kleine Symbol klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader nehmen Sie sich bitte ein leeres Chart, klicken auf Einfügen, Indikatoren, Bollinger Bands. Bitte wählen Sie hier die Periode 20 für 20 Kerzen aus. Der Versatz ist 0. Der Wert für die Abweichungen ist 2. Wir möchten gerne die Ergebnisse anhand der Schlusskurse berechnen. Bitte suchen Sie sich noch eine Farbe aus und klicken Sie auf OK. Jetzt sollten Sie hier die Bollinger Bänder auf dem Chart sehen. Wir klicken jetzt hier mit der rechten Maustaste, wählen Vorlagen, Vorlage speichern und speichern das Ganze als tester.tpl, denn das ist die Ansicht, die wir gleich im Strategietester zu sehen bekommen. Den alten Wert können Sie hier ersetzen. Und wenn Sie so weit sind klicken Sie bitte auf Ansicht, Strategietester oder drücken Steuerung und R. Bitte wählen Sie hier die neu erstellte SimplerBollingerBandsSellTrailingStop.ex4 aus, markieren Sie den visuellen Modus und starten Sie Ihren Test. Hier haben wir auch schon unsere erste Position und sobald die Bollinger Bänder sich hier nach unten bewegen, sollte das auch für den Stop Loss gelten. Das ist jetzt hier passiert. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für das obere Bollinger Band einen Sell Trailing Stop programmieren können und Sie haben das selbst getan mit diesen paar Zeilen hier in MQL4.