MQL5 TUTORIAL GRUNDLAGEN – 70 SIMPLER BWMFI OSZILLATOR

video
play-sharp-fill

In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor für diesen Oszillator hier programmieren kann. Es handelt sich um den Bill Williams Market Facilitation Index. Schauen wir uns also einmal an, wie man so etwas in MQL5 programmiert. Um das zu tun, klicken Sie im Metatrader 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 einmal den Namen SimplerBWMFIEA, 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 hier oben mit einer include Anweisung für die Datei Trade.mqh. Die ist Bestandteil von MQL5. Und die enthält die Klasse CTrade, von der wir uns hier eine Instanz mit dem Namen trade erstellen, die wir später benutzen werden, um Positionen zu eröffnen. In der OnTick Funktion erstellen wir uns zunächst eine Signal Variable vom Typ string. Die kann Texte aufnehmen. Wir weisen hier aber noch keinen Wert zu. Denn den möchten wir jetzt gleich ermitteln. Dazu berechnen wir zunächst einmal den Ask Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir verwenden SYMBOL_ASK, alles in Großbuchstaben. Und mit der Funktion NormalizeDouble und _Digits stellen wir sicher, dass wir die richtige Anzahl von Nachkommastellen für das jeweilige Währungspaar berechnen. Das Ganze machen wir hier nochmal für den Bid Preis. Die Zeile ist soweit identisch, bis auf den Variablennamen. Und natürlich nutzen wir hier als Parameter SYMBOL_BID. Außerdem brauchen wir noch ein Array. Das soll die Werte aufnehmen, die wir gleich berechnen. Mit ArraySetAsSeries sorgen wir dafür, dass unser Bill Williams Market Facilitation Index von der aktuellen Kerze an abwärts sortiert wird. Die eigentliche Definition ist sehr einfach. Wir nutzen die in MQL5 enthaltene Funktion iBWMFI. Die bekommt drei Parameter übergeben. Der erste Parameter steht für das aktuelle Währungspaar. Der zweite Parameter für das auf dem Chart verwendete Zeitfenster. Und Parameter drei ist hier VOLUME_TICK. Wenn man das einmal markiert und die F1 Taste drückt, dann stellen wir fest, dass man sich hier für das Tick Volumen oder für das reale Volumen entscheiden kann. Und mit CopyBuffer können wir jetzt anhand der Definition, die wir hier oben getroffen haben, unser BWMFI Array für Buffer null von der aktuellen Kerze null für drei Kerzen füllen und die Werte in unserem Array speichern. Um den aktuellen Wert zu berechnen schauen wir jetzt einfach, welcher Wert in Kerze null von unserem Array enthalten ist. Wir nutzen NormalizeDouble und die fünf, um fünf Nachkommastellen zu berechnen. Denn das ist auch der Wert, den wir hier unten im Originaloszillator sehen. Das Ganze wiederholen wir jetzt nochmal, aber diesmal für Kerze eins. Damit können wir den letzten ermittelten Wert berechnen. Das ermöglicht uns zu prüfen, ob der aktuelle Wert größer ist als der letzte Wert. Wenn das so wäre, würden wir das als Kaufsignal sehen und dann weisen wir den Begriff Buy unserer Signal Variable zu. Andernfalls, wenn der aktuelle Wert kleiner ist als der letzte Wert, dann halten wir das für ein Verkaufssignal. Und dann weisen wir den Begriff Sell unserer Signal Variable zu. Wenn unser Signal jetzt den Wert Sell hat, und die Funktion PositonsTotal uns einen Rückgabewert kleiner eins liefert, dann bedeutet das: wir haben ein Verkaufssignal und keine geöffnete Position. Und in dem Fall nutzen wir trade.Sell, um zehn Mikrolot zu verkaufen. Andernfalls, wenn unser Signal den Wert kaufen hat und wir ebenfalls keine geöffnete Position haben, dann nutzen wir trade.Buy, um zehn Mikrolot zu kaufen. Zum Schluss lassen wir uns hier mit dem Comment Befehl noch den Text: Das Signal ist jetzt, gefolgt von dem ermittelten Signal ausgeben. Das war es soweit. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Vorstellung davon haben, was diese Code Zeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst die anderen Videos aus dieser Grundlagenserie noch einmal anschauen. Oder vielleicht ist auch der Premiumkurs interessant für Sie. Den finden Sie auf unserer Webseite. Für den Moment klicken wir hier mal auf Kompilieren oder drücken die F7 Taste. Das hat bei mir 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 klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Bitte wählen Sie hier die neu erstellte Datei SimplerBWMFIEA.ex5 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 wir haben eine erste Verkaufsposition. Wir sehen auch, dass hier oben Buy und Sell Signale generiert werden. Unser Expert Advisor funktioniert also. Und Sie haben in diesem kurzen Video gelernt, wie Sie für den Bill Williams Market Facilitation Index Oszillator einen Expert Advisor erstellen können der in der Lage ist, Buy und Sell Signale zu generieren und zu handeln. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.