MQL5 TUTORIAL DEUTSCH – SIMPLER FRACTAL ADAPTIVE MA

video
play-sharp-fill

Das, was hier im Hintergrund läuft, ist ein Expert Advisor, der automatisch Signale für Kaufen oder Verkaufen auf ihrem Forex-Chart anzeigen kann. Es geht hier um den Fractal Adaptive Moving Average, das ist hier diese blaue Linie. Dieser Indikator erzeugt Signale. Immer dann, wenn diese blaue Linie unterhalb der Niedrigst-Kurse der letzten Kerzen liegt, dann gibt das ein Kaufen-Signal, und im umgekehrten Fall, wenn sich die blaue Linie hier oberhalb der Höchstpreise der letzten Kerzen befindet, dann würde das ein Verkaufen-Signal generieren. Wie können wir jetzt einen Expert Advisor in MQL5 programmieren, der in der Lage ist, für diesen Fractal Adaptive Moving Average Indikator ein Signal direkt auf unserem Forex-Chart auszugeben?
Um das zu tun, klicken Sie bitte im MetaTrader auf diesen kleinen Button hier, oder drücken die F4 Taste. Jetzt sollten Sie den Meta-Editor sehen, und hier wählen wir „Datei/ Neu/ Expert Advisor (Vorlage)/ Weiter“. Ich vergebe hier den Namen „SimplerFractalAdaptiveMA“, klicke auf „Weiter/ Weiter/ Fertigstellen“. Und alles oberhalb der „onTick“-Funktion kann jetzt gelöscht werden; das gilt auch für diese beiden Kommentarzeilen.
Und zunächst erstellen wir uns eine Variable für das Signal; die soll eine Textkette aufnehmen können, darum ist sie vom Typ „String“. Sie bekommt den Namen „Signal“, und wir weisen hier noch keinen Wert zu, denn der wird gleich berechnet. Außerdem brauchen wir ein Array für Preisdaten. Das erstellen wir mit der eingebauten MQL5-Funktion MqlRates. Diese Funktion liefert uns die Informationen über Preise, Volumen und Spreads. Und im nächsten Schritt sortieren wir das Array von der aktuellen Kerze an abwärts. Das übernimmt die Funktion „ArraySetAsSeries“ für das PriceArray, welches wir hier oben erstellt haben. Danach nutzen wir „CopyRates“, um für das aktuelle Währungspaar auf dem Chart und die auf dem Chart aktuell eingestellte Zeiteinheit,von der aktuellen Kerze 0 für 3 Kerzen die Daten in unser PreisArray zu kopieren.
Nachdem wir jetzt unsere Preisdaten haben, brauchen wir noch ein weiteres Array für unseren Expert Advisor. Das wird den Namen „FramaArray“ bekommen, für „Fractal Adaptive Moving Average“, und es ist vom Typ „Double“. Jetzt definieren wir den Frama EA, indem wir die eingebaute Funktion iFrAMA benutzen. Die benötigt als Parameter das aktuelle Währungspaar auf dem Chart, die auf dem Chart ausgewählte Zeiteinheit, und unsere Berechnung wird für 14 Kerzen ohne Verschiebung auf den Schluss-Kurs ausgeführt. Wenn Sie im MetaTrader einmal auf „Einfügen/ Indikatoren/ Tendenz/ Fractal Adaptive Moving Average“ klicken, dann sehen Sie auch hier 14 Kerzen, eine Verschiebung von 0, und berechnet wird das Ganze auf den Schluss-Kurs, genau wie in unseren 3 Parametern hier. Auch dieses Array sortieren wir wieder absteigend, indem wir „ArraySetAsSeries“ verwenden, diesmal für unser FramaArray, welches wir hier oben erstellt haben. Und wiederum nutzen wir „CopyBuffer“, um unser Array für den 1. Puffer –also die 1. Linie im Indikator- von der aktuellen Kerze 0 für 3 Kerzen –darum diese 3- in unserem FramaArray zu speichern.
Und letztendlich können wir jetzt den Wert für die letzte Kerze berechnen, indem wir auf Kerze 1 in unserem FramaArray zugreifen und das Ergebnis der Variable „FramaWert“ zuweisen. Kerze 1 ist immer die Kerze vor der aktuellen Kerze. Das hier wäre Kerze 0, Kerze 1, Kerze 2, usw. Verkaufen möchten wir, wenn der FramaWert über dem letzten Kerzenhoch ist. In MQL5 fragen wir ab mit: „if (FramaWert grösser PreisArray[1].high“ (if FramaWert größer als Höchstpreis von Kerze 1 im PreisArray), und wenn das so ist, möchten wir gerne verkaufen und weisen der Signal-Variable hier den Wert „Verkaufen“ zu. Im anderen Fall möchten wir kaufen, wenn der FramaWert unter dem letzten Kerzentief ist: „if (FramaWert kleiner PreisArray[1].low“ (if FramaWert kleiner als niedrigster Wert der Kerze 1 aus dem PreisArray). Und wenn das so ist, dann haben wir ein Kauf-Signal und weisen den Wert „Kaufen“ unserer Variable „Signal“ zu.
Zum Schluss brauchen wir noch eine Chart-Ausgabe. Das übernimmt die Comment-Funktion für uns. Die gibt uns den Text „FramaWert“, gefolgt von dem berechneten Wert, und in einer neuen Zeile das Wort „Signal“, gefolgt vom dem berechneten Signal, aus.
Das war’s auch schon. Wenn Sie alles richtig gemacht haben, dann können Sie jetzt hier auf „Kompilieren“ klicken, oder die F7-Taste drücken, und dann sollte das ohne Fehler und Warnungen funktionieren. Und wenn dem 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 Stgr+R. Das ruft dann hier den Strategietester auf. Und hier wählen wir die Datei „SimplerFramaAdaptiveMA.ex5“ aus. Bitte markieren Sie die Option für die Visualisierung, und starten Sie Ihren Test.
Und so sieht Ihr selbst erstellter Expert Advisor dann bei der Arbeit aus. Er erzeugt hier oben Signale für Kaufen oder Verkaufen. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.

Download “MQL5 TUTORIAL DEUTSCH - SIMPLER FRACTAL MOVING AVERAGE”

SimplerFractalAdaptiveMA.txt – 158-mal heruntergeladen – 1,41 kB