Backtest

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

Den richtigen EA für aktuelle Marktphase finden: rollende Backtests

In einem vergangenen Blog-Artikel mit dem Titel Über die Kunst, mit Expert Advisors stetige Gewinne zu erzielen schrieb ich darüber, dass der Markt einem Flussverlauf gleicht. Einem Flussverlauf, den wir im Gegensatz zur Geographie-Stunde aber noch nicht kennen - oder ihn nur auf Sicht erahnen können.

Daher ist es notwendig, in manchen Marktphasen einen Expert Advisor (EA) im MetaTrader auszuschalten, während er in anderen Marktphasen unbedingt gewinnbringend verwendet werden sollte. Nun stellt sich die große Frage:

Woran erkennen wir, ob ein vorhandener EA, der eine bestimmte Trading-Strategie automatisiert, für die derzeitige Marktphase geeignet ist oder nicht?

Es gibt hier einige Ansatzmöglichkeiten. Eine davon haben Sie vielleicht schon in unserem Artikel "Wie ein Equity Trailing Stop funktioniert" nachlesen können. Hier und heute möchte ich Ihnen eine weitere vorstellen.

Schritt 1: Serie von überlappenden Backtests erstellen

Wir nehmen im Strategietester des MetaTraders in gewissen zeitlichen Abständen, zum Beispiel monatlich, einen Backtest des EA's der jeweils letzten 12 Monate vor. Daraus entsteht eine Serie an Backtestergebnissen, die wir tabellarisch auflisten können. Am Exempel des EA's mFX-HochTiefAusbruch ergibt sich für die letzten knapp 3 Jahre nebenstehende Tabelle.

Zugegeben: das Erstellen der Tabelle ist zwar nicht schwierig, jedoch mit Zeitaufwand verbunden. Es hat ja aber auch nie jemand, dem Sie seriöserweise Glauben schenken würden, gesagt, dass erfolgreiches Trading ohne Zugeständnisse möglich wäre.

Wenn Sie aber bereit sind, Ihren eigenen Zeiteinsatz zu bringen, um mit Trading Gewinn zu machen, lesen Sie bitte weiter.

Schritt 2: Muster in der Ergebnisreihe erkennen

Nun suchen wir nach Mustern in dieser Zahlenreihe. Eine offensichtliche Vorgehensweise ist, die Methode der positiven oder negativen Ergebnisse anzuwenden. Sprich: sobald ein Backtest über 0, also mit Gewinn, abschließt, wird der EA aktiviert. Umgekehrt schalten wir den Experten im MT4 aus, wenn ein Verlust über das gerade abgelaufene Jahr entstanden ist.

Der erste 12-Monats-Backtest (20.02.2015 - 20.02.2016) endet im Gewinn. Am 20.02.2016 können wir den EA also anschalten. In obiger Zahlenreihe würde ich dann mit dem am 20.06.2016 mit Verlust endenden Backtest wissen, dass es an der Zeit ist, den EA zu deaktivieren. In der Folge kommt es erst wieder am 20.07.2017 zu einem profitablen 12-Monats-Zeitraum, weshalb wir ab diesem Termin den EA wieder als aktiviert annehmen.

Schritt 3: Kontrolle der Aktivierungssignale

Nun müssen wir die aktiven Zeiträume backtesten und mit dem reinen Dauerbetrieb des EA's vergleichen. Der EA hätte im ständigen Betrieb mit 10.000 EUR Startkapital und 0.1 Lots (also Hebel von 1) auf EURUSD mit 2 Pips bzw. 20 Punkten Spread satte 1.135,07 EUR Gewinn zwischen 20.02.2016 und 20.12.2017 erzielt.

Zeitraffer-Video des Backtest-Diagramms des getesteten EA's im MT4 von GKFX

(Für alle Käufer unseres MT4-EA's mFX-HochTiefAusbruch: Die .set-Datei der Einstellungen des EA's, so wie wir ihn oben im Strategietester eingestellt haben, stelle ich Ihnen gerne kostenfrei zur Verfügung. Hier klicken, um die .set-Datei sowie bei Bedarf eine Verwendungsanleitung herunterzuladen.)

Um den Vergleich mit diesem "Dauerlauf" des EA's durchführen zu können, muss ich nun die Backtestergebnisse der aktiven Zeiträume aus der Rollende-Backtests-Methode aufaddieren:

20.02.2016-20.06.2016 → EUR 387,68 Gewinn
20.07.2017-20.12.2017 → EUR 649,66 Gewinn

Zusammen gerechnet entstand also ein Gewinn von EUR 1.037,34. Um diese beiden Backtests auch visuell ganz einfach zu aggregieren, verwenden wir sinnvollerweise unser BacktestTool. Das Ergebnis sieht dann in unserem obigen Fall folgendermaßen aus:

