Datenqualität

M1-Daten für EA-Backtests in MT4 seit 1999 kostenlos

Die Tiefen des MetaTraders 4 (MT4) sind unergründlich. Bis neulich dachte ich, dass wir vom Broker abhängig sind, wie weit zurück wir lückenlose M1-Daten erhalten. Sind wir aber nicht!

Mit diesem Wissen können wir schnell und kostenlos langfristige Backtests von Expert Advisors (EAs) durchführen, die zwar nicht die Qualität von Tickdaten-Tests haben, aber dennoch von vergleichsweise sehr hoher Qualität sind. Das ist wichtig, um erfolgreiche EAs und solche, die Verluste einfahren, auseinander zu halten.

In diesem Blog zeige ich Ihnen, wie Sie dies bewerkstelligen, völlig legal und in nur wenigen Arbeitsschritten.

Wie man kostenlos M1-Daten für Backtests von Expert Advisors seit 1999 in den MT4 lädt

Bevor Sie sich aber an die Arbeit machen und die Daten laden, lesen Sie bitte die folgenden beiden Abschnitte zum Unterschied zwischen M1- und Tickdaten und wie Sie eine adäquate Modellierungsqualität für den Test Ihres EA’s sicherstellen.

Modellierungsqualität von 90%

Der 1-Minuten-Chart (M1) ist der kleinste Timeframe im MT4. Somit können Sie Kursverläufe im 1-Minuten-Rhythmus betrachten und EAs auf deren Funktionalität und Performance darin testen. Wichtig zu wissen: auch wenn Sie einen EA in höheren Timeframes testen, sind M1-Daten von höchster Relevanz.

Denn der MT4-Strategietester wandelt Kurshistorien, die Speicherplatz sparend pro Periode nur mit fünf Datenpunkten festgehalten wurden, in angenommene Kursverläufe um. Aus Eröffnung-, Höchst-, Tiefst- und Schlusskurs sowie der Anzahl der Kursticks der Chart-Kerze bzw. des Chart-Balkens erstellt der MT4 per Algorithmus einen Kurspfad (Mehr dazu können Sie hier in diesem MT4-Dokumentations-Artikel lesen). Diese Daten nennt man OHLCV-Daten. Das Akronym steht für Open, High, Low, Close, Volume.

Wenn M1-Daten vorliegen, entsteht ein realistischerer Kurspfad als wenn nicht. Je weniger M1-Daten vorliegen, desto stärker wird der angenommene Kursverlauf die Häufigkeit der Kursschwünge zwischen Höchst- und Tiefstkurs der vorhandenen Kerzendaten unterschätzen. Insbesondere für Trendfolge- und Ausbruchs-EAs stellt dies ein Problem dar, vor allem im Bereich des Scalpings und wann immer enge Stops oder Trailing Stops verwendet werden. Im Umkehrschluss erhalten Sie eventuell einen zu guten Eindruck von Ihrem EA und setzen ihn vorschnell ein.

Dieser Effekt liegt zwar immer noch vor, auch wenn Sie die vollständige M1-Historie geladen haben, aber er verringert sich stark. Sie werden das am Ende Ihrer Testläufe daran sehen, dass der Testbericht im MT4-Strategietester eine Modellierungsqualität von 90% ausweist. Das ist sehr viel besser als das, was Sie dort ansonsten lesen müssen.

Aber geht es noch besser?

Modellierungsqualität von 90% auf 99% steigern

Wenn Sie die Testqualität noch steigern möchten, müssen Sie auf echte Tickdaten zugreifen. Was sind nun Tickdaten?

Während bei M1-Daten lediglich OHLCV-Punkte festgehalten und dann ein Kursverlauf daraus angenommen wird, sind bei Tickdaten alle einzelnen Ticks mit Kurs und Uhrzeit festgehalten. Statt einem fünfteiligen Datensatz pro Minute sind nun hunderte, in hektischen Marktphasen sogar tausende Datensätze pro Minute gespeichert. Es ist offensichtlich, dass dies ein Vielfaches an Speicherplatz in Anspruch nimmt.

Im Gegenzug können Sie Ihren EA nun mit 99% Modellierungsqualität testen. Das gibt die Performance des EAs für den getesteten, historischen Zeitraum sehr genau wieder. Wie kommen Sie nun an solche Tickdaten?

Diese bekommen Sie zum Beispiel von Tickstory (Partnerlink). Deren Datenbasis aggregiert echte Trading-Daten von mehreren Brokern und bildet daraus eine solidere, objektivere Tick-für-Tick-Betrachtung des echten Kursverlaufs.

Anleitung zum Laden von kostenlosen M1-Daten seit 1999

