MQL4 TUTORIAL GRUNDLAGEN – 83 SIMPLER BOLLINGER BANDS BUY TRAILING STOP

video

In diesem Video wollen wir einen Expert Advisor erstellen der in der Lage ist, einen Bollinger Band Buy Trailing Stop nachzuziehen. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL4 programmieren kann. Um das zu tun klicken Sie bitte im Metatader 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 SimplerBollingerBandsBuyTrailingStop, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir uns hier eine statisch Variable vom Typ double erstellen. Die soll unseren letzten Stop Bollingerwert aufnehmen und damit wir auch einen Trailing Stop benutzen können, erstellen wir uns jetzt auf unserem Demokonto eine Testposition über 10 Microlot. Wir möchten dazu prüfen, ob wir noch keine geöffnete Position haben. Das wäre der Fall, wenn der Rückgabewert für die Funktion OrdersTotal 0 ist. Und dann nutzen wir hier OrderSend für das aktuelle Währungspaar, um eine Kaufposition über 10 Micolot zu eröffnen. Gleichzeitig setzen wir hier den Wert für den Stop Loss zurück, denn für eine neue Position benötigen wir natürlich auch neue Werte. Im Anschluss können wir hier den Wert für den Bollinger Band Indikator ermitteln. Um das untere Band zu berechnen nutzen wir die eingebaute Funktion iBands für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir möchten gerne den Wert für 20 Kerzen ermitteln. Der Diviation-Wert für die Abweichung ist 2. Wir nutzen keinen Wert für die Verschiebung. Das Ergebnis soll anhand der Schlusskurse berechnet werden. Entweder mit MODE_LOWER für das untere oder mit MODE_UPPER für das obere Band, und zwar jeweils für Kerze 1. Das ist die letzte geschlossene Kerze auf dem Chart. Jetzt können wir versuchen den Stop Loss anzupassen indem wir eine Funktion CheckBollingerBuyTrailingStop aufrufen und hier den Wert für das untere Bollinger Band übergeben. Versuchen müssen wir das deswegen, weil diese Anpassung hier nicht jedes Mal funktionieren wird, z. B. wenn der Preis aktuell zu nah am unteren Bollinger Band liegt. Deshalb werden hier hin und wieder solche OrderModify error Einträge auftauchen, aber für dieses einfache Beispiel soll uns das so reichen. Außerdem möchten wir hier noch den aktuellen Wert für das untere Bollinger Band unsere Variable LastStopBollingerValue zuweisen. Denn der aktuelle Wert wird ja beim nächsten Aufrufen der letzte Wert sein. Und jetzt müssen wir natürlich diese Funktion hier noch programmieren. Wir nutzen hier void, da wir keine Rückgabetyp benötigen. Der Name der Funktion ist CheckBollingerBuyTrailingStop und wir übergeben hier als Parameter den Wert für das untere Bollinger Band. Mit einer Vorschleife gehen wir jetzt alle vorhandenen Orders durch. Danach nutzen wir OrderSelect, um für den aktuellen Schleifenzähler jede einzelne Order auszuwählen. Anschließend prüfen wir, ob das Währungspaar übereinstimmt mit dem Währungspaar auf dem Chart. Und wir möchten natürlich nur dann den Trailing Stop nachziehen, wenn der OrderTyp auch eine Kaufposition ist. Das überprüfen wir mit OrderType. Der würde bei einer Kaufposition den Wert OP_BUY haben und wenn der aktuelle Stop Loss zu niedrig ist, das wäre der Fall, wenn der Wert für OrderStopLoss kleiner ist als der Wert für das untere Bollinger Band. Dann nutzen wir hier OrderModify und versuchen den aktuellen Stop Loss anzupassen, für das aktuelle OrderTicket. Den OrderOpenPrice lassen wir wie er ist. Der STop Loss wird angepasst auf den Wert für das untere Bollinger Band und die 3 Werte für OrderTakeProfit, das Ablaufdatum und die Farbe bleiben ebenfalls unverändert. Zum Schluss schließen wir hier noch die Schleifen und die Funktion. Und das wars auch so weit. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Ahnung habe was alle diese Codezeilen bewirken sollen, dann möchten Sie sich vielleicht zunächst vielleicht die Grundlagevideos noch einmal anschauen. Vielleciht ist aber auch der Premiumkurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir hier auf Kompilieren oder drücken die F7-Taste. Bei mir hat das hier ohne Fehler funktioniert 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 nutzen wir eine leere Chartvorlage, klicken auf Einfügen, Inidikatoren, Tendenz, Bollinger Bands. Bitte wählen Sie hier 20 für die Anzahl der Kerzen aus. Für die Abweichung nutzen wir den Wert 2. Anwenden auf Close, also Schlusspreis und hier unten können Sie sich noch eine Farbe aussuchen. Und wenn ich jetzt auf OK klicke, dann wird der Indikator auf dem Chart angezeigt. Jetzt klicke ich mit der rechten Maustaste, wähle Vorlage, Vorlage speichern und speichere das Ganze unter dem Namen tester.tpl, denn das ist die Schablone, die wir im Strategietester angezeigt bekommen. Den alten Wert können Sie ruhig ersetzen. Danach klicken wir Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Bitte wählen Sie hier die neu erstellte Datei SimplerBollingerBandsBuyTrailingStop.ex4 aus, markieren Sie die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch schon los und sobald das untere Bollinger Band nach oben bewegt, sehen wir, dass der Stop Loss nachgezogen wird. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für die Bollinger Bänder einen Expert Advisor erstellen können, der in der Lage ist, anhand des untere Bollinger Bandes einen Buy Trailing Stop nachzuziehen und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL4.