Sie können leicht die deaktive Phase zwischen Juni 2016 und Juli 2017 erkennen, in der der Kontostand sich waagrecht entwickelt. In dieser Zeit kann Ihr Kapital anderweitig gewinnbringend investiert werden, ob im Trading mit einem anderen EA, im selben EA mit anderen, für die dann vorliegende Marktphase als vorteilhaft eingeschätzten Einstellungen, oder in ganz anderen Investment-Aktivitäten.

Selbst wenn lediglich ein ähnliches, leicht niedrigeres Gewinn-Ergebnis erzielt wurde, kann aus mindestens zwei Gründen durch die Verwendung dieser Methode der rollenden Backtests ein großer, entscheidender Vorteil erzielt werden.

  1. Durch das Aktivieren und Deaktivieren des EA's sind Sie nicht ständig im Markt investiert. Dadurch können Sie Ihr Kapital auch anderweitig investieren und dort Performance erzielen.
  2. Der maximale Drawdown reduziert sich. Sie könnten daher gegebenenfalls mit höherem Hebel arbeiten und somit bei gleichem Verlustrisiko mehr Gewinn erzielen. In unserem Beispiel-Fall errechnet das BacktestTool einen maximalen Rückgang von 606,10 EUR, was 5,61% entspricht. Der Dauerbetrieb brachte laut Bericht im MT4-Strategietester einen Drawdown von 1.482,73 EUR oder 13,7% mit sich. Der Einsatz der Rollenden-Backtests-Methode würde hier also bei gleichem Risiko einen mehr als doppelt so hohen Hebel rechtfertigen. Risikoadjustiert wäre also ein ca. doppelt so hoher Gewinn zu Stande gekommen.

Falls diese Methode ein spürbar geringeres Ergebnis erzielt, auch risiko-adjustiert, kann sie noch immer vorteilhaft sein. Denn Sie haben damit ein wirkungsvolles System zur Hand, um sich vor möglicherweise endlosen Verlusten einer schwachen Phase Ihres Experts bzw. Ihrer Handelsstrategie zu schützen.

Zu guter letzt ein Wort der Vorsicht: es ist immer zu bedenken, dass die Ergebnisse der Vergangenheit nicht die Zukunft vorhersagen können. Daher immer aufpassen und ständig mit wachsamen Augen kontrollieren, wie sich die Ergebnisse einer Handelsstrategie entwickeln! "Gier frisst Hirn", davor ist niemand gefeit.

EAs sind keine Selbsläufer, können aber dennoch zu attraktiven Renditen führen

Die Kunst regelmäßiger Gewinne besteht darin, die richtige Handelsstrategie oder EA-Einstellung für die jeweils vorherrschende Marktphase zu identifizieren. Mit ein wenig Zeitaufwand können die hier vorgestellten 3 Schritte der Rollenden-Backtest-Methode - obgleich ohne Garantie und Gewähr - zum Erfolg führen.

Diese Vorgehensweise kann nicht nur zwischen verschiedenen Strategien durchgeführt werden, sondern auch, um herauszufinden, welche Kombination von Parameter-Einstellungen innerhalb ein und desselben Expert Advisors gerade die passende ist - insbesondere dann interessant, wenn eine Variable die Richtungs-Auslegung der Signale steuert (Thema Signalumkehr). So können Sie sich sogar auf nur einen einzigen EA spezialisieren und diesen in- und auswendig kennen und anwenden.

Das Monats-Intervall zur Durchführung sowie die 12-Monats-Frist als Zeitrahmen der Backtests sind nicht in Stein gemeißelt. Wenn Sie schneller auf Marktphasenveränderungen reagieren möchten und dies für den Handelsstil Ihres EA's passend ist, nehmen Sie kürzere Backtest-Fristigkeiten, z.B. 4 oder 5 Monate oder gar Wochen und testen wöchentlich oder sogar täglich. Haben Sie dagegen einen EA, der weniger häufig Deals macht, sind längere Fristigkeiten ratsam.

Ich habe zum Beispiel eine Low-Frequency-Strategie über einen Expert Advisor automatisiert, die ich mit monatlich rollenden 12-Monats-Backtests über 70 verschiedene Assets (Symbole) mit dieser Methode steuere. Das ganze läuft erst seit kurzem. Ich werde über Ergebnisse und Erkenntnisse hier auf diesem Blog berichten.

Viel Erfolg im neuen Tradingjahr wünscht Ihnen
Ihr Cristof Ensslin von mindful FX, Ihrem EA Programmierer

Expert Advisors – immer zuverlässig?

Nun möchte ich auf die möglichen Ausführungsfehler eingehen, die neben

den realen Verlauf eines Expert Advisors (EA) unterscheiden lassen werden von dem, was ein Backtest im Strategietester des MetaTraders (MT4/MT5) machen würde.

