Diese Website finanziert sich über Affiliate-Links (mit * markiert). Wenn Dir mein Content gefällt, kannst Du mich durch deren Verwendung unterstützen. Es entstehen keine Kosten für Dich. Danke und viel Spaß beim kostenlosen Lernen wünscht Dir Dein Tradinglux!
Diese Website verwendet Affiliate-Links (mit * markiert).

4.2 Testen von Handelsstrategien

Konntest Du Dir inzwischen einen Überblick über den MQL5-Market und die dort angebotenen Expert Advisors verschaffen? Dann wird es jetzt Zeit sie auf Herz und Nieren zu testen. Der MetaTrader 5 bietet einen mächtigen Strategietester und wird Dir dabei den Großteil der Arbeit abnehmen. Hier lernst Du mit Hilfe des Strategietesters den passenden Handelsroboter für Dich zu identifizieren.
Backtesting im MetaTrader 5
Konntest Du Dir inzwischen einen Überblick über den MQL5-Market und die dort angebotenen Expert Advisors verschaffen? Dann wird es jetzt Zeit sie auf Herz und Nieren zu testen. Der MetaTrader 5 bietet einen mächtigen Strategietester und wird Dir dabei den Großteil der Arbeit abnehmen. Hier lernst Du mit Hilfe des Strategietesters den passenden Handelsroboter für Dich zu identifizieren.

Rückblick

  • Auf der Website von MQL5 findest Du fertige Handelsroboter, sogenannte Expert Advisor
  • Im letzten Kapitel hast Du erfahren, wie Du seriöse Expert Advisor erkennst
  • Jetzt lernst Du, wie Du einen Expert Advisor testest und für Dich optimierst

Quantitative Analyse im MetaTrader 5

Einer der großen Vorteile automatisierter Handelssysteme ist, dass sie sich sehr einfach anhand historischer Kursdaten testen lassen. Diese Kunst der quantitativen Datenanalyse nennt man „Backtesting“, was sich lässt bestenfalls durch das Wort „Rückwärtstest“ übersetzen lässt. Der englische Begriff Backtest hat sich jedoch etabliert und wird daher in diesem Kapitel verwendet. Doch wie funktioniert das Backtesting eigentlich? Stelle Dir vor Du hast einen Handelsroboter, der völlig autonom agiert, also sowohl für den Einstieg als auch für den Ausstieg eigene Entscheidungen trifft. In diesem Fall ist es möglich den Algorithmus einfach mit historischen Kursen zu füttern und zu beobachten, was in der Vergangenheit passiert wäre. So lassen sich die Gewinne und Verluste für einen definierten Zeitraum genau berechnen. Ein guter Strategietester wie der des MetaTrader 5 bereitet die Ergebnisse dann visuell auf. Anhand dieser Ergebnisse können die Parameter des Roboters sukzessive optimiert werden.

Backtests

Es wird Zeit einen echten Handelsroboter mit dem Strategietester des MetaTrader 5 zu testen. Voraussetzung dafür ist, dass Du bereits ein Konto bei einem Broker eröffnet und den MetaTrader 5 installiert hast.

Echtgeldkonto für Backtests

  • Je nach Broker und Kontotyp werden manchmal unterschiedliche Datenfeeds (Kursdaten) zur Verfügung gestellt. Melde Dich für Deine Backtests daher unbedingt mit dem Handelskonto an, auf dem Du später Deinen Expert Advisor laufen lassen möchtest. Nur so erfährst Du, ob Dein EA mit den Konditionen Deines Brokers/Kontotyps wirklich profitabel ist
  • Tipps und Tricks zur Auswahl eines geeigneten Brokers findest Du hier

Expert Advisor installieren

Für einen Backtest im MetaTrader 5 benötigst Du einen Expert Advisor von MQL5. Im letzten Kapitel habe ich Dir bereits den kostenlosen CommunityPower MT5 als Expert Advisor empfohlen. Um ihn installieren zu können benötigst Du ein kostenloses Konto auf MQL5. Sobald Du Dich dort registriert hast, kannst Du den Expert Advisor kostenlos herunterladen. Öffne hierfür Deinen MetaTrader 5 und lasse ihn geöffnet. Gehe nun in Deinen Browser und öffne diesen Link, um den CommunityPower MT5 EA herunterzuladen, oder suche nach CommunityPower MT5 im Market von MQL5. Du solltest nun folgendes Fenster sehen:

Expert Advisor von MQL5 herunterladen
Installieren eines Expert Advisor im MetaTrader 5
Klicke auf Herunterladen (1) und dann auf Ja, ich habe den MetaTrader 5 (2). Der MetaTrader wird durch ein kurzes Geräusch darauf aufmerksam machen, dass der Expert Advisor nun installiert ist. Um zu überprüfen, ob die Installation geglückt ist, navigiere im MetaTrader 5 im Fenster Navigator zu Experten -> Market. Hier sollte der Expert Advisor nun gelistet sein. So kannst Du ab jetzt immer vorgehen, wenn Du einen Expert Advisor installieren möchtest.
Navigator im MetaTrader 5
Der Navigator im MetaTrader 5 zeigt alle installierten Expert Advisor an

Einzeltests im Strategietester

Öffne nun den MetaTrader und lasse Dir unter Ansicht -> Strategietester oder über „Strg + R“ den Strategietester anzeigen. Du solltest nun folgendes Fenster sehen:

Strategietester MetaTrader 5
Der Strategietester des MetaTrader 5

Wähle nun den „Einzeltest“ aus, wie auf der Abbildung illustriert. Jetzt wird Dir folgendes Fenster angezeigt:

Einstellungen Strategietester MetaTrader 5
Einstellungen für den Strategietester im MetaTrader 5

Es handelt sich hierbei um die Einstellungen für Deinen Backtest. Die Bedeutung der einzelnen Elemente ist:

  1. Expertenprogramm: Hier stellst Du ein, welchen Expert Advisor Du testen möchtest. Wähle den Community Power MT5 EA aus der Liste aus.
  2. Symbol: Hier stellst Du ein, welchen Markt Du überprüfen möchtest. Wähle das Währungspaar EUR/USD aus.
  3. Zeiteinheit: Hier stellst Du ein, in welcher Zeiteinheit der Test gemacht wird. Die meisten Expert Advisor betrifft dies nicht, da die Zeiteinheit in den Einstellungen des Expert Advisors vorgenommen werden. Manche verwenden die Einstellung jedoch für den Backtest. Stelle sicher, dass hier die Zeiteinheit eingetragen ist, in der Dein Robo handeln soll. Verwende für unser Beispiel H1 für Stundenweise.
  4. Datum: Hiermit ist der Zeitraum gemeint, den Du testen möchtest. Ich teste zunächst immer das komplette letzte Jahr, um ein Gefühl für den EA zu bekommen. Wähle hierfür „Zeitraum anpassen“ aus und stelle den Zeitraum manuell auf das letzte Jahr ein.
  5. Vorwärtstest: Dieser Begriff ist etwas verwirrend, da auch in einem Vorwärtstest vergangene Daten getestet werden. Vorwärtstests dienen dem Vermeiden von Überoptimierung, wie im letzten Kapitel beschrieben. Angenommen, Du hast die Einstellungen Deines Robos für einen bestimmten Zeitraum so lange optimiert, dass zufällig Parameter herausgekommen sind, die Gewinne generieren. Dann werden diese Parameter in der Zukunft vermutlich nicht profitabel sein. Der Vorwärtstest ist also ein Zeitraum, der aus dem Testzeitraum separiert wird. Hier beginnt der Test von vorne. So entstehen zwei separate Zeiträume, die miteinander verglichen werden können. Da Du erstmal keine Einstellungen änderst. Lasse die Einstellung daher für den Anfang auf „No“.
  6. Verzögerung: Hiermit ist die Latenz gemeint, die Dein Client in der Verbindung zum Server des Brokers hat. Du findest diese Zahl am unteren rechten Bildschirmrand Deines MetaTrader 5. Trage die Zahl so ein, dass sie ungefähr zu Deiner Latenz passt.
  7. Modellierung: Hier solltest Du wann immer möglich „Jeder Tick anhand realer Ticks auswählen“. Insbesondere bei hochfrequenten Algorithmen ist dies wichtig, da dann Deine Ergebnisse der Realität entsprechen. Die Option benötigt allerdings die meiste Rechenleistung. Wenn Du einen Algorithmus testest, der in höheren Zeiteinheiten agiert, dann genügt die Einstellung „1 Minute OHLC“. Hier werden nur die Schlusskurse gemäß OHLC pro Minute zur Berechnung verwendet. Die Berechnung ist dafür viel schneller.
  8. Einlage: Gib hier an, wie viel Geld Du auf Deinem Konto hast, bzw. haben wirst. Wähle auch die passende Währung dahinter aus.
  9. Hebel: Hier trägst Du den verwendeten Hebel Deines Kontos ein. Du findest diese Information auf der Konto-Übersichtsseite Deines Brokers. Wenn Du einen Broker innerhalb der EU verwendest, dann sollte Dein Hebel auf 30:1 beschränkt sein. Leider bietet der MetaTrader, warum auch immer, nur eine Hebelauswahl von 25:1. Dies sollte näherungsweise genügen. Je höher Dein Hebel, desto mehr Risiko kannst Du in Relation zu Deiner Depotgröße eingehen. Stelle den Hebel fürs erste auf 300:1 ein Du wirst noch sehen warum.
  10. Optimierung: Diese Einstellung ist nur relevant, wenn Du verschiedene Einstellungen Deines Robos miteinander vergleichen möchtest. Wir verwenden für den Anfang die Standardeinstellungen, lassen die Optimierung also deaktiviert.
  11. Visueller Modus: Diese Einstellung zeigt Dir in Echtzeit, wie der Robo arbeitet. Dies kann Dir dabei helfen Deinen Robo besser zu verstehen, dauert aber auch länger. Lasse hier zunächst kein Häkchen.