Hier nun die Anleitung dafür, wie Sie Ihren MT4 mit kostenlosen M1-Daten seit 1999 ausstatten können. Ein wichtiger Hinweis: diese Daten werden nicht von Ihrem Broker, sondern von MetaQuotes Software, den Machern von MetaTrader 4 und MetaTrader 5, zur Verfügung gestellt.

Zunächst öffnen wir unser MT4-Demokonto als ersten Schritt des Datenimports zum EA-Test.

Schritt 1: Starten Sie Ihren MT4 im Demobetrieb.

Wenn Sie mehrere MT4-Instanzen auf Ihrem Rechner installiert haben, nutzen Sie die, auf der Sie die EA-Tests mit den zu ladenden Daten durchführen möchten. (Siehe dazu auch: Wie Sie auf mehrere MT4-Konten beim gleichen Broker gleichzeitig zugreifen)

Am besten, Sie nutzen dazu ein Demokonto, damit ein eventueller Echtgeld-Betrieb keinesfalls beeinträchtigt wird.

Schritt 2: Schließen Sie zunächst alle Charts des Symbols, das Sie testen möchten.

Im 2. Schritt schließen wir alle Charts des Symbols, für das wir M1-Daten seit 1999 importieren wollen, um einen EA langfristig zu testen; hier: USDJPY-Chart geschlossen.

Wir schließen für unser Beispiel alle USDJPY-Charts, da wir unseren EA (z.B. mFX-MAXingPro oder mFX-OpenRangeBreakout) auf USDJPY-M1-Daten testen möchten.

Dieser Schritt stellt sicher, dass die Datenbasis zwischen schon verfügbaren und noch zu ladenden Daten nicht unsauber vermischt wird. Nur damit kann der EA erfolgreich getestet werden.

Schritt 3: Vergrößern Sie in den Chart-Einstellungen die Anzahl der Kerzen.

Folgen Sie für diesen Schritt dem Anleitungsvideo rechts oder dem folgenden Text.

  1. Gehen Sie im Menü auf Extras und dann auf Optionen.

  2. Tragen Sie dann sowohl bei “Max. Kerzen in Historie” als auch bei “Max. Kerzen im Chart” jeweils 10000000 (zehn Millionen) ein. Dann klicken Sie auf OK.

Das ermöglicht, dass die zu ladenden Datenmengen auch wirklich verarbeitet und angezeigt werden können.

Wichtiger Hinweis: wenn Sie mit den Tests fertig sind, stellen Sie diese Parameter am besten wieder auf ihre Ursprungswerte (512000 bzw. 65000) zurück. Dadurch speichern Sie ungemein Rechenkapazität.

Schritt 4: bestehende Daten sicherheitshalber löschen

Um sicherzustellen, dass keinerlei Ungereimtheiten oder Lücken in den Datenreihen entstehen, ist es meiner Erfahrung nach ratsam, die schon vorhandenen Daten zunächst zu löschen. Dadurch können die neu zu ladenden Daten konsistent in den MT4 eingespielt werden.

So löschen Sie die bestehenden Datenreihen (siehe auch Videoanleitung rechts):

  1. Öffnen Sie den Dateiordner des MT4: Menü → Datei → Dateiordner öffnen

  2. Wählen Sie dann zunächst den Unterordner history.

  3. Danach öffnen Sie den Unterordner des Demo-Konto-Servers (in unserem Beispiel JFD-Demo), damit Daten auf dem Echtgeldkonto nicht verloren gehen sicherheitshalber. Achtung: wenn Sie schon einmal Daten gekauft haben und hier abgespeichert haben, machen Sie der Vorsicht halber eine Sicherungskopie davon.

  4. Löschen Sie nun alle hst-Dateien, die sich auf das Symbol beziehen, in dem Sie den EA testen möchten. Die Dateinamen sind aus Symbol (z.B. USDJPY) und Timeframe in Minuten (z.B. 1, 5 oder 240) zusammengesetzt.

Nun können Sie das Explorer-Fenster schließen und zum nächsten Schritt übergehen.

Schritt 5: M1-Daten seit 1999 herunterladen

In diesem Schritt laden Sie die eigentlichen M1-Daten vom MetaQuotes Datenserver herunter. Das geht so (siehe auch Videoanleitung rechts):

  1. Öffnen Sie das Datencenter; entweder über F2 auf Ihrer Tastatur oder über Menüpunkt Extras → Historiendatenbank.

  2. Wählen Sie das Symbol aus, für das Sie die Daten herunterladen wollen. Einfaches Markieren des Symbolnamens in der Liste per einfachem Mausklick reicht, Sie müssen nicht Doppelklicken und dann einen Timeframe auswählen.

  3. Unter der Symbolliste befindet sich ein Button ‘Herunterladen’. Diesen Klicken Sie, bestätigen das sich öffnende Dialogfeld mit OK und warten dann bis der grüne Balken sich vollständig bis ganz rechts bewegt hat. Am besten einen Kaffee holen gehen, weil der Download je nach Internetverbindung mehrere Minuten dauert.

  4. Schließen Sie dann das Historien-Fenster durch Klick auf ‘Schließen’ oder Drücken der Escape-Taste auf Ihrer Tastatur.

