MQL5 TUTORIAL DEUTSCH – SIMPLER BOLLINGER BANDS STANDALONE EA

In diesem Video möchten wir uns einmal anschauen, wie man die Bollinger Bänder automatisieren kann. Wir erzeugen hier verkaufen und kaufen Signale, je nachdem, ob wir einen Ausbrauch oberhalb oder unterhalb der Bänder sehen. Und wir möchten uns einmal anschauen, wie man das mit MQL5 für den Metatrader programmieren kann. Um das zu tun, klicken Sie bitte auf diesen kleinen Button hier oben oder drücken die F4 Taste auf Ihrer Tastatur. Das ruft dann hier den Metaeditor auf und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimplerBollingerBandsStandAloneEA. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und wir entfernen auch beide Kommentarzeilen. Zunächst nutzen wir hier den include Befehl, um die Datei Trade.mqh zu importieren. Die stellt Handelsfunktionen bereit. Unter anderem die Klasse CTrade, von der wir uns jetzt eine Instanz erstellen, die wir trade nennen. Damit werden wir gleich Positionen eröffnen. In der OnTick Funktion selbst erstellen wir uns eine string Variable mit dem Namen Signal. Die ist vom Typ string, damit sie Textketten aufnehmen kann. Wir weisen ihr aber zunächst noch keinen Wert zu, denn der wird noch ermittelt. Zunächst holen wir uns hier den Ask und den Bid Preis. Das geht mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Symbol_ASK liefert uns den ASK Preis. Symbol_BID liefert uns den BID Preis. Wenn Sie mal auf irgendein Währungspaar klicken, dann sehen Sie, dass wir hier zwei unterschiedliche Preislevel haben. Der höhere Preis ist der ASK Preis, den wir bezahlen müssen, wenn wir etwas kaufen. Der niedrigere Preis ist der BID Preis. Das ist das, was wir bekommen, wenn wir etwas verkaufen. Das dazwischen ist der Spread, daran verdient der Broker. Erstellen wir uns zunächst einmal ein Array für Preisdaten. Das machen wir mit der Funktion MqlRates. Unser Array bekommt den Namen PriceInfo. Das wird jetzt mit ArraySetAsSeries von der aktuellen Kerze an abwärts sortiert. Und mit dem Befehl CopyRates für das aktuelle Symbol auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit, von der aktuellen für drei Kerzen mit den Preisdaten gefüllt. Das ganze Ergebnis speichern wir dann im Array. Damit haben wir alle Kursdaten zu den letzten drei Kerzen. Jetzt brauchen wir noch jeweils ein weiteres Array für den Expert Advisor. Uns interessiert hier das obere und das untere Band. Denn immer wenn der Preis hier oder hier ausbricht, dann möchten wir ein Signal erzeugen. Auch diese beiden Arrays werden mit ArraySetAsSeries wieder von der aktuellen Kerze an abwärts sortiert. Und jetzt definieren wir die Bollinger Bänder. Dazu nutzen wir die Funktion iBands, die in MQL5 eingebaut ist. Wieder für das aktuelle Währungspaar und die aktuell auf dem Chart eingestellte Zeiteinheit. Wir berechnen das für zwanzig Kerzen. Hier stehen noch ein Null und eine Zwei. Und wenn Sie sich einmal die Eigenschaften vom Bollinger Band Indikator anschauen, dann sehen Sie, dass die Standardwerte 20 Kerzen eine Verschiebung von Null und eine Abweichung von zwei beinhalten. Das sind die gleichen Zahlen, die wir auch hier verwenden. Und das Ergebnis wird ermittelt anhand der Schlusskurse der Kerzen. Zunächst einmal kopieren wir die Preisdaten in die Arrays. Das tun wir mit dem Befehl CopyBuffer anhand unserer BollingerBandsDefinition, die wir getroffen haben. Hier steht eine eins und da eine zwei. Das liegt daran, dass wir zwei Bänder hier berechnen müssen. Die eins steht für das obere, die zwei für das untere Band. Auch hier kopieren wir von der aktuellen Kerze für drei Kerzen und speichern die Werte in den beiden Arrays UpperBandArray beziehungsweise LowerBandArray. Die aktuellen Werte dafür bekommen wir, indem wir die Werte für Kerze Null aus dem jeweiligen Array auslesen. Um eine Überkreuzung mit den Bändern zu ermitteln benötigen wir aber auch noch die Werte für die Kerze davor. Das ist dann Kerze Eins im gleichen Array. Und wir speichern die Ergebnisse in myLastUpperBandValue oder myLastLowerBandValue ab. Jetzt können wir tatsächlich prüfen, ob wir einen Wiedereinstieg von unten haben. Wenn nämlich der Schlusskurs für die aktuelle Kerze aus unserem PriceInfo Array größer ist als der Wert für das aktuelle untere Band und wenn der Schlusskurs für Kerze eins aus unserem PriceInfo Array noch kleiner war als der letzte Wert für unser unteres Bollinger Band, dann möchten wir gerne kaufen. Und darum weisen wir den Text Kaufen unserer Signal Variable zu. Im anderen Fall, wenn der Schlusskurs für Kerze Null in unserem PriceInfo Array kleiner ist als unser Wert für das obere Band und der Schlusskurs für Kerze Eins aus dem gleichen Array größer war als unser letzter Wert für das obere Band, dann hätten wir eine Überkreuzung von oben. Und dann möchten wir gerne verkaufen. Darum weisen wir Verkaufen unserer Signal Variable zu. Kommen wir zum eigentlich Kauf oder Verkauf. Immer wenn unser Signal den Wert Verkaufen hat und wir weniger als eine Position geöffnet haben, dann möchten wir gerne Verkaufen. Im anderen Fall, wenn unser Signal Kaufen lautet und wir ebenfalls weniger als eine geöffnete Position haben, dann möchten wir gerne zehn Mikrolot kaufen. Zum Schluss erzeugen wir noch eine Chart Ausgabe des aktuellen Signals. Dazu nutzen wir den Comment Befehl. Der wird uns das Wort Signal, gefolgt von unserem berechneten Signal direkt auf dem Chart ausgeben. Soweit so gut. Wenn Sie alles haben, dann klicken Sie hier oben auf Kompilieren oder drücken F7 auf Ihrer Tastatur. Das sollte hier ohne Fehler und Warnungen funktionieren. Und wenn das so ist, dann klicken Sie bitte hier oder drücken F4 um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination STRG +R. Hier wählen wir jetzt die Datei SimplerBollingerBandsStandAloneEA.ex5 aus, markieren hier die Visualisierung und starten unseren Test. Und so sieht das Ganze dann im laufenden Betrieb aus. Hier wurde bereits eine Position eröffnet. Immer wenn die Kerzen oberhalb der oberen Bänder schließen und dann wieder eintreten, ist das für uns ein Verkaufen Signal. Im anderen Fall bei einem Wiedereintritt von unten wäre das ein Kaufen Signal. Man kann das hier deutlich beschleunigen. Und wie Sie sehen, werden jetzt hier Kaufen und Verkaufen Signale auf dem Chart ausgegeben. Wir haben hier auch schon erste Ergebnisse. Und Sie haben in diesem einfachen Video gelernt, wie man die Bollinger Bänder für den Metatrader fünf automatisieren kann, um einen eigenständig handelsfähigen Expert Advisor zu erstellen. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5!