Überprüfe noch einmal Deine Einstellungen und klicke dann auf den Button „Test Starten“. Je nach Leistung Deines Rechners wird es nun einige Zeit dauern, bis der Backtest fertig ist. Der MetaTrader lädt nun zunächst die Daten für den Testzeitraum herunter. Sobald dies erledigt ist, sollte unten im Strategietester der Reiter „Diagramm“ erscheinen. Hier kannst Du jetzt live Deine Depotentwicklung für den vorgegebenen Zeitraum verfolgen.
Visualisierung des Backtests als Diagrmm
Die Diagramm-Ansicht während eines laufenden Backtests im MetaTrader 5

Das Diagramm zeigt besteht zeigt die Depotentwicklung über die gewählte Test-Zeitspanne. Dabei zeigt sich eine blaue und eine grüne Linie. Die blaue Linie zeigt die Depotentwicklung anhand realisierter, sprich geschlossener Orders. Die grüne Linie zeigt dagegen die Belastung der  Einlage, während die Orders noch offen sind. Je weniger unsere Einlage belastet wird, desto besser. In meinem spezifischen Fall hat der Robo innerhalb eines Jahres aus 2.000 € ca. 3.000 € erwirtschaftet. Dies ist für die Standardeinstellungen des Expert Advisors bereits ein beachtliches Ergebnis. Allerdings wurde dabei die Einlage viel zu sehr belastet. Auch wenn der Verlust nicht realisiert wurde, so war das Depot zwischenzeitlich im Februar über 1.000 € im Minus. Wäre der Hebel bei 30:1 gewesen, dann wäre dieser Verlust vermutlich realisiert worden, da nicht genug Equity zur Verfügung gestanden hätte. Das bedeutet, dass die Eingabeparameter für den EA noch nicht optimal sind.

Optimierungen im Strategietester

Die Eingabeparameter können unter dem Reiter „Eingaben“ verfeinert werden:
Eingaben für Expert Advisor ändern MetaTrader 5

Eingabeparameter für Deinen Expert Advisor im MetaTrader 5 ändern

