📖 Backtesting im Forex: wie man Strategien prüft und warum Walk-Forward-Analyse nötig ist
Backtesting ist das Durchspielen von Handelsregeln auf historischen Daten, um zu verstehen, wie sich eine Strategie in der Vergangenheit verhalten hätte, ohne Kapital zu riskieren. Im Kontext des algorithmischen Tradings ist Backtesting ein Pflichtschritt vor Demo und Live-Start.
Ziel dieses Materials ist zu zeigen, wie man einen Forex-Backtest in MT4, MT5 und cTrader professionell organisiert: Modellierungsmodi auswählen, Tick-Genauigkeit erreichen, Walk-Forward-Analyse durchführen, Kennzahlen interpretieren, Ausführung simulieren und die Robustheit mit Monte Carlo prüfen.
Backtesting: Simulation von Trades auf Vergangenheitsdaten mit Berechnung von Rendite- und Risikokennzahlen.
Algo-Trading: Handel nach formalisierten Regeln, die in Code programmiert sind.
Tick-Daten: Abfolge der kleinsten Preisänderungen (tick-by-tick) mit genauer Zeit.
Walk-Forward-Analyse (WFA): Zyklus „Optimierung auf einem Fenster → Prüfung auf dem nächsten Fenster (OOS) → Fenster verschieben“ zur Bewertung der Stabilität.
Monte Carlo: Serie zufälliger Szenarien (Umordnung der Trade-Reihenfolge, Variation der Kosten) zur Bewertung der Ergebnisstreuung und der „Tail“-Risiken.
🧭 Was Backtesting ist und warum es entscheidet
Backtesting ist die Simulation von Strategie-Trades auf einem vergangenen Markt mit Berechnung zentraler Kennzahlen. Es ist ein Qualitätsfilter für Ideen vor Demo/Live und eine Methode, die Logik des Codes zu prüfen.
- Hypothesenprüfung: schwache Ideen schnell aussortieren und sich auf starke konzentrieren.
- Code-Diagnose: die visuelle Validierung von Ein- und Ausstiegen hilft, Logikfehler zu finden.
- Kennzahlen: Max Drawdown, PF, Sharpe, Erwartungswert pro Trade, Stabilität nach Jahren.
- Disziplin: historisch bestätigte Regeln lassen sich psychologisch leichter durchhalten.
Max Drawdown: maximaler Rückgang vom Equity-Hoch in Prozent.
PF (Profit Factor): Verhältnis des gesamten Gewinns zur Summe der Verluste.
Sharpe Ratio: Rendite, normiert auf Risiko (Volatilität der Rendite).
Erwartungswert pro Trade (Expectancy): durchschnittlicher Gewinn pro Trade = WinRate × AvgWin − (1 − WinRate) × AvgLoss.
Vergangene Ergebnisse garantieren keine zukünftigen. Ein Backtest wird durch Forward-Test (Prüfung auf neuen Daten/Demo) und Ausführungskontrolle ergänzt.
⚙️ Ansätze für Backtesting in MT4, MT5 und cTrader
Die Plattformen unterscheiden sich bei Modellierungsgenauigkeit, Multi-Währungsfähigkeit, Optimierungsgeschwindigkeit und Entwicklungsfreundlichkeit.
Multi-Währungsfähigkeit: gleichzeitiges Testen/Handeln mehrerer Symbole in einem Expert Advisor und einem einheitlichen Lauf.
MT4: Klassiker mit Einschränkungen
- Tester: visueller Modus, aber kein Multi-Währungs-Backtest (1 Symbol pro Lauf).
- Modellierung: „nur Eröffnungskurse“, „Kontrollpunkte“, „alle Ticks“. Ohne externe Ticks liegt die Qualität oft bei ≤90%.
- Geschwindigkeit: sequenzielle Läufe, keine verteilte Optimierung.
✅ Vorteile
- Einfache Entwicklungsumgebung, viele fertige Expert Advisors.
- Niedrige Einstiegshürde für schnelle Experimente.
❌ Nachteile
- Kein Multi-Währungs-Test in einem Lauf.
- Tick-Genauigkeit erfordert externen Import und manuelle Vorbereitung der Historie.
MT5: professioneller Standard
- Multi-Währungsfähigkeit: ein Expert Advisor kann mehrere Symbole in einem Prozess testen.
- Ticks: Unterstützung echter Ticks und Spreads vom Broker; Modi „Jeder Tick“, „1-Minute OHLC“, „Eröffnungen“.
- Optimierung: Multithreading, genetischer Algorithmus, Remote-Agenten und Cloud.
- Forward-Opt: eingebaute Aufteilung der Historie in Trainingsabschnitt und OOS.
1-Minute OHLC: Modellierung anhand der vier Preise eines Minutenbalkens (Open/High/Low/Close); schneller, aber gröber bei engen Stops.
Genetischer Algorithmus: heuristische Optimierung — „Evolution“ von Parametersätzen mit Auswahl der besten Kombinationen.
OOS (Out-of-Sample): „außerhalb der Stichprobe“ liegender Teil der Historie, auf dem bereits ausgewählte Parameter nach der Optimierung geprüft werden.
✅ Vorteile
- Hohe Modellierungsgenauigkeit „out of the box“ auf Ticks.
- Schnelle Optimierungen, einschließlich Forward und genetischem Algorithmus.
❌ Nachteile
- Strengere Anforderungen an sauberen Code und das Ereignismodell.
cTrader: Flexibilität von C# und Market Replay
- Sprache: C# (Automate/cAlgo), strenge Typisierung und .NET-Ökosystem.
- Daten: „Tick data from server“, fester oder zufälliger Spread.
- Erfahrung: Market Replay — manuelles Abspielen des Marktes für Training/visuelle Validierung.
- Performance: sequenzieller Lauf; Optimierung — in neueren Builds parallel.
✅ Vorteile
- Starker C#-Stack und komfortabler Market Replay.
- Flexible Anpassung von Ausführung und Spread.
❌ Nachteile
- Multi-Symbol-Systeme benötigen eine manuelle Signalarchitektur.
🧪 Modellierungsmodi und wann man sie nutzt
Die Wahl des Modus hängt von der Empfindlichkeit gegenüber Intrabar-Bewegungen (Ticks) und engen SL/TP (Stop-Loss/Take-Profit)ab.
Tick: Modellierung jeder Preis- und Spread-Änderung (maximale Genauigkeit für Scalping/HFT).
OHLC: Modellierung anhand der vier Balkenpreise; schneller, aber gröber bei engen Stops.
HFT: hochfrequente Logik mit kritischer Ausführungslatenz.
„Jeder Tick“ (tick-by-tick)
Maximal realistische Simulation jeder Preis- und Spread-Änderung. Nötig für Scalping und HFT-Logik.
- Vorteile: präzise Ein-/Ausstiege, angemessene Bewertung von Stops und Slippage.
- Nachteile: hohe Last und hohe Anforderungen an die Tick-Qualität.
Kernpunkt: wenn Trigger innerhalb einer Kerze auslösen, testen Sie „auf Ticks“, sonst wird das Ergebnis überschätzt.
OHLC/1-Minute
Modellierung anhand von Open/High/Low/Close der Minutenkerzen. Geeignet für mittelfristige Ansätze und schnelle grobe Filterung von Ideen.
- Vorteile: sehr schnell.
- Nachteile: Verzerrungen bei engen Stops und Intraday-Patterns.
Visueller Modus / Market Replay
Schrittweises Betrachten der Trades im Chart (MT4/MT5) oder Abspielen des Marktes (cTrader) — praktisch für Debugging und Lernen.
- Vorteile: Einstiegslogik, Trailing und Filter sind anschaulich sichtbar.
- Nachteile: langsamer als Batch-Läufe; Risiko des nachträglichen „Hineinschauens“.
📊 Modellierungsqualität und Datenquellen
Die Aussagekraft ist durch die Qualität der Eingangsdaten begrenzt. „Garbage in, garbage out“. Zuerst kommt die Historie, danach die Optimierungen.
- Ticks: für MT5/cTrader — Ticks vom Broker; für MT4 — Import externer Ticks und Konvertierung für den Tester.
- Zeitzone und Sessions: einheitliche Zeitzone, Prüfung auf Lücken und doppelte Balken.
- Kosten: realen/zufälligen Spread, Kommission und Slippage modellieren.
- Prüfung: „Trockenlauf“ ohne Trades zur Validierung der Zeitsequenz.
Öffnen Sie Strategietester → wählen Sie den Expert Advisor (EA) → Modus „Jeder Tick“ → Tick-Quelle „Börsen-/Broker-Ticks“ → Kommission/Spread setzen → „Visualisierung“ aktivieren → Start. Für Forward-Optimierung den OOS-Abschnitt in den Optimierungseinstellungen aktivieren.
🧼 Datenpipeline für einen ehrlichen Backtest
Daten entscheiden alles. Prüfen Sie vor Optimierungen, dass die Historie vollständig, zeitzonen-konsistent und von „Lücken“ sowie Duplikaten bereinigt ist.
- Importieren Sie Ticks/Minutendaten aus einer verlässlichen Quelle oder direkt vom Broker.
- Normalisieren Sie Zeitzone und Kalender der Handelssessions.
- Bereinigen Sie Anomalien: Duplikate, Null-Balken, extreme „Spikes“.
- Modellieren Sie Spread/Kommission und legen Sie Regeln für Preis-/Volumenrundung fest.
- Führen Sie einen „Trockentest“ ohne Trades durch, um die Monotonie der Zeit zu prüfen.
Kompatibilität: MT5 und cTrader — Priorität für Tick-Daten; MT4 — über Tick-Import. Bei gemischten Quellen eine einheitliche Zeitzone verwenden und Regeln für Sommerzeitwechsel festhalten.
Führen Sie einen „Datenpass“: Quelle, Tiefe, Zeitzone, Exportdatum und Datei-Hash — das erleichtert Reproduzierbarkeit.
⚡ Ausführungsmodellierung: Orders, Spread, Latenzen
Ideale Ausführung überschätzt Ergebnisse. Aktivieren Sie realistische Annahmen: Ordertyp, Spread-Filter, Slippage und zufällige Verzögerungen.
Spread: Differenz zwischen Bid und Ask; weitet sich bei Nachrichten/niedriger Liquidität aus.
Slippage: Ausführung zu einem schlechteren Preis als erwartet wegen Marktimpuls oder Verzögerung.
Latenz: gesamte Verzögerung von Netzwerk/Terminal/Server; kritisch für HFT/Nachrichten.
| Komponente | Modell | Empfehlung |
|---|---|---|
| Ordertyp | Market/Limit/Stop | Scalping — Limit mit Spread-Filter; Trend — Market ist zulässig. |
| Spread | Fest oder zufällig | Zufälliger Spread innerhalb historischer Werte ist realistischer. |
| Slippage | Symmetrisch oder verzerrt | Bei Market-Orders eine negative Verschiebung einplanen. |
| Latenz | Zufällig 10–300 ms | Relevant bei Nachrichten und in Phasen hoher Volatilität. |
Planen Sie einen „Ausführungsabschlag“ von 5–15% auf den Gewinn und +20–30% auf den Max Drawdown gegenüber dem Backtest ein, wenn Sie den Live-Start kalkulieren.
⏩ Walk-Forward-Analyse (WFA)
Walk-Forward ist ein schrittweiser Zyklus „Optimierung auf einem Fenster → Prüfung auf dem nächsten Fenster (OOS) → Fenster verschieben“, um Stabilität zu beurteilen.
WFA: Wechsel von in-sample (Trainingsabschnitt) und out-of-sample (Prüfabschnitt) mit geplanter Neuoptimierung.
OOS: ungesehener Teil der Historie, auf dem die bereits gewählten Parameter geprüft werden.
Rolling vs Anchored: rollierendes Fenster gegenüber wachsendem Fenster (weniger Overfitting-Risiko).
- Teilen Sie die Historie auf: z. B. 12–18 Monate Optimierung und 3–6 Monate Prüfung.
- Optimieren Sie Parameter im ersten Fenster und fixieren Sie den besten Satz.
- Prüfen Sie diesen Satz im nächsten Fenster (OOS).
- Verschieben Sie die Fenster und wiederholen Sie den Zyklus bis zum Ende der Historie.
- Fassen Sie die OOS-Ergebnisse zusammen, bewerten Sie Stabilität und Drawdown-Spanne.
Praktische WFA-Schemata
Rolling window — schnelle Anpassung; Anchored — weniger Überanpassung, aber höhere Trägheit.
Kernpunkt: begrenzen Sie die Anzahl der Parameter und verwenden Sie in allen Fenstern dieselben Regeln — sonst ist der Vergleich nicht korrekt.
🎲 Monte-Carlo-Prüfung der Strategie
Monte Carlo ist eine Serie zufälliger Szenarien (Umordnung von Trades, Spread-/Slippage-Variationen), die Ergebnisstreuung und „Tails“ der Risiken zeigt.
Umordnungsszenarien
Simulieren Sie 200–1000 alternative Historien, um die Spanne von Rendite und Drawdowns zu bewerten.
- Reshuffle: zufällige Umordnung der Trade-Reihenfolge bei gleichem PnL (Gewinn/Verlust).
- Noise: ±25–50% auf Slippage und Spread.
- Gap test: seltene extreme Ticks, die Nachrichten-„Abverkäufe“ imitieren.
Kernpunkt: orientieren Sie sich an den 5.–10. Perzentilen, nicht nur am Median — Sicherheitsmarge ist wichtiger als der Spitzenwert.
💻 Beispiel: Kreuzung gleitender Durchschnitte (MA Cross)
Lernlogik in MQL5 und C# für cTrader. Im realen Handel sollten Sie Volatilitätsfilter ATR, Risikomanagement und Ausführungskontrolle ergänzen.
1) Erstellen Sie in MT5 einen EA und fügen Sie den Code unten ein. 2) Wählen Sie im Tester „Jeder Tick“ und setzen Sie Kommission/Spread. 3) Prüfen Sie ein anderes Symbol/einen anderen TF und vergleichen Sie PF/DD (Profit Factor/Max. Drawdown).
MQL5 (MT5)
#property strict
input int FastMAPeriod = 20;
input int SlowMAPeriod = 50;
#include <Trade/Trade.mqh>
CTrade trade;
int hFast, hSlow;
int OnInit(){
hFast = iMA(_Symbol, PERIOD_CURRENT, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
hSlow = iMA(_Symbol, PERIOD_CURRENT, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
return(INIT_SUCCEEDED);
}
void OnTick(){
double fast[], slow[];
if(CopyBuffer(hFast,0,0,2,fast)<2 || CopyBuffer(hSlow,0,0,2,slow)<2) return;
bool crossUp = (fast[1] <= slow[1]) && (fast[0] > slow[0]);
bool crossDown = (fast[1] >= slow[1]) && (fast[0] < slow[0]);
if(crossUp) { trade.PositionClose(_Symbol); trade.Buy(0.1); }
if(crossDown) { trade.PositionClose(_Symbol); trade.Sell(0.1); }
}
C# (cTrader Automate)
using cAlgo.API; using cAlgo.API.Indicators;
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class MACrossBot : Robot {
[Parameter("Fast", DefaultValue = 20)] public int Fast { get; set; }
[Parameter("Slow", DefaultValue = 50)] public int Slow { get; set; }
private MovingAverage maF, maS;
protected override void OnStart(){
var series = MarketData.GetSeries(TimeFrame);
maF = Indicators.MovingAverage(series.Close, Fast, MovingAverageType.Simple);
maS = Indicators.MovingAverage(series.Close, Slow, MovingAverageType.Simple);
}
protected override void OnBar(){
bool crossUp = maF.Result.Last(1) <= maS.Result.Last(1) && maF.Result.LastValue > maS.Result.LastValue;
bool crossDown = maF.Result.Last(1) >= maS.Result.Last(1) && maF.Result.LastValue < maS.Result.LastValue;
if(crossUp) { ClosePositions(TradeType.Sell); ExecuteMarketOrder(TradeType.Buy, SymbolName, 10000); }
if(crossDown) { ClosePositions(TradeType.Buy); ExecuteMarketOrder(TradeType.Sell, SymbolName, 10000); }
}
}
Das Beispiel ist vereinfacht: kein Trendfilter, keine Positionsgröße über ATR, keine Berücksichtigung von Kommissionen/Slippage und kein angemessenes Money-Management. Ergänzen Sie diese Elemente, bevor Sie Schlussfolgerungen ziehen.
🧪 Mini-Cases: wie sich verschiedene Ideen verhalten
Illustrative Beispiele bauen Intuition auf: wo eine Idee verdient und wo sie unter Kosten/Marktregimen leidet. Die Werte sind demonstrativ — ersetzen Sie sie durch Ihre eigenen.
Breakout London (EURUSD M15)
Ausbruch aus der asiatischen Range in den ersten 2 London-Stunden, fester SL/TP, Spread-Filter.
- Stärken: Trendregime, hoher Erwartungswert pro Trade.
- Schwächen: Empfindlichkeit gegenüber Nachrichten und Slippage.
Mean Reversion (USDJPY M5)
Rückkehr zum Mittelwert bei Ausdehnung von VWAP und/oder BB, Ausstieg in Teilpositionen.
- Stärken: Seitwärtsmarkt, viele Trades, glatte Equity (Kontowertkurve).
- Schwächen: „Tod durch tausend Schnitte“, wenn Kosten steigen.
MA Cross (H1)
Kreuzung von SMA 20/50 mit ATR-Filter und ATR×2-Trailing-Stop.
- Stärken: Übertragbarkeit der Parameter auf benachbarte Paare.
- Schwächen: Whipsaws und lange Seitwärtsphasen senken den PF.
| Strategie | Szenario | PF | Max DD | Sharpe | Trades |
|---|---|---|---|---|---|
| Breakout London | Ticks + zufälliger Spread | 1.6 | 18% | 1.1 | 480 |
| Mean Reversion | Ticks + Kommission×1.2 | 1.4 | 12% | 1.3 | 1200 |
| MA Cross | OHLC → Ticks (Validierung) | 1.3 | 20% | 1.0 | 260 |
🌗 Marktregime und Verhalten der Strategie
Teilen Sie die Historie in Trend, Seitwärtsmarkt und Nachrichtenfensterauf. Bewerten Sie Kennzahlen separat und konfigurieren Sie Regeln zum Einschalten/Pausieren.
Trendregime
Filter: ADX>25, Kanalausbrüche, positive MA-Neigung.
- Empfehlungen: TP ausweiten, Empfindlichkeit gegenüber Rücksetzern verringern.
- Risiken: falsche Ausbrüche in einem erschöpften Trend.
Seitwärtsregime
Niedrige Volatilität (ATR am unteren Rand der Spanne), ADX<15, häufige Umkehrbewegungen.
- Empfehlungen: TP verkürzen, Mean-Reversion verwenden, Spread-Filter aktivieren.
- Risiken: Kosten „fressen“ den statistischen Vorteil auf.
Nachrichtenfenster
Hoher ATR, Spread-Ausweitung, Gaps.
- Empfehlungen: Pause, Spread-Filter, verzögerte Einstiege nach Nachrichten.
- Risiken: Slippage, häufige Stops.
Kernpunkt: die Kombination aus Wirtschaftskalender und ATR-/Spread-Limits erhöht häufig den Sharpe.
📋 MT4 vs MT5 vs cTrader — Vergleich für Forex
Zentrale Unterschiede, die Genauigkeit, Geschwindigkeit und Arbeitskomfort mit Multi-Symbol-Systemen beeinflussen.
| Kriterium | MT4 | MT5 | cTrader |
|---|---|---|---|
| Modellierungsgenauigkeit | Bis zu 99% mit externen Ticks; sonst ≤90% | Ticks vom Broker; hohe Genauigkeit | Tick data from server; flexible Spread-Einstellung |
| Geschwindigkeit/Optimierung | Sequenzielle Läufe | Multithreading, Cloud-Agenten, Genetik | Sequenzieller Lauf; Optimierung — parallel |
| Multi-Währung | Nein (1 Symbol/Test) | Ja (ein EA — mehrere Symbole) | Über API/Signalarchitektur |
| Visuelles Testen | Visueller Modus | Visualisierung + erweiterte Analytik | Market Replay |
| Berichte/Kennzahlen | Basissatz | Erweiterte Berichte/Charts | Detaillierte Statistik/Equity |
🔍 Ergebnisse interpretieren: zentrale Kennzahlen
Die Bewertung muss ganzheitlich sein: kombinieren Sie Rendite mit Risiko und Stabilität, prüfen Sie Anzahl der Trades und Gewinnverteilung über die Zeit.
Maximaler Drawdown (Max Drawdown)
Größter Rückgang von Balance/Equity vom Hoch in Prozent. Je niedriger, desto besser; vergleichen Sie ihn mit der Jahresrendite (z. B. über CAR/MDD).
Profit Factor (PF)
Verhältnis des gesamten Gewinns zur Summe der Verluste. Werte > 1 — potenziell profitabel, > 1.5 — gut, > 2 — sehr gut, aber entscheidend ist Stabilität über Perioden.
Sharpe Ratio
Rendite, normiert auf Risiko (Volatilität der Rendite). Höher bedeutet stabiler; Orientierung — > 1, für „glatte“ Systeme — näher an 1.5–2.
Erwartungswert pro Trade (Expectancy)
Durchschnittlicher Gewinn pro Trade: Expectancy = WinRate × AvgWin − LossRate × AvgLoss. Er muss positiv sein und durch eine ausreichende Zahl von Trades bestätigt werden.
Equity: Kurve des Kontowerts unter Berücksichtigung offener Positionen (im Unterschied zur Balance).
PF: PF = Gross Profit / Gross Loss; sinnvoll zusammen mit Trade-Anzahl und Max DD betrachten.
Sharpe: (Mean Return − Rf) / StdDev(Return); wobei Rf der risikofreie Zinssatz ist.
Expectancy: = WinRate × AvgWin − (1 − WinRate) × AvgLoss; prüfen Sie auf einer Stichprobe von ≥ 200–300 Trades (intraday eher mehr).
CAR/MDD: Verhältnis der Jahresrendite (Compound Annual Return) zum maximalen Drawdown.
Prüfen Sie die Stabilität der Kennzahlen nach Jahren/Quartalen und verwenden Sie einen „Ausführungsabschlag“ (Spread/Kommission/Slippage), sonst werden PF und Sharpe überschätzt.
🗺️ Robustheitskarte der Parameter
Verändern Sie zwei Schlüsselparameter in einem Raster und erfassen Sie die Kennzahlen. Gesucht wird nicht ein „Inselchen“ des Maximums, sondern ein Stabilitätsplateau.
Experimentdesign
- Raster: 15×15 Punkte über zwei Parameter (zum Beispiel Fast/Slow-MA-Perioden).
- Kennzahlen: PF, Max DD, Sharpe, CAR/MDD, Anzahl der Trades.
- Kriterien: PF ≥ 1.3, DD ≤ 25%, Trades ≥ 200.
Entscheidung zur Einstellung
Wählen Sie Parameter aus der Mitte des „Plateaus“, nicht von dessen Rand — so ist die Chance höher, die Wirksamkeit bei einem Regimewechsel zu erhalten.
⚠️ Typische Fallen und wie man sie vermeidet
Überoptimierung (Overfitting)
- Zu viele Parameter oder enge Bereiche passen die Strategie an Rauschen an.
- Abhilfe: Parameter begrenzen, Walk-Forward, OOS-Prüfung, Monte Carlo.
Ausführung ignorieren
- Ohne Spread/Kommission/Latenzen sind PF und Sharpe fast immer überhöht.
- Abhilfe: zufälliger Spread, Slippage und Latenzen, „Abschlag“ auf Ergebnisse.
„Schmutzige“ Daten und Zeitzonen
- Lücken, Duplikate und falsche Zeitzone zerstören Intraday-Logik.
- Abhilfe: Datenpipeline, einheitliche Zeitzone, Priorität für Ticks.
🧰 DevOps für Backtesting: Reproduzierbarkeit und Experimenttracking
Eine Strategie ist wertvoll, wenn ihr Ergebnis reproduzierbar ist. Dafür braucht es Datenversionen, feste Einstellungen und einen standardisierten Bericht.
- Datenversionierung: Exportdatum, Quelle, Tiefe, Datei-Hash.
- Experimentkonfiguration: Symbole, TF, Daten, Kommissionen, Spread/Latenzen, seed (Startwert des Zufallszahlengenerators).
- Berichtsvorlage: Kennzahlenzusammenfassung, Equity-/Drawdown-Charts, PnL-Verteilung (Gewinn/Verlust), Sensitivität.
- Artefakte: Trade-Logs, serialisierte Parameter, Versionspass des Expert Advisors (EA) / cBot (cTrader-Bot).
Speichern Sie ein „Run-Template“ — JSON/YAML-Konfiguration, um den Lauf mit einem Klick zu wiederholen.
🧮 Optimierungsmethoden: Grid, Genetik, Bayes
Optimierung ist die Suche nach Parametern mit dem besten Gleichgewicht aus Rendite und Risiko. Berücksichtigen Sie Rechenzeit und Ergebnisstabilität.
| Methode | Kern | Wann besser | Risiken |
|---|---|---|---|
| Grid Search | Vollständiges Raster aller Parameter | Wenige Parameter und enge Grenzen | Langsam, Risiko des „Raster-Fittings“ |
| Genetische Optimierung | Evolutionäre Auswahl von Kombinationen (Mutation/Kreuzung) | Mittlere/große Parameterzahl | Kriterienkontrolle und frühes Stoppen nötig |
| Bayes (TPE) | Modell „Parameter → Kennzahl“ mit TPE | Teure Läufe, komplexe Oberflächen | Schwieriger umzusetzen, Risiko lokaler Maxima |
Kombinieren Sie: grobes Raster → Genetik → Validierung über WFA/Monte Carlo. Wählen Sie nicht den maximalen PF, sondern ein stabiles Plateau.
🛡️ Risikomanagement und Positionsgröße
Risikomanagement beeinflusst die Kapitalkurve stärker als der Einstiegspunkt. Die Positionsgröße muss von Volatilität und Kapital abhängen.
Fixed-Fractional und volatilitätsbasiertes Risiko
Man riskiert einen festen Anteil des Kapitals pro Trade und normiert den Stop über ATR.
- Praxis: 0.5–2% Risiko pro Trade mit Lot-Berechnung aus dem SL (Stop-Loss).
- ATR-Normalisierung: gleiches Geldrisiko bei unterschiedlicher Volatilität.
Kernpunkt: modellieren Sie Risiko im Backtest präzise, sonst überraschen reale Drawdowns unangenehm.
Risikobegrenzer
Tägliche/wöchentliche Verlustlimits, Pausen nach Stop-Serien, Handelsstopp bei Spread-Breite oder ATR-Spikes.
- Pause nach N Verlusttrades in Folge.
- Abschaltung bei extremem Spread oder anomalem ATR.
🧩 Strategieportfolio: Diversifikation und Korrelation
Mehrere unabhängige Strategien mit niedriger Korrelation glätten die Equity und reduzieren Drawdown.
- Typen: Trend, Mean-Reversion, Ausbruch, verschiedene TF/Symbole.
- Auswahl: niedrige Korrelation des täglichen PnL (Gewinn/Verlust), komplementäre Marktregime.
- Kontrolle: Limits für gleichzeitige Risiken und Instrumentencluster.
Bauen Sie eine Korrelationsmatrix der Strategien und testen Sie das Portfolio als Ganzes, nicht nur einzeln.
🧨 „Was-wäre-wenn“-Szenarien: Stress-Test von Kosten und Bedingungen
Prüfen Sie, wie die Strategie eine schlechtere Ausführung, steigende Volatilität und Abschaltungen bei Nachrichten übersteht.
| Szenario | Änderung | Erwarteter Effekt |
|---|---|---|
| Kommission ↑ | ×1.5 | PF-Rückgang bei häufig handelnden Strategien — Trades filtern |
| Spread ↑ | +30% | Schlechterer Entry/Exit, mehr Stops, niedrigerer Sharpe |
| Latenz ↑ | +150 ms | Schlechtere Ausführung auf Impulsen — Puffer erhöhen |
| Nachrichten — off | −1 Stunde rund um Veröffentlichungen | Weniger Trades, aber Glättung der Verlust-Tails |
❓ Fragen und Antworten (FAQ)
Wie erreicht man „99%“ Modellierungsqualität?
Worin unterscheidet sich ein Backtest von einem Forward-Test?
Welchen Historienzeitraum sollte man für eine Forex-Strategie nehmen?
Wozu visueller Modus und Market Replay?
Was wählen: MT4, MT5 oder cTrader für Backtesting?
Wie berücksichtigt man Kommissionen und Swaps im Backtest?
Wie erkennt man, dass eine Strategie robust ist?
✅ Checkliste für den Start auf Demo/Live
- Datensatz mit „Pass“: Quelle, Tiefe, Zeitzone, Exportdatum, Hash.
- Testkonfiguration: Symbole, TF, Daten, Kosten, Latenzen, Seed.
- Finaler Lauf „auf Ticks“ mit zufälligem Spread und Slippage.
- Optimierung mit Parameterlimit und Verifizierung auf WFA.
- Monte Carlo: ≥ 200 Szenarien, Kontrolle der Verteilungstails.
- Robustheitskarte: Wahl von Parametern aus einem Plateau.
- Visuelle Validierung von Ein-/Ausstiegen auf Kontrollabschnitten.
- Positionsgröße: Risiko/Trade und ATR-Normalisierung.
- Begrenzer: Tages-/Wochenverlustlimit, Pausen.
- Handelsstopp bei extremem Spread/ATR.
- Demo-Monitoring ≥ 2–4 Wochen mit Trade-Logs.
- Vergleich Demo vs Backtest: Abweichungen innerhalb des Plans.
- „Was-wäre-wenn“-Plan für den Fall schlechterer Ausführung.
- Portfolio: Prüfung der Korrelation mit bestehenden Strategien.
- Live-Release-Plan mit schrittweiser Risikoerhöhung.