Übrigens: während des Ladens erscheint der Button ‘Stop’ rechts, mit dem Sie den Vorgang abbrechen können. Außerdem wird das gesamte Fenster, mit Ausnahme des Stop-Buttons, nicht mehr auswählbar. Wenn der Download fertig ist, verschwindet ‘Stop’ und alle anderen Details können wieder geklickt werden. Falls Sie den grünen Balken wegen Kaffee etc. verpasst haben, erkennen Sie spätestens daran, dass der Ladevorgang beendet ist.

Schritt 6: MT4 einmal neu starten

Abschließend muss der MT4 neu gestartet werden. Also einfach den MT4 schließen und dann erneut hochfahren. Nun stehen die neuen M1-Daten sowohl in den Charts als auch im Strategietester zum ausführlichen Testen von hoffentlich profitablen EAs zur Verfügung.

Es ist zu empfehlen, für nur ein oder zwei Symbole diese Daten herunterzuladen. Denn ansonsten wird sich aufgrund der Speicherplatz-Intensität der MT4 sehr leicht aufhängen. Bevor Sie Ihren EA auf weiteren Symbolen testen möchten, sollten Sie daher die Daten andere Symbole löschen (siehe Schritte 2 bis 6).

Trotz best möglicher “Was-wäre-gewesen”-Simulation des programmierten EA’s bleibt natürlich immer noch das Problem, dass die Ergebnisse der Vergangenheit, seien es Test- oder Realtrading-Ergebnisse, keine Garantie für die Zukunft darstellen. Dennoch ist das ausführliche Testen möglicher Vergangenheits-Szenarien das beste Werkzeug, was uns zur Verfügung steht. Ergänzt mit gutem Risikomanagement im Live-Betrieb steht nun den systematischen Gewinnen mit EAs technisch nichts mehr im Wege.

Beste Tradingerfolge wünscht Ihnen
Cristof Ensslin von mindful FX, Ihr EA-Programmierer

Für die mindful FX Freitags-Mails rund um die Themen TRADING, EXPERT ADVISORS UND EA-PROGRAMMIERUNG anmelden:

Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen. Powered by ConvertKit

Wie ich aus M1-Daten M5-Daten in der Histroriendatenbank im MT4 machen kann

Neulich erreichte mich eine Frage zum Thema hochqualitative Backtest-Daten. Sie lautet:

Ich habe mir für die Backtests Historydaten in M1 besorgt. Meine EAs laufen aber fast alle in der M5-Zeiteinheit. Haben Sie eine Idee, wie ich die M1-Daten in M5-Daten in der Histroriendatenbank im MT4 umwandeln kann?
— Christian S., mindful FX-Kunde

Die Antwort darauf ist ganz einfach:

Nutzen Sie einfach das im MT4 mit eingebaute Skript PeriodConverter.

Wie das geht, Schritt für Schritt?

  1. M1-Chart des gewünschten Symbols öffnen.
  2. Im Navigator-Fenster unter Skripte das Skript PeriodConverter doppelklicken.
  3. Multiplier / Period multiplier factor 5 (oder die gewünschte Timeframe-Minutenzahl) eingeben.
  4. OK klicken.
  5. Fertig.

Nun können Sie die hochwertigen M1-Daten auch auf dem M5-Timeframe nutzen.

Qualitativ hochwertige Daten sind notwendig, um eine höhere Backtest-Qualität zu erreichen. Am präzisesten dafür sind Tick-Daten. Diese können Sie zum Beispiel von Tickstory hier über unseren Partnerlink beziehen. Tickstory aggregiert Trade-Server-Daten von zahlreichen Brokern und aggregiert diese zu einer solideren, objektivierten Tick-für-Tick-Betrachtung der Kurshistorie.

Die Sicherstellung einer hochwertigen Datenqualität bringt Sie auf bessere Verlässlichkeit in der Vergangenheitsbetrachtung. Das ist zwar noch keine Garantie für die zukünftige Entwicklung. Es ist aber das beste Werkzeug, das uns vorliegt, um ein erstes gutes Gefühl für eine per EA automatisierte Trading-Strategie zu entwickeln.
— Cristof Ensslin in "Warum MT4-Backtests vom realen EA-Handel abweichen", 6.10.2017

Herzliche Grüße und ein erholsames langes Wochenende wünscht Ihnen
Cristof Ensslin von mindful FX, Ihr EA-Programmierer