CommunityPower MT5 erschlägt einen regelrecht mit der Anzahl an Optionen für den Expert Advisor. Glücklicherweise bietet der Entwickler auf MQL5 eine ausführliche Dokumentation zu den Einstellungen an. Hier findest Du heraus, wofür die einzelnen Parameter stehen. Wem das zu umständlich ist, der kann einfach fertige Set-Dateien von anderen Nutzern herunterladen. Melde Dich dafür einfach im Forum des Entwicklers an. Wenn Du dort eine Set-Datei herunterlädst, dann kannst Du die Einstellung ganz einfach in den MetaTrader 5 importieren. Dies funktioniert, indem Du mit einem Rechtsklick irgendwo in das Eingabefenster des Strategietesters und dann auf „laden“ klickst. Wähle dann die heruntergeladene Set-Datei aus. Der Strategietester übernimmt dann alle Einstellungen aus der Set-Datei.
Einstellungen Set Dateien laden und speichern im MetaTrader 5
Die Einstellungen anderer Nutzer lassen sich ganz einfach per Set-Datei importieren
Für diejenigen, die eigenständig verschiedene Einstellungen testen möchten bietet sich die sogenannte „Optimierung“ an. Mit einer Optimierung können viele Backtests miteinander verglichen werden um die besten Einstellungen zu finden. Gehe hierzu zurück in die Backtest Einstellungen unter Strategietester -> Einstellungen -> Optimierung. Bei der schnellen genetischen Rechenweise werden die Werte Näherungsweise verglichen, bei einem vollständigem Algorithmus werden alle Inputparamter miteinander verglichen. Dies kann allerdings sehr lange dauern.Setze den Punkt „Optimierung“ daher auf „schneller genetischer Algorithmus“ und wechsle zurück in das Fenster Eingaben.
Backtest Einstellungen für Expert Advisors im MetaTrader 5
Optimierungen im MetaTrader 5
Wenn Du jetzt wieder zu „Eingabe“ wechselst, dann kannst Du Wertebereiche definieren, innerhalb derer die Eingaben in der Optimierung miteinander verglichen werden sollen. CommunityPower verwendet in den Standardeinstellungen beispielsweise einen Oszillator zum Generieren von Handelssignalen. Scrolle in den Eingaben  herunter, bis zu „Oszillator #1 properties“. Nehmen wir an Du möchtest hier nun über eine Optimierung die Einstellungen unter „Timeframe“ miteinander vergleichen. Dann kannst Du jetzt, sofern die Optimierung in den Einstellungen aktiviert wurde, ganz links ein Häkchen setzen. Nun kannst Du einen Anfang- und einen Startwert sowie die dazwischen liegenden Schritte festlegen. Dies ist der zu testende Wertebereich während der Optimierung.
Eingaben der Optimierung bzw des Backtests
Wertebereich für die Optimierung definieren
Wenn Du den Wertebereich wie in der Abbildung setzt und dann auf „Test starten“ klickst, dann wird der Computer mit der Optimierung beginnen. Prüfe vorher aber immer, ob nicht ungewollte noch andere Häkchen gesetzt sind. Ansonsten wird die Optimierung unnötig aufgebläht, da die benötigte Rechenleistung mit jedem Parameter exponentiell steigt. Wenn Deine Optimierung wie im obigen Beispiel durchgelaufen ist, dann bekommst Du eine Übersicht der Ergebnisse angezeigt:
Ergebnisse aus dem Backtesting
Ergebnisse der Optimierung
Die Rechnung hat ergeben, dass der Oszillator mit der vorgegebenen Einstellung von fünf Minuten am besten funktioniert. Allerdings zeigt die Optimierung auch wieder den hohen Rückgang der Equity von 65%, was nachwievor nicht gut ist. Ab jetzt beginnt die Detektivarbeit. Du kannst über Optimierungen alle möglichen Eingaben miteinander vergleichen und mit CommunityPower so Deinen eigenen Handelsroboter kostenlos zusammenstellen. Dafür benötigst Du vermutlich viel Rechenleistung. Die Alternative wäre an dieser Stelle entweder der Erwerb eines kostenpflichtigen Handelsroboters, oder Du mietest Dir über die MQL5 Cloud einfach zusätzliche Rechenleistung.

Abschluss

Du weißt jetzt wie Du Expert Advisor installierst und im Strategietester optimierst. Nimm Dir die Zeit alle Expert Advisor, die Dich interessieren auf Herz und Nieren zu überprüfen, erst recht bevor Du einen EA auf MQL5 erwirbst. Hüte Dich bei Deinen Backtests vor Überoptimierung. Ergänze Deine Backtests durch Forward-Tests, um die Güte Deiner Ergebnisse zu erhöhen. Teste eventuell Marktübergreifend. Erst wenn Du Dich sicher fühlst, solltest Du Dich im nächsten Kapitel mit dem Einrichten der Live-Handelsumgebung befassen.
Kommentare

    Schreibe einen Kommentar

    Weitere Inhalte