Im Backtest werden immer alle Deals komplett korrekt ausgeführt, sofern der EA richtig programmiert ist. Wenn wir nun im laufenden Handel unterwegs sind, dann können verschiedene Fehlermeldungen vorkommen.

Eine der üblichsten Fehlermeldung ist, dass der Trade-Kontext "busy" ist. Die MT4-Fehlermeldung dazu lautet "Trade context is busy" und der Fehlercode ist 146. Das ist wie eine belegte Leitung am Telefon: der Trade Server des Brokers ist einfach schon von einem anderen EA oder vom manuellen Trading in Ihrem Metatrader gerade eine Aktivität empfangen und muss diese erst verarbeiten.

Es ist in diesem Zusammenhang wichtig zu wissen, dass der MT4 nur eine Leitung zum Trade Server Ihres Brokers hat. Wenn Sie ein und denselben EA auf 20 verschiedenen Währungspaaren oder CFDs laufen haben und wir nehmen an, dass Signale alle zu einem Kerzenbeginn (also per Schlusskursbetrachtung) generiert und ausgeführt werden, dann kann es natürlich vorkommen, dass mehrere, eben bis zu 20 verschiedene Orders gleichzeitig eröffnet, geschlossen oder angepasst werden sollen.

Ihr MT4 muss diese Orderanfragen sequentiell, also nacheinander, Stück für Stück, eine nach der anderen abarbeiten. Wenn nun alle 20 Charts einen Dealvorgang übermitteln wollen, kommt nur einer dieser EAs zum Tradeserver des Brokers durch. Die Versuche der anderen sind dann wahrscheinlich eine Millisekunde später dran und bekommen die Fehlermeldung zurückgemeldet, dass der Trader Server "busy" ist, die Leitung also belegt ist.

Wie ein EA mit einer solchen Fehlermeldung umgeht kommt ganz darauf an, wie er programmiert ist. Wenn Sie als Auftraggeber einen EA programmieren lassen, dann müssten sie sich auch am besten überlegen, welche Umgangsweise bei solchen Fehlern für Ihre Strategie die passende ist: z.B. kann man dem EA über entsprechende Gestaltung des Codes sagen, "okay, wenn ein Fehler kommt, dann

  • probiere es einfach so lange erneut bis das Signal wirklich ausgeführt ist; 
  • oder probiere es nur ein einziges Mal, und wenn dieses eine Mal eine Fehlermeldung kommt, oder diese spezielle Fehlermeldung generiert wird, dann lösche das Signal;
  • oder aber etwas in zwischendrin, dass z.B. 60 Sekunden lang oder für 50 Kursticks Neuversuche unternommen werden.

Das ist alles programmierbar und kann für jeden einzelnen der möglichen MT4-Fehlermeldungen auch separat programmiert werden. Damit wird der Umgang mit Ausführungsfehlern wirklich ganz speziell für Sie, Ihre Vorlieben und Ihr Handelssystem speziell abgestimmt.

Die am häufigsten vorkommenden Fehler sind

  • Trade-Kontext is busy, Leitung des MT4 zum Tradeserver des Brokers ist belegt (Fehler Code 146: "Trade context is busy.")
  • Der Preis hat sich zu stark seit Anfrage verändert (Fehler Code 135: "Price changed.")
  • Der Broker macht einen Requote (Fehler Code 138: "Requote.")
  • Es kann sein, dass nicht genügend Geld, nicht genügend Kapital für einen Deal vorhanden ist, insbesondere wenn Sie mit hohem Hebel arbeiten (Fehler Code 134: "Not enough money.")
  • Es kann sein, dass das Symbol für temporär oder dauerhaft vom Broker gesperrt, z.B. nach Fälligkeit eines Futures (Fehler Code 133: "Trade is disabled.")
  • Es kann sein, dass ein falsches Handelsvolumen errechnet oder eingestellt wurde, dass es zu klein oder zu groß ist oder auf zu viele Nachkommastellen gerundet wurde (Fehler Code 131: "Invalid trade volume.")
  • Rundungsfehler können auch für Stop- und Limit-Preise geschehen und eine Fehlermeldung auslösen (Fehler Code 130: "Invalid stops."). Dieser Fehler Code wird auch bei zu engen Stop- oder Limitabständen ausgegeben.

Diese Auflistung benennt nur die häufigsten Fehlerquellen. Weitere sind möglich, siehe diese Auflistung in der MQL4-Dokumentation. Möglichst viele dieser Szenarien müssen bedacht werden. Denn ein EA ist grundsätzlich nur so schlau wie er programmiert ist. Nur wenn er mit solchen Fällen bestückt wird, weiß er, wie er damit speziell umzugehen hat.

