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...