MQL5 TUTORIAL GRUNDLAGEN – 132 STANDALONE BOLLINGER BANDS RSI EXPERT ADVISOR

video
play-rounded-fill

 

In diesem Video, wo wir uns mal anschauen, wie man einen Expert Advisor programmieren kann, der in der Lage ist die Bollinger Bänder zu nutzen, um Einstiegs-Signale zu produzieren. Und wir verwenden hier auch den RSI Oszillator als Filter. Also lassen Sie uns mal schauen, wie man so etwas programmieren kann. Um das zu tun, klicken Sie im Metatrader bitte hier oben auf diesen kleinen Button  oder Sie drücken F4 Taste. Es ruft dann hier den MetaEditor auf und hier haben wir bereits eine vorprogrammierte Version. Die hat den Namen Stand Alone Bollinger RSI und wir verwenden hier einen Einstieg und einen Filter. Zunächst einmal nutzen wir den Include Befehl, um die zu MQL5 zugehörige Datei Trade.mqh zu importieren. Die stellt uns vereinfachte Handelsfunktion bereit und danach nutzen wir wieder include und importieren die zwei Module, die wir noch programmieren müssen. Das eine wird das Einstiegs-Signal für die Bollinger Bänder ermitteln und das andere den Filter für den RSI Oszillator. Danach berechnen wir den Ask Preis und den Bid Preis. Das funktioniert mit der Funktion Symbol Info Double für das aktuelle Währungspaar auf dem Chart.

 

Wir nutzen entweder Symbol Ask oder Symbol Bid. Und mit Normalize double und Unterstrich Digits stellen wir sicher, dass wir die richtige Anzahl von Nachkommastellen hinter dem Komma berechnen. Danach erstellen wir uns eine Instanz von der Klasse CTrade, der wir den Namen Trade verpassen. Und mit MQLRates erstellen wir uns für ein  Preis Info Array. Wir machen das außerhalb der OnTick Funktion, da wir das auch in dem Bollinger Bands Modul nutzen wollen. Mit Array set as series sortieren wir dann unser Preis Info Array von der aktuellen Kerze an abwärts. Und mit Copy Rates füllen wir unser Preis Info Array für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit von der aktuellen Kerze 0 für drei Kerzen. Das ermöglicht uns dann anhand der aktuellen Kerze 0 den Schlusskurs zu ermitteln, der in unserem Preis Info Array gespeichert ist und diesen der Variable CurrentPrice zuzuordnen. Um das Trading Signal zu ermitteln, öffnen wir jetzt eine Funktion mit dem Namen Check Entry Bollinger. Die finden wir hier in dem Modul. Unsere Funktion bekommt keine Parameter und ist vom Typ String, da sie einen Text zurückgeben wird.

 

