Quant Lab
- Indikatoren
-
Thomas Bradley Butler
ALL OF MY PRODUCTS ARE CLEARLY STATED WITH WHAT TO DO AND YOU MUST READ ALL AND FOLLOW DESCRIPTIONS. - Version: 1.0
- Aktivierungen: 5
Quant Lab – Generator für genetische Strategien für MetaTrader 5
Was ist Quant Lab?
Quant Lab ist ein auf genetischen Algorithmen basierender Strategie-Generator, der direkt in Ihrem MetaTrader 5-Chart läuft. Anstatt einen Expert Advisor von Hand zu programmieren und bei den Parametern zu raten, lassen Sie einen evolutionären Suchprozess eine Kombination aus Einstiegslogik, Ausstiegslogik, einem Marktfilter und einer Regel zur Positionsgrößenbestimmung finden, die auf den echten historischen Daten Ihres Charts gut funktioniert – und exportieren diese Entdeckung anschließend als eigenständigen, kompilierbaren MQL5-EA.
Quant Lab erfindet keine Handelsideen aus dem Nichts. Es arbeitet mit einem definierten Satz von Bausteinen und durchsucht den Raum der Möglichkeiten, diese zu kombinieren und zu parametrisieren:
- Einstiegsmodul – das Signal, das einen Trade auslöst: MA-Crossover, RSI-Mean-Reversion, Donchian-Breakout oder Bollinger-Band-Reversion
- Ausstiegsmodul – wie ein Trade geschlossen wird: Fester Stop-Loss/Take-Profit, Trailing Stop, Signal mit entgegengesetztem Vorzeichen oder zeitbasiert
- Filtermodul – eine optionale Veto-Ebene, die vor jedem Einstieg angewendet wird: Keine, Trendfilter oder Volatilitätsfilter
- Geldmanagement-Modul – Positionsgrößenbestimmung, die sich mit Ihrem Kontostand skaliert (Zinseszins), mit einer weiterentwickelten Obergrenze, um eine außer Kontrolle geratene Positionsgröße zu verhindern
Jede Kandidatenstrategie ist ein „Chromosom“, das aus je einem Gen aus jedem dieser vier Module sowie den spezifischen Parametern des jeweiligen Moduls (Perioden, Schwellenwerte, Punktabstände) besteht. Der genetische Algorithmus testet nicht jede mögliche Kombination – er entwickelt sich durch Selektion, Crossover und Mutation zu guten Kombinationen weiter, genauso wie die biologische Evolution Merkmale begünstigt, die funktionieren.
Schritt für Schritt: So verwenden Sie es
1. Fügen Sie es dem richtigen Chart hinzu. Öffnen Sie genau das Wertpapier und den Zeitrahmen, mit denen Sie tatsächlich live handeln möchten. Quant Lab bezieht echte Kursdaten direkt aus diesem Chart – es verwendet keine synthetischen oder Daten von Drittanbietern, daher bestimmt der Chart, dem Sie es hinzufügen, alle nachfolgenden Schritte.
2. Laden Sie die Live-Daten neu. Klicken Sie auf „Reload Live Data“. Dadurch wird die in „InpHistoryBars“ festgelegte Anzahl von Balken (standardmäßig 3000) direkt aus dem Chart über „CopyClose“ / „CopyHigh“ / „CopyLow“ abgerufen. Die Bezeichnung „Quelle“ im Dashboard zeigt Ihnen den genauen geladenen Datumsbereich an – notieren Sie sich diesen Bereich, da Sie ihn später zur Validierung der Ergebnisse benötigen.
3. Überprüfen Sie Ihre GA-Einstellungen vor der Ausführung. Wichtige Eingaben:
- InpPopulationSize / InpGenerations – größere und längere Werte führen zu einer gründlicheren Suche, benötigen jedoch mehr Zeit für die Ausführung
- InpMinTrades – lehnt jede Strategie ab, die im Testzeitraum nicht mindestens diese Anzahl an Trades generiert (schützt vor Zufallsergebnissen aufgrund geringer Stichprobengröße)
- InpMaxDrawdownCap – lehnt jede Strategie ab, deren im Backtest ermittelter Drawdown diesen Dollarbetrag überschreitet
- InpAccountRef – der Anfangssaldo, den der GA für die Berechnung der Positionsgröße unter Berücksichtigung des Zinseszinses zugrunde legt. Notieren Sie sich diese Zahl – Sie müssen später im Strategietester von MetaTrader den Wert für „Anfängliche Einzahlung“ genau auf diesen Betrag einstellen.
- InpSpreadPoints – Stellen Sie hier den typischen Spread Ihres Brokers für dieses Symbol ein. Eine Unterschätzung des Spreads lässt das Backtesting besser aussehen, als es in der Realität der Fall sein wird.
4. Klicken Sie auf „Start Evolution“. Das Dashboard wird in Echtzeit aktualisiert: Das Fitness-Diagramm zeigt, wie die beste und die durchschnittliche Fitness von Generation zu Generation steigen, und das Fenster „Live Population“ zeigt die aktuellen Top-Kandidaten an. Lassen Sie den Vorgang bis zum Ende laufen – ein vorzeitiger Abbruch gibt dem Algorithmus weniger Zeit, zu einer wirklich guten Kombination zu konvergieren.
5. Lesen Sie das Ergebnis. Wenn die Evolution abgeschlossen ist, zeigt das Fenster „Best Strategy“ die erfolgreiche Kombination aus Einstieg, Ausstieg und Filter, ihre weiterentwickelten Parameter sowie die Backtest-Statistiken an: Netto-Prozent, Profit-Faktor, Gewinnquote, maximaler Drawdown und Anzahl der Trades. Das Kapitalkurven-Diagramm zeigt den Verlauf dieses Backtests.
6. Exportieren Sie den EA. Klicken Sie auf „Export .MQ5“. Dadurch wird ein vollständiger, eigenständiger Expert Advisor in den Ordner „MQL5\Files\“ geschrieben. Suchen Sie nach dem Namen, der im Abschnitt „Expert Advisor“ in der Toolbox generiert wurde – das ist der Name des EAs, den Sie in der IDE finden werden. Öffnen Sie anschließend den Code, kopieren Sie ihn und fügen Sie ihn in ein brandneues Indikatorfenster ein. Kompilieren Sie ihn dann – und fertig ist Ihr EA.
7. Kompilieren und testen. Öffnen Sie den MetaEditor, navigieren Sie zu der verschobenen Datei, drücken Sie F7 zum Kompilieren und öffnen Sie sie anschließend im Strategietester.
So erzielen Sie die größtmögliche Übereinstimmung zwischen Backtest- und Live-Ergebnissen
Dies ist der Schritt, den die meisten Entwickler überspringen – und er macht den Unterschied zwischen einer Strategie, die nur im Dashboard von Quant Lab „funktioniert“, und einer, die sich auch im tatsächlichen Einsatz genauso verhält.
- Passen Sie das Symbol und den Zeitrahmen exakt an. Die Strategie wurde auf einem bestimmten Chart entwickelt. Wenn Sie den exportierten EA auf ein anderes Symbol oder einen anderen Zeitrahmen anwenden, bedeutet dies, dass er mit einem anderen Kursverhalten handelt als dem, für das er optimiert wurde.
- Passen Sie den Datumsbereich an. Quant Lab gibt den genauen Balkenbereich an, anhand dessen die Strategie entwickelt wurde (sichtbar im Dashboard und im Expertenprotokoll). Stellen Sie die „Von“- und „Bis“-Daten im Strategietester auf denselben Bereich ein, um einen möglichst direkt vergleichbaren Test zu erhalten.
- Passen Sie die Anfangseinlage an. Da sich die Positionsgröße aus dem Kontostand ergibt, muss die Anfangseinlage im Strategy Tester exakt dem Wert von `InpAccountRef` entsprechen. Eine Abweichung an dieser Stelle bedeutet, dass jede Berechnung der Lotgröße ab dem ersten Trade von dem abweicht, was der GA ermittelt hat – und da sich diese Abweichung kumuliert, wächst die Differenz mit jedem nachfolgenden Trade, anstatt konstant zu bleiben. Der generierte EA überprüft dies beim Start und gibt eine Warnung im Journal aus, wenn der Kontostand nicht übereinstimmt.
- Verwenden Sie ein Tick-Modell, das dem im Backtest zugrunde gelegten nahekommt. Die Engine von Quant Lab vergleicht Stop-Loss/Take-Profit mit dem Hoch/Tief jedes Balkens (eine realistische Ausführung innerhalb des Balkens) und nicht nur mit dessen Schlusskurs. Im Strategietester kommen Sie dem am nächsten mit „1 Minute OHLC“ oder „Jeder Tick basierend auf echten Ticks“; „Nur Eröffnungskurse“ weicht stärker ab.
- Geben Sie Ihren Spread ehrlich an. Wenn „InpSpreadPoints“ nicht den tatsächlichen typischen Spread Ihres Brokers für dieses Symbol widerspiegelt, stimmt das Kostenmodell des Backtests nicht mit den Kosten überein, die Sie im Live-Handel tatsächlich zahlen.
Warum die Ergebnisse dennoch variieren – und warum das zu erwarten ist und kein Fehler
Selbst wenn alle oben genannten Faktoren exakt übereinstimmen, sollten Sie nicht erwarten, dass die Zahlen zwischen dem internen Backtest von Quant Lab, dem Strategietester von MetaTrader und dem späteren Live- bzw. Demo-Handel bitgenau identisch sind. Hier sind einige reale, unvermeidbare Ursachen für Abweichungen:
- Unterschiede zwischen den Brokern. Spread, Provisionsstruktur, Swap-Sätze, Ausführungslatenz und das Verhalten bei Requotes unterscheiden sich von Broker zu Broker – manchmal erheblich. Eine Strategie, die unter der Annahme eines Spreads von 20 Punkten entwickelt wurde, wird bei einem Broker, dessen tatsächlicher Spread 8 oder 35 Punkte beträgt, eine andere Performance zeigen.
- Granularität der Tick-Daten. Die synthetische Tick-Generierung des Strategietesters (die zur Simulation von Kursbewegungen innerhalb eines OHLC-Balkens dient) ist eine statistische Annäherung und keine perfekte Rekonstruktion dessen, was tatsächlich Tick für Tick auf dem realen Markt geschehen ist. Zwei verschiedene Modi zur Tick-Generierung im selben Tester können bei ein und demselben Balken zu leicht unterschiedlichen Ausführungsergebnissen führen.
- Slippage und Requotes im Live- bzw. Demo-Handel, die kein Backtest – weder der von Quant Lab noch der von MetaTrader – vollständig erfasst, da sie von den Echtzeit-Liquiditätsbedingungen zum Zeitpunkt der Ausführung abhängen.
- Rundung der Lotgröße. Verschiedene Broker haben unterschiedliche Mindest-Lot-Schritte und maximale Positionsgrößen; Quant Lab passt sich an die tatsächlichen Volumenbeschränkungen Ihres verbundenen Brokers an, aber eine Strategie, die auf dem Lot-Schritt eines Brokers entwickelt wurde, wird bei einem anderen Broker eine geringfügig andere Größenordnung aufweisen.
Nichts davon bedeutet, dass das Tool fehlerhaft ist – es bedeutet vielmehr, dass jedes Backtesting, auf jeder Plattform und von jedem Anbieter, ein Modell des Marktes ist und keine exakte Aufzeichnung desselben. Das Ziel der Abstimmung von Symbol, Zeitrahmen, Datumsbereich und Einlage besteht nicht darin, Abweichungen vollständig zu beseitigen, sondern sie auf ein unvermeidbares Minimum zu reduzieren, damit Sie, soweit es die Plattform zulässt, möglichst gleichartige Daten miteinander vergleichen.
Weitere Optimierungen, die Sie vornehmen sollten, bevor Sie einem Ergebnis vertrauen
Behandeln Sie die erste Ausgabe von Quant Lab als einen Kandidaten, nicht als fertiges Produkt:
- Führen Sie die Evolution mehrmals durch. Genetische Algorithmen beinhalten Zufälligkeit bei der Initialisierung, Mutation und Kreuzung – die zweimalige Ausführung derselben Einstellungen kann zu unterschiedlichen (manchmal sehr unterschiedlichen) Erfolgsstrategien führen. Wenn eine bestimmte Ein- und Ausstiegskombination über mehrere unabhängige Durchläufe hinweg immer wieder erfolgreich ist, ist das ein viel stärkeres Signal als ein einzelnes Glückstreffer-Ergebnis.
- Prüfen Sie die Out-of-Sample-Performance, nicht nur den In-Sample-Fitness-Wert. Eine Strategie, die nur bei genau den Kerzen gut aussieht, anhand derer sie entwickelt wurde, könnte an das Rauschen in diesem spezifischen Zeitfenster überangepasst sein. Testen Sie den exportierten EA in einem Zeitbereich außerhalb des Zeitraums, in dem Quant Lab trainiert wurde.
- Variieren Sie die Ausgangsbedingungen. Probieren Sie ein längeres oder kürzeres „InpHistoryBars“-Fenster, eine andere Populationsgröße oder ein völlig anderes Symbol bzw. einen anderen Zeitrahmen aus und beobachten Sie, ob sich ähnliche Strategietypen immer wieder als Gewinner herauskristallisieren – Konsistenz über verschiedene Varianten hinweg ist vertrauenswürdiger als ein einzelner starker Lauf.
- Führen Sie einen Forward-Test auf einem Demokonto durch, bevor Sie echtes Kapital einsetzen. Kein Backtest, wie sorgfältig er auch abgestimmt sein mag, ersetzt die Beobachtung des Strategietrading unter realen Marktbedingungen mit echten (wenn auch simulierten) Ausführungen über Wochen oder Monate hinweg.
- Machen Sie sich klar, was Quant Lab nicht leistet. Es führt lediglich eine einzige Aufteilung in In-Sample- und Out-of-Sample-Daten durch. Eine weitere Optimierung sollte im Strategietester erfolgen.
