Das, was hier im Hintergrund so schön automatisch in unserem Forex Trading Framework handelt, ist ein Indikator, bei dem man sich Mühe geben muss, den Namen richtig auszusprechen. Er heißt „Variable Index Dynamic Average“, sieht aus wie ein normaler gleitender Durchschnitt, aber wenn man sich einmal die Eigenschaften anschaut, dann sieht man, dass er mehrere Werte verarbeitet. Auf der MQL5-Seite steht, dass dieser Indikator von jemandem mit dem Namen Tushar Chande entwickelt wurde, um einen Exponentiellen Moving Average, also EMA, zu berechnen. Das hier ist die Formel. Wir haben es in MQL5 Gott sei Dank etwas einfacher, und darum wollen wir uns jetzt einmal anschauen, wie man in MQL5 einen solchen Variable Index Dynamic Average Indikator berechnen und in unserem Forex Trading Framework für den automatischen Handel einsetzen können.
Um das zu tun, klicken Sie bitte im MetaTrader 5 hier oben auf diesen kleinen Button, oder drücken die F4-Taste. Das ruft dann hier das Fenster für den Meta-Editor auf, und hier klicken wir auf „Datei/ Neu/ Expert Advisor (Vorlage)/ Weiter“. Ich vergebe hier einmal den Namen „CheckEntry_IVIDYA“, denn das ist auch die Funktion, die wir gleich in MQL5 nutzen werden, klicke auf „Weiter/ Weiter/ Fertigstellen“. Alles, was jetzt hier vorbelegt ist, kann weg. Und wir erstellen uns zunächst einmal eine Funktion mit dem Namen CheckEntry. Die soll uns einen Text zurückliefern, darum ist es eine String-Funktion. Und wir erstellen uns im ersten Schritt eine Text-Variable für das Signal. Die bekommt auch den Namen „Signal“, und wir weisen hier erst einmal keinen Wert zu. Im nächsten Schritt brauchen wir ein Array für die Preisdaten. Das wird mit der Funktion MqlRates erstellt und bekommt den Namen „PreisArray“. Und unser PreisArray sortieren wir jetzt von der Kerze 0, also der aktuellen Kerze an, abwärts, indem wir die Funktion ArraySetAsSeries benutzen. Danach füllen wir das PreisArray mit Daten für 3 Kerzen. 3 Kerzen sind immer gut, wenn man eine Überkreuzung ermitteln will und benötigen deutlich weniger Speicherplatz, als wenn Sie sämtliche Kerzen hier auf dem Chart berechnen würden. Wir nutzen die MQL5-Funktion CopyRates für das aktuelle Währungspaar auf dem Chart und die auf dem Chart eingestellte aktuelle Zeiteinheit, um von Kerze 0, das ist die aktuell gebildete Kerze, die hier auf der rechten Seite noch nicht abgeschlossen ist. Sobald die Kerze beendet ist, wird sie hier zu Kerze 1, Kerze 2, Kerze 3, usw. Und wir kopieren also von Kerze 0 für 3 Kerzen die Daten und speichern sie in unserem PreisArray. Das war’s soweit mit den Preisdaten.
Wir brauchen jetzt noch ein Array für den eigentlichen Expert Advisor. Das bekommt den Namen „EAArray“ und ist vom Typ Double, damit es auch Nachkomma-Stellen verarbeiten kann. Auch dieses Array wird mit ArraySetAsSeries wieder abwärts sortiert. Jetzt definieren wir unseren Expert Advisor, indem wir die Funktion iVIDyA von MQL5 nutzen. Auch hier müssen wir ein paar Parameter übergeben. Der erste Parameter steht für das aktuelle Chart, der zweite Parameter für die auf dem Chart ausgewählte Zeiteinheit, diese 9 und diese 12; die sieht man auch, wenn man mit der Maus kurz über dem Expert Advisor stehen bleibt. Und wenn Sie im MetaTrader auf „Einfügen/ Indikatoren/ Tendenz/ Variable Index Dynamic Average“ klicken, dann sehen Sie eine CMO-Periode, die hat den Wert 9 und eine EMA-Periode, die hat den Wert 12. Darum nutzen wir hier die 9 und die 12 auch in den Parametern. Die letzten beiden Parameter 0 und PRICE_CLOSE stehen für den Wert 0 für die Verschiebung und die Tatsache, dass der Expert Advisor aufgrund der Schluss-Kurse hier die Werte berechnen wird. Auch hier müssen wir nach der Definition mit CopyBuffer unseren definierten Expert Advisor für den ersten Puffer, der steht hier für diese rote Linie, von der aktuellen Kerze 0 für 3 Kerzen -darum diese 3- in unserem EAArray speichern. Und jetzt endlich können wir den aktuellen Wert ermitteln. Der bekommt den Namen „IVIDYAWERT“, und es handelt sich um den ermittelten Wert aus Kerze 0 von unserem EAArray. Und damit ermitteln wir jetzt das Kauf-Signal, denn wenn der von uns ermittelte Wert größer ist, als der Schluss-Kurs von Kerze 1 in unserem PreisArray, dann möchten wir gerne kaufen. Und umgekehrt, ist unser Wert kleiner, als der von uns ermittelte Schluss-Kurs von Kerze 1 im PreisArray, dann setzen wir unser Signal auf den Wert „Verkaufen“.
Zum Schluss geben wir noch das Signal zurück an unser Hauptmodul. In meinem Fall ist das das Forex Trading Framework. Das können Sie sich vom Prinzip als eine Sammlung von Handelsfunktionen vorstellen, die universal mit jedem Einstieg funktionieren. Falls Sie nicht wissen, was ein Framework ist, oder wie man eines programmiert, dann finden Sie weitere Details dazu auf meinen beiden Webseiten zu diesem Thema. In unserem Fall importieren wir hier einfach den Einstieg, blenden mal die Werkzeugliste ein und klicken auf „Kompilieren“. Das hat hier problemlos ohne Fehler geklappt, und mit einem Klick auf diesen Button hier, oder einem Druck auf die F4-Taste kehren wir jetzt wieder zurück in den MetaTrader. Und im MetaTrader klicken wir auf „Ansicht/ Strategietester“, wählen hier das Forex Trading Framework aus. Ich möchte einmal das Währungspaar Australischer Dollar (AUD) gegen den Kanadischen Dollar (CAD) handeln, und zwar für das Jahr 2016. Starten wir einmal den Test, dann sieht man hier, dass bereits die erste Position eröffnet wurde. Hier in dieser Tool-Box kann man die Einzelheiten zu der Position sehen. Ich überlagere das jetzt mal mit der graphischen Darstellung und stelle das hier mal auf Vollgas. Und jetzt können Sie sehen, wie sich unser Expert Advisor entwickelt. Bereits im Februar sind wir bei EUR 102.000,- angekommen, mittlerweile im März sind wir bei über EUR 110.000,-. Und diese ganzen vielen Trades hier oben könnte ein diskretionärer Trader niemals von Hand handeln. Aber das Forex Trading Framework kriegt das ganz gut hin. Und Sie werden die Ergebnisse auch mögen.
Das einzige, was Sie dazu tun müssen ist, den von uns eben generierten Einstieg in Ihrem Framework zu importieren. Und Sie haben in diesem Video gelernt, wie man den mit ein paar Zeilen in MQL5 selbst programmieren kann. Und wenn Sie sich für solche Ergebnisse hier begeistern können, dann starten auch Sie heute Ihren eigenen Test mit dem Forex Trading Framework.