Zunächst erstellen wir eine Signal Variable, die ist auch vom Typ String. Außerdem brauchen wir drei Arrays für die drei Bollinger Bänder. Auch diese werden mit Array set as series von der aktuellen Kerze an abwärts sortiert. Und mit der integrierten Funktion Ibands können wir für das aktuelle Währungspaar auf dem Chart und die dort ausgewählte Zeiteinheit die Bollinger Bänder für 20 Kerzen berechnen. Wir benötigen keinen Shift Wert und wir nutzen den Standardwert zwei für Deviation um anhand der Schlusspreise unsere Werte zu ermitteln. Mit Copy Buffer füllen wir jetzt unsere drei Arrays für das mittlere, das obere und das untere Band, das mittlere Band hat Buffer 0, das obere Buffer 1 und das untere Band Buffer 2. Und jetzt können wir die jeweils aktuellen Werte ermitteln, indem wir uns die Werte in unserem Array anschauen. Diesmal für die Kerze 0. Und dann wiederholen wir das Ganze noch mal für die Kerze davor. Dazu schauen wir uns die Werte für Kerze eins im Array an. Und wenn der Schlusskurs von Kerze 1 kleiner war als unser unteres Band und der Schlusskurs für Kerze 0 über unseren unteren Band liegt dann wäre das ein Kaufen-Signal. Im Umkehrschluss, wenn für Kerze eins der Schlusskurs größer war als unser oberes Band und der Schlusskurs für die aktuelle Kerze 0 jetzt kleiner ist als unser oberes Band, dann wäre das ein Verkaufen Signal. Zum Schluss nutzen wir den Return Befehl, um unser Signal an das Haupt-Modul zurückzugeben. Weiter geht’s mit dem Filter. Den ermitteln wir, indem wir die Funktion Check Entry  RSI aufrufen. Die finden wir hier im zweiten Modul. Auch das ist eine String Variable, die uns hinterher ein Kaufen oder Verkaufen Signal zurückgeben wird. Dazu erstellen wir auch hier eine Signal Variable und ein Array für unseren RSI Oszillator. Mithilfe der integrierten Funktion iRSI ermitteln wir für das aktuelle Symbol, also das Währungspaar auf dem Chart und die aktuell ausgewählte Zeiteinheit den Wert für 14 Kerzen anhand der Schlusskurse. Danach sortieren wir unser Herz RSI Array von der  aktuellen Kerze abwärts indem wir Array set as Series benutzen. Mit Copy Buffer füllen wir unser Array anhand der Definition, die wir hier oben getroffen haben. Für Buffer null von der aktuellen Kerze null für drei Kerzen und um den Wert zu ermitteln, nutzen wir Normalize double, holen uns  den Wert für Kerze null aus unserem RSI Array und verpassen dem zwei Nachkommastellen. Denn so wird der RSI auch auf dem Chart angezeigt. Wenn unser RSI-Wert größer ist als 70, dann wäre es für uns ein Verkaufen Signal. Und wenn der RSI Wert kleiner ist als 30, dann ist das ein Kaufen-Signal. Zum Schluss geben wir mittels Return Befehl unser Signal noch zurück an das Haupt-Modul. Das ist das hier mit der OnTick-Funktion. Und wenn unser Trading Signal auf Kaufen steht und der Filter ebenfalls auf kaufen steht, dann prüfen wir mit Positions Total, ob wir keine geöffneten Positionen haben. Wenn das so ist, nutzen wir Trade.Buy, um zehn Microlot zu kaufen. Andernfalls, wenn das Trading Signal auf verkaufen steht und unser Filter ebenfalls sagt, wir sollen verkaufen, dann prüfen wir auch, ob wir keine geöffneten Positionen haben. Und wenn das zutrifft, nutzen wir Trade.Sell um zehn Microlot zu verkaufen. Zum Schluss nutzen wir noch den Comment-Befehl, um unser Trading Signal und unseren Filter auf dem Chart auszugeben. Und das war’s auch schon soweit. Wenn Sie alles haben, dann können Sie jetzt hier oben auf Kompilieren klicken.

 

Wenn Ihnen das hier alles zu schnell ging, oder wenn Sie keine Ahnung haben, was diese ganzen Codezeilen hier bedeuten sollen, dann möchten Sie sich vielleicht zunächst eines unserer Grundlagen-Videos noch einmal anschauen. Vielleicht ist aber auch der Premium Kurs interessant für Sie. Den finden Sie auf unserer Webseite. Für den Moment klicken wir hier oben auf dieses Symbol oder drücken die F4-Taste, um in den MetaTrader zurückzukehren. Und im MetaTrader klicken wir auf Ansicht, Strategie-Tester oder drücken die Tastenkombination Steuerung und R. Das ruft dann hier den Strategie-Tester auf. Dort wählen wir die neu erstellte Datei Standalone Bollinger RSI.EX5 aus, markieren hier unten die Option für den visuellen Modus und starten unseren Test. Hier läuft unser Expert Advisor auch schon los. Wenn wir das Ganze mal beschleunigen, dann sollten wir gleich sehen, dass wir erste Positionen haben, sobald Signal und Filter übereinstimmen. Das hat in unserem Fall gut funktioniert. Und in diesem einfachen Video haben Sie gelernt, wie Sie einen Expert Advisor erstellen können, der in der Lage ist, die Bollinger Bänder und den RSI automatisiert zu handeln.

 

Und Sie haben das selbst programmiert, mit ein paar Zeilen in MQL5.