Genau diese Szenarien kommen in der Realität ganz einfach vor. Im Strategietester kommen sie dagegen nicht vor. Das führt zu Abweichungen zwischen dem theoretischen Backtest und der wirklich erzielten Performance.

Daher ist es auch so wichtig, in regelmäßigen Abständen die Funktionalitäten und Deals des Expert Advisors zu prüfen und am Rechner zu sein. Es gilt also auch aus dieser Sicht:

Ein EA ersetzt den Trader nicht. Er macht aber einen ernsthaften, guten Trader zu einem noch besseren Trader.

Auf beste Deals
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

BacktestTool: mehrere EA-Backtests aus MT4 verknüpfen und analysieren

Heute muss ich Ihnen mal etwas zeigen, was mich selbst sehr begeistert.

Und zwar geht es ums Backtesting von EAs. Wie Sie aus dem MT4-Strategietester wissen, wird dort in der Equity- bzw. Kontostands-Grafik als X-Achsen-Punkte jeder geschlossene Deal genommen. Das hat Vor- und Nachteile. Was mich daran aber immer gestört hat, ist, dass es schwierig zu fassen war für mich, welche Deals welchem Zeitraum zuzuordnen waren.

Ein weiteres Problem in MT4: ich kann mir immer nur einen Backtest auf einmal ansehen. Es wäre doch aber ungemein hilfreich, die aggregierte Performance mehrerer EA-Strategien (oder auch des gleichen EA's auf mehreren Symbolen) bequem zu ermitteln, oder?

Für beide Probleme habe ich jetzt eine Lösung: das BacktestTool. Ich bin selbst ganz begeistert davon!

Ein Bild sagt mehr als tausend Worte; ein Video sagt mehr als tausend Bilder:

Wie kam es dazu?

Nun, unser guter Kunde Hans-Günter K. fragte, ob es so etwas schon auf dem Markt gibt. Mir war dergleichen nichts bekannt. Unser Programmierer René Balke hatte aber schon mal ein Trading-Journal in Java programmiert, das ähnliche Ziele für das Live-Trading verfolgte. 

1 und 1 zusammengezählt - und schwuppdiwupp war die Idee für das BacktestTool geboren.

Einige Zeit des Programmierens und Testens und Verbesserns später bin ich nun extrem froh über das Ergebnis - wie Sie im obigen Video sicher sehen konnten. Die beiden Probleme sind gelöst:

  1. Zeitlich in Tagen dargestellte Kontostands-Kurve
  2. Möglichkeit, mehrere Backtests zu aggregieren, sprich zu verknüpfen und gemeinsam oder getrennt zu analysieren.

Klasse, oder?

Es kommt aber noch besser: das BacktestTool ist ab sofort zum Kauf erhältlich, auch für Sie.

Klicken Sie einfach auf einen der BacktestTool-Links in diesem Blog-Artikel, um mehr zu erfahren.

Auf noch bessere Erkenntnisse aus dem MT4-Strategietester
Ihr Cristof Ensslin von mindful FX, Ihrem EA Programmierer.

Welche Auswirkungen hat ein variabler Spread auf mein EA Trading und meine MT4-Backtests?

Neben dem A und O der Datenqualität ist ein weiterer Faktor, der Theorie (Backtest im Strategietester des MetaTraders) von Praxis (Live Trading mit Expert Advisors) trennt, der variable Spread.

Der Spread ist die Differenz zwischen Bid und Ask Kurs. Die meisten Broker bieten variablen Spread an, um die wahre Marktliquidität abzubilden. Sie schützen sich damit davor, in engen Marktsituationen Minusgeschäfte machen zu müssen. 

Das heißt, in figurativen 99% aller Handelszeiten haben Sie mit variablem Spread einen besseren, sprich engeren Spread. Nur in manchen Situationen kommt es zu Spreadausweitungen. Wann kann das passieren?

  1. Zum Tageswechsel: die Liquiditätsgeber, die hinter Ihrem Broker stehen, schließen oftmals zum Tageswechsel ihre Handelsbücher für wenige Minuten. Das geschieht in der Regel aus technischen Gründen, um Tradingergebnisse abzugrenzen und offene Positionen finanzierungstechnisch vom einen Tag in den nächsten zu „rollen“. Wenn Liquidität vom Markt entfernt ist, kommt es automatisch zu ausgeweiteten Spreads, da weniger Bid- und Ask-Quotierungen im Markt verfügbar sind.
  2. Am Wochenbeginn: Sonntag nachts und Montag früh sind die Märkte für Währungshandel als allererstes an Australiens Ostküste in Sydney geöffnet. Dort finden allerdings keine großen Volumina statt, abgesehen von australischen Anleihen und Aktien. Erst wenn die Händler in Tokyo, Hong Kong und Singapur hinzustoßen, sind im Devisenmarkt alle gängigen Währungspaare mit regulär engen Spreads handelbar. Wenn dann London hinzustößt, geht’s natürlich richtig los mit Volumen. Das heißt für Sie: während Sie zwar schon handeln können, ist um diese, für den deutsch-sprachigen Raum nachtschlafenden Zeiten mit ausgeweiteten Spreads zu rechnen. Das geschieht insbesondere stark, wenn ein Gap zwischen dem Freitags-Schlusskurs und dem Montags-Eröffnungskurs entsteht.
  3. Zu Zeitpunkten von wichtigen Nachrichten: manche davon sind planbar, manche nicht. Wir wissen zum Beispiel, wann EZB und Fed deren Zinsentscheide und das US Arbeitsministerium den monatlichen, berühmt-berüchtigten „Non-Farm Payroll“ Arbeitsmarktbericht veröffentlichen. Wann eine Naturkatastrophe geschieht, ein Terroranschlag verübt wird, oder wann die Schweizerische Nationalbank die Kursunterstützung bei 1,20 CHF pro EUR aufgibt, können wir nicht planen. Zu solchen Situationen werden Liquiditätsgeber ängstlich, wollen, wie alle anderen und wir auch, keine Verluste machen. Daher ziehen sie die Kursstellung zurück oder weiten zumindest die Kursdifferenz ihrer Kauf- und Verkaufquotierungen aus, der Markt wird dünn und der Spread weitet sich aus. Das geschieht oft sprunghaft.

Solche Situationen sind in einem EA-Backtest im Strategietester des MT4 in der Regel nicht abgebildet. Anders ausgedrückt: bei welchen Positionen, die im Backtest unberührt bestehen bleiben, der Stop-Loss in Wirklichkeit getriggert worden wäre, ist schwer zu sagen. Umgekehrt werden im Backtest Take-Profits erreicht, von denen der echte, handelbare Kurs aber meilenweit entfernt war.

All das führt dazu, dass Backtests von Expert Advisors mit sehr gesunder Vorsicht zu genießen sind. Je mehr Deals pro Tag/Woche/Monat, umso angreifbarer sind EA-Backtests.

Der ernsthafte Trader kommt nicht umhin, seine Modelle über Monate im Live-Betrieb eines oder besser mehrerer Demokonten zu testen, um Anfälligkeiten wie diese festzustellen. Die Erkenntnisse aus dem MT4-Demokonto-live-Test des EA's müssen dann dazu verwendet werden, die Backtest-Performance-Ergebnisse entsprechend konservativ um diese Risiken zu bereinigen.

Ich habe eine Schritt-für-Schritt Testempfehlung für Sie zusammen gestellt, die Ihnen helfen soll, EA Backtests richtig zu bewerten. Sie können sie rechts kostenfrei als PDF-"Spickzettel" erhalten.

Ihnen, Ihren Tests und Ihrem Trading alles Gute
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

Warum MT4-Backtests vom realen EA-Handel abweichen

Aha, Sie haben also einen Expert Advisor (EA) gefunden, der funktioniert?

Mit „funktioniert“ meine ich, dass Sie nach vielleicht sogar stundenlangem Optimieren der Parameter-Einstellungen in den EA-Eingaben und unzähligen Backtest-Durchläufen im Strategietester des MetaTrader 4 (MT4) endlich eine Kombination der Variablen gefunden haben, die in den letzten drei Monaten oder gar letzten ein oder zwei Jahren – je nachdem wie lange die Datenhistorie zurück reicht, die Ihr Broker Ihnen zur Verfügung gestellt hat.

Die Kapitalentwicklung, auch Equity-Kurve genannt, zeigt nun also von links unten nach rechts oben? Drawdowns sind fast keine vorhanden und Sie springen vor Freude in die Luft?

Langsam, langsam, langsam.

Bevor Sie Ihre Gier frei walten lassen und Ihr hart verdientes Erspartes einsetzen, in der Hoffnung auf (oder gar in Erwartung von) schnelle, sichere, quasi unendliche Gewinne, halten Sie bitte nochmal inne.

Backtests von EAs im Strategietester des MT4 sind genau das: Backtests. Nicht mehr und nicht weniger.

Wie viel haben sie mit der Realität zu tun - insbesondere der nahe anstehenden, zukünftigen Wirklichkeit?

Es sind einige Faktoren zu beachten. Die wichtigsten sind die Folgenden:

  1. Datenqualität Ihrer Kursverlaufsdaten

  2. Variabler Spread

  3. Ausführungsqualität

  4. Ausführungsfehler

Das erste ist die Datenqualität. Datenqualität ist das A und O eines Backtests.

Wenn Sie beispielsweise Demokonten bei drei verschiedenen Brokern eröffnet haben und in deren MT4-Instanzen den Strategietester aufrufen, den gleichen EA im gleichen Zeitraum mit den exakt gleichen Testeinstellungen durchlaufen lassen, erhalten Sie oftmals komplett unterschiedliche Ergebnisse.

Wenn die Equity-Kurve nur bei einem der drei Brokers die gewünschte Form aufweist, haben Sie auf alle Fälle ein Problem mit der Datenqualität.

Wie kann so etwas überhaupt passieren? Nun, im Devisen- und CFD-Handel agieren Sie nicht an einer regulierten Börse, bei der jeder Kurstick öffentlich und zentral festgehalten wird. Wenn Sie Xetra-Aktienmarktdaten analysieren wollen, behandeln Sie die exakt gleichen Daten wie jeder andere Marktteilnehmer – egal ob Profi bei Hedgefonds oder Investementbanken, oder ob Gelegenheitsanalyst und Vermögensverwalter der eigenen 10 Cent.

Der Devisen- und CFD-Handel findet aber komplett dezentral statt. Das bedeutet, dass jeder Broker andere Tick-Daten erstellt; einfach deshalb, weil jeder dieser Broker andere Liquiditäts-Provider nutzt, aber auch andere Kunden hat, die allesamt andere Deals in Auftrag geben und zu unterschiedlichen Zeitpunkten handeln.

Klar, es kann sein, dass die anderen beiden Broker Ihnen schlechte Daten zur Verfügung stellen und Sie wirklich beim Erfolg-versprechenden Broker richtig gelegen wären. Die Wahrscheinlichkeit dafür tendiert aber gegen null, meiner bescheidenen Meinung nach.

Ich würde dem ganzen Backtest eines EA's nur dann einen zweiten Blick schenken, wenn alle drei Broker-Daten ähnliche Kurvenverläufe darstellen.

Außerdem kann es passieren, dass Ihre MT4-Instanz die historischen Daten lückenhaft vorhält. Dadurch entstehen Kurssprünge, die im echten Handel nicht vorgekommen sind. Das kann sich gut oder schlecht auswirken auf die Performance Ihres Robots. Beide Ausprägungen sind aber nicht nützlich, um einen guten Eindruck des Vergangenheits-Verhaltens Ihrer automatisierten Trading-Strategie zu erhalten.

Hinzu kommt, dass MT4 im Strategietester nicht mit echten Tickdaten rechnet, um Speicherplatz zu sparen. In der Regel wird mit OHLCV-Daten gearbeitet. OHLCV steht für die fünf Eckpunkte einer jeden Chart-Kerze: Open, High, Low, Close, Volume. Diese Kerzen-Eckpunkte werden über einen Algorithmus zu Tickdaten simuliert.

Eine hohe Anzahl an "Chartanpassungsfehlern" im Testbericht sind ein Hinweis darauf, dass der Backtest zwar die Funktionalität eines EA's richtig wiederspiegelt, aber nicht dessen Performance.

Wie kann ich dem Problem der Datenqualität Abhilfe schaffen? 

Die einfachste und wahrscheinlich zuverlässigste Variante ist, dass Sie sich teils kostenfrei, teils kostenpflichtig hoch-qualitative historische Daten in Ihren MT4 laden. Am präzisesten dafür sind Tick-Daten. Diese bekommen Sie zum Beispiel von Tickstory hier über unseren Partnerlink. Deren Datenbasis aggregiert echte Trading-Daten von mehreren Brokern und bildet daraus eine solidere, objektivere Tick-für-Tick-Betrachtung des echten Kursverlaufs.

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.

Alles Gute für Sie und Ihr Trading wünscht Ihnen
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

Warum ist nach EA-Optimierung im MT4 Strategietester das Ergebnisfenster leer?

Im folgenden MetaTrader 4 (MT4) Tutorial Video erhalten Antwort auf die Frage:

Beim Optimierungsmodul habe ich auch noch ein Problem. Ich habe mal eine Komponete des MACD (die SMA Linie) optimieren lassen. Die Sache lief gut 20 Minuten, aber das Optimierungsdiagramm und das Auswertungsfenster waren leer. Vielleicht haben Sie eine Idee?

Beste Erfolge für Ihr Trading wünscht Ihnen
Cristof Ensslin und das mindful FX-Team

Was tun, wenn EA im Strategietester keine Deals auslöst?

Nachdem Sie einen Expert Advisor (EA) in Ihrem MetaTrader 4 (MT4) installiert und im Strategietester geladen haben, kann es passieren, dass keine Deals ausgelöst werden. Um des Rätsels Lösung zu finden, prüfen Sie bitte folgende Punkte:

  1. Der Button "AutoTrading" muss in manchen MT4-Versionen aktiviert sein, damit Deals gemacht werden können - auch im Strategietester.
  2. Der Spread, den der Strategietester verwendet darf nicht größer als der im EA eingestellte Maximalspread sein (falls EA diese Einstellung vorsieht).
  3. Die eingegebene oder errechnete Lotsize muss größer als die Broker-Mindestlotsize und kleiner als die Broker-Maximallotsize für das ausgewählte Symbol sein. Sie muss außerdem dem Lot-Step des Symbols entsprechen. Das heißt, wenn Broker für das Symbol Lots von 1.0, 2.0,... zulässt, darf nicht 1.5 eingegeben werden, da der Lot-Step (also der Abstand zwischen zwei zugelassenen Lotsizes) in diesem Fall 1.0 ist. 
  4. Es muss genügend Kapital vorhanden sein. Geben Sie daher in den Expert Advisor Optionen im Reiter „Test“ als „Ursprüngliche Einlage“ einen genügend hohen Wert ein, um den Margin-Anforderungen für Ihre geplante Lotsize Rechnung zu tragen.
  5. Falls der EA auf einen Custom-Indikator (= nicht standardmäßig im MT4 mitgeliefert) zugreifen muss, um Deals zu generieren, muss dieser Indikator in der verwendeten MT4-Instanz in den Indikatoren abgespeichert sein.

Hilft das weiter? Wenn ja, sehr gut. Wenn nein, melden Sie sich bei uns (hier klicken und dann zum Kontaktformular runterscrollen), damit wir das Problem für Sie lösen können.

Allerbeste Trading-Erfolge wünschen Ihnen
Cristof Ensslin und das gesamte mindful FX Team

PS: Erfolgreiches Trading ist lernbar. Man muss nicht mit besonderen Genen geboren werden. Hier klicken, um einen Gutschein-Code für ein hochkarätiges 980-EUR-Seminar zu erhalten, um von Trading-Profis zu lernen, wie es geht.

Wie findet man die Log-Datei des Strategietesters in MT4?

Hier gibt es kurze Antwort auf die kurze Frage, die nach dem Backtest eines Expert Advisors (EA's) auftreten kann:

Wo finde ich bzw. wie findet man im MetaTrader 4 die Log-Datei des Strategietesters?

So geht's:

MT4-Menüpunkt Datei -> Dateiordner öffnen -> tester -> logs -> Datei JJJJMMTT (Tag, an dem der Test durchgeführt wurde)

Diese Datei können Sie mit Windows-Editor öffnen. Wenn Sie diese Datei nicht nur ansehen, sondern z.B. an eine Email anhängen möchten, kopieren Sie sie auf den Desktop. Dort können Sie sie aus dem Email-Programm heraus leicht finden und dann Ihrer Mail anhängen.

Hier noch ein kurzes Anleitungsvideo:

Viel Erfolg bei Ihren EA-Tests und immens profitables Trading wünschen Ihnen
Cristof Ensslin und das mindful FX Team

Wie ich an Tagen wie dem 23. Juni 2016 (Brexit-Referendum) mit EAs umgehe

Liebe EA-Trader,

morgen gehe ich sprichwörtlich ins Freibad. Ich "boykottiere" Brexit. Alle EAs in meinen MT4-Instanzen werden heute abend noch ausgeschaltet.

Warum?

An Tagen wie morgen (Brexit-Referendum) wird es mit guter Wahrscheinlichkeit Trading-Momente geben, die im Rückblick auf den Chart extrem lukrativ erscheinen: große Ausschläge = große Gewinnchancen.

  • Siehe 15. Januar 2015 bei EURCHF (SNB hebt Mindestkurs auf)
  • Siehe 3. Dezember 2015 bei EURUSD (EZB enttäuscht Markterwartungen).

Was im Chart nach viel Potenzial aussieht, ist oftmals nicht realistisch handelbar. Spreads weiten sich aus, Liquidität wird dünn. Das resultiert in aller Regel in großer Slippage, sprich scheunentorgroßen Abweichungen zwischen gewünschten und erzielten Einstiegs- und Ausstiegspreisen.

All das sehen Sie im Nachhinein nicht mehr im Chart. Auch der Strategietester im MetaTrader 4 weiß davon nichts. EAs helfen in diesen Momenten leider auch nicht weiter, denn der Broker selbst hat entweder keine Liquidität (Non-Dealing-Desk), erhöht drastisch die Spreads (Dealing-Desk) oder hat schlichtweg einen überlasteten Tradeserver. Im Gegenteil, EAs haben in solchen Markt-Situation meine Trading-Resultate sogar noch deutlich verschlechtert. Meine Handelsmodelle und Expert Advisors sind auf normale Markt- und Trendphasen, nicht Sondersituationen abgestellt.

Daher schalte ich morgen alles Trading aus.

Nicht mal zukucken werde ich (habe ich mir zumindest vorgenommen), denn Gier frisst Hirn. Freitag morgen kann es dann weitergehen. Das muss reichen. Neue Chancen kommen, vor allem solche, die gut sind für meine Tradingstrategien und EAs.

Ihnen viel Erfolg, ob Sie an diesem historischen Tag traden werden oder nicht
Ihr Cristof Ensslin von mindful FX

Kontrollpunkte, Jeder Tick und Open Preis

Neulich bekam ich eine sehr gute Frage dazu, welches Modell zum Backtest eines Expert Advisors im Strategietester des MetaTrader 4 zu wählen ist.

Im Strategiefenster kann ich zwischen "Kontrollpunkte, Jeder Tick und Open Preis" wählen. Der EA basiert ja auf geschlossener Kerze. Ich weiß jetzt nicht, ob mir der Strategietester in diesem Moment die richtige Ergebnisse ausspuckt. Ich benutzte aktuell "Open Price". Ist dies so korrekt oder gibt es ein Einstellmöglichkeit auf geschlossene Kerze und ich hab die nicht gefunden?

Antwort:

Open Preis müsste gute Ergebnisse bringen. Wenn ein EA auf "geschlossener Kerze" basiert, ist das das gleiche. Denn ob eine Kerze geschlossen ist oder nicht, kann ein EA erst mit dem Open Preis der Folgekerze prüfen. Das liegt daran, dass ein Expert Advisor den Hauptteil seines Codes bei jedem Kurs-Tick durchläuft, nicht zu bestimmten Uhrzeiten.

Um zu validieren, ob das Modell für Ihren EA passt, können Sie ganz einfach so vorgehen, dass Sie zwei Tests hintereinander fahren.

  1. Erst Open Preis,
  2. dann Jeder Tick.
  3. Vergleichen Sie im Anschluss die Ergebnisse.
  4. Wenn diese (nahezu) identisch sind, insbesondere über einen längeren Test-Zeitraum, dann können Sie mit guter Wahrscheinlichkeit die Open Preis Methode wählen.

Die Testgeschwindigkeit wird dadurch immens erhöht. Insbesondere in der Optimierung bringt diese sehr große Zeitvorteile.

Viel Trading-Erfolg wünscht
Cristof Ensslin und das ganze mindful FX-Team

Welche Daten sind für verlässliches Backtesting zu verwenden?

Eine häufige Frage von unseren Kunden ist die nach guten Tick-Daten, um einen Expert Advisor (EA) im MetaTrader 4 (MT4) backtzutesten und seine Einstellungen zu optimieren.

Grundsätzlich ist Ausschlag gebend: je mehr Ticks Ihre Datenbasis aufweise desto besser. Wählen Sie also die Daten eines MT4-Brokers, der viele Ticks (=Deals) im betrachteten Symbol aufweist. Das verbessert die Backtest-Qualität Ihres EA's. In heißen Markt-Phasen, also bei ausgeweitetem Spread und größerer Slippage-Gefahr, schützt Sie aber auch der qualitativ beste Backtest nicht.

DAHER:

Für Backtests unserer EA's nehmen wir in der Regel die im MetaTrader vorhandenen, "mitgelieferten" Brokerdaten. Warum?

Für Funktionalitätstests - sprich: tut der Expert Advisor exakt das, was wir wollen - ist das mehr als ausreichend. Performance-Tests sind aus den oben genannten Gründen immer nur eine vage Indikation, denn im Live-Trading kommen Slippage-Themen und Phasen ausgeweiteten Spreads etc. (siehe z.B. am vergangenen Donnerstag nach EZB-Zinsentscheid) viel häufiger ins Spiel als gedacht. Daher reichen die im MT4 vorhandenen Daten unseres Erachtens ebenfalls aus. Was dann zählt, ist der Forward-Test des EA's. Das heißt, dass Sie entweder auf Ihrem MT4-Demokonto, oder (wenn Sie sich das finanzielle Risiko leicht leisten können) mit kleinst-möglichem (!) Volumen auf einem Echtgeld-Konto eine gute Zeit lang. Dieser Forward-Test sollte auf alle Fälle eine Marktphase wie letzten Donnerstag (3.12.2015) beinhalten. Erst dann erhalten Sie einen guten und verlässlichen Eindruck.

EA's müssen aktiv, je nach aktuell vorherrschender Marktphase, ein- oder ausgeschaltet werden. Ihr Job als Trader ist, sich nicht blind auf Backtests zu verlassen, sondern ein Gefühl dafür zu entwickeln sowie handfeste Beweise zu finden (eben die Ergebnisse der Forward-Tests des EA's), ob gerade die richtige Marktphase für Ihr Handelsmodell vorherrscht - egal ob Sie manuell handeln oder Ihr System in einen Expert Advisor automatisiert haben.