Algorithmischer Handel – Automatisierung, Backtesting und Fallstricke
Der erste EA, den ich je geschrieben habe, lief drei Wochen live. Dann hat er in 11 Trades 40 % des Kontos vernichtet. Bis zu diesem Moment fühlte ich mich wie ein Genie. Ein EA druckt kein Geld. Ein EA druckt Ihre Fehler – nur schneller und ohne Gnade. Wenn Ihr System keinen Edge hat (Art. 8.2), wird der Bot ihn mit voller Konsequenz ausführen, ohne einen Moment des Zögerns, geradewegs auf null auf dem Konto. In ihren Produktinterventionserklärungen zu CFDs aus 2018 berichtete die ESMA, dass im untersuchten Zeitraum und der Stichprobe der CFD-Anbieter 74–89 % der Privatkundenkonten Geld verloren haben[1]. Ein Bot ändert diese Arithmetik nicht. Er verlagert Ihre Fehler nur von Ihrer Hand in den Code – und kann sie schneller, häufiger und ohne Zögern ausführen.
- Ein Bot bricht keine Regeln. Das Problem ist: Wenn die Regeln dumm sind, wird er ihnen bis auf null auf dem Konto folgen. Algorithmischer Handel ist Programmierung, Testen und laufende Wartung eines Systems. Wenn Sie die Logik Ihres EA nicht verstehen, sind Sie kein Algo-Trader – Sie sind ein Kunde, der eine Black Box gekauft hat.
- Ein Backtest sagt Ihnen nicht, wie viel Sie verdienen werden. Er sagt Ihnen, welche Ideen Sie verwerfen sollten, bevor Sie den Markt für die Lektion bezahlen. Ein System mit 300 % ROI im Backtest, das einen festen 0,5-Pip-Spread und null Slippage annimmt, verliert live Geld. Spread, Slippage, Provision, Latenz und Last Look sind Variablen, keine Konstanten.
- Ihr EA stirbt nicht, weil der Markt magisch schwerer wurde – er stirbt, weil Sie ihn an das Rauschen in der Historie angepasst haben. Jede neue OOS-Periode zeigt brutal, dass das System die Geschichte gelernt hat, nicht den Markt. Freiheitsgrade (die Anzahl der freien Parameter) sind Algo-Trader-Feind Nummer eins.
- Ein EA-Ranking ist ein Friedhof, auf dem Sie vorerst nur die noch stehenden Grabsteine sehen. Ein großer Teil der Retail-EAs verkauft eine geglättete Equity-Kurve, die mit verstecktem Tail-Risiko erkauft wurde – Martingale, Grid, kein hartes SL, aggressives Averaging. EAs, die 80 % des Kontos verloren haben, verschwinden aus dem Ranking, sodass der Käufer nur diejenigen sieht, die noch nicht explodiert sind.
- Ihr EA handelt nicht im Forex. Er handelt auf dem Feed Ihres Brokers, in dessen Routing-Modell, in dessen Quote-Sheet. A-Book/B-Book-Modell, LP-Stack, MetaTrader Bridge (PrimeXM/oneZero), Last Look auf der LP-Seite – das sind Systemvariablen, kein Hintergrund. Ihr Job: messen (Slippage, Rejects, Ausführungszeit) und über Handelsplätze hinweg vergleichen, keine Manipulation unterstellen.
1. Was ist algorithmischer Handel
Ein Bot wird Sie nicht in einen profitablen Trader verwandeln. Wenn Ihr System keinen Edge hat, wird der Algorithmus die Einlage schneller leerräumen, als Sie herausfinden können, welche Bedingung im Code falsch war. Er entfernt Emotionen aus dem Prozess und lässt reine Statistik zurück: Kosten pro Trade × Anzahl der Trades = Distanz bis zum Margin Call und Stop-Out. Das Spektrum ist breit:
- Einfacher EA (Expert Advisor) – ein Skript auf MT4/MT5, das eine Regel ausführt wie „kaufe, wenn MA(20) MA(50) nach oben kreuzt, SL 30 Pips, TP 60 Pips". Das ist keine Strategie. Das ist ein if/then mit angehängtem Konto.
- Systematisches System – definierte Einstiegs-, Ausstiegs-, Sizing- und Regimefilter-Regeln – aber die Ausführung ist manuell oder halbautomatisch.
- Volle Automatisierung – das System handelt selbstständig 24/5. Erfordert Infrastruktur (VPS, Monitoring), eliminiert aber Emotionen aus der Ausführung.
- HFT (High-Frequency Trading) – Tausende von Trades pro Tag, Co-Location direkt an der Matching-Engine der Börse, Latenz in Mikrosekunden, nicht Millisekunden. Im HFT zählen sogar Unterschiede in Kabellänge und Signalweg, gemessen in Mikrosekunden. Ein VPS in Amsterdam, der gegen eine Matching-Engine in New Jersey handeln will, spielt in einer völlig anderen Latenzliga – Dutzende Millisekunden statt Mikrosekunden. Für den Retail-Trader unerreichbar: Es erfordert Infrastruktur im Wert von Millionen USD, physische Präsenz im Rechenzentrum der Börse und einen eigenen Netzwerkstack[6].
Was algorithmischer Handel NICHT ist: einen EA aus einem Forum herunterladen, ihn auf einem Demokonto laufen lassen und auf eine Million warten. Wenn Sie nicht gleichzeitig die Strategielogik und das Verhalten des Codes in der Ausführung verstehen, sind Sie von jemand anderem abhängig. Das allein genügt, um die Kontrolle über das Risiko zu verlieren.
Einen EA für hundert Dollar im MQL5 Market mit perfekt glatter Equity-Kurve gekauft? Glückwunsch. Sie haben gerade jemanden gesponsert, der ein asymmetrisches Martingale im Code versteckt hat und betet, dass der Markt bis Ende der Woche keinen starken Trend erwischt. Die ersten Wochen auf dem Demo sehen gut aus; live – eine Reihe von Verlusten, der EA öffnet 12 Positionen auf korrelierten Paaren, das Konto verliert 60 %. Der Käufer wusste nicht, dass der EA die Positionen nach einem Verlust verdoppelte – weil er den Code nicht lesen konnte. Mehr dazu, wie man einen EA verifiziert: Abschnitt 9.
2. Werkzeuge – MQL, Python, cTrader, API
Die Wahl des Werkzeugs hängt davon ab, was Sie tun wollen, wie viel Sie programmieren können und mit welchem Broker Sie handeln.
| Werkzeug | Sprache | Backtesting | Live-Handel | Größtes Implementierungsrisiko |
|---|---|---|---|---|
| MQL4/MQL5 | C-ähnlich | Eingebaut (Strategy Tester) | Direkt auf MT4/MT5 | Verwirrender SYMBOL_TRADE_TICK_VALUE (Tick ≠ Pip), Fallstricke der 3/5-stelligen Preisangabe, falsche Handhabung von Magic Numbers und Pending Orders |
| Python | Python | Backtrader, Zipline, vectorbt | Über eine Broker-API (OANDA, IB, cTrader) | Look-Ahead-Bias bei Vektorisierung, Lookback-Fenster mit Zukunftsdaten, kein Spread-/Provisions-Modell in Default-Templates |
| cTrader Automate | C# | Eingebaut | Direkt auf cTrader | Kleineres Beispiel-Ökosystem = es ist leicht, ein fehlerhaftes Muster zu kopieren; subtile Unterschiede im Ausführungsmodell ggü. MT5 |
| Pine Script | Pine Script | Eingebaut (TradingView) | Begrenzt (Alerts → Webhook) | Repaint-Indikatoren (historische Werte ändern sich), Unterschied zwischen barstate.isconfirmed und tick-by-tick, keine echte Ausführung zur Validierung der Kosten |
Wenn Sie bei einem reinen MT4-Broker handeln und Retail-Trader sind, ist MQL4 eine erzwungene Wahl, keine freie – der Broker diktiert die Plattform. MQL5 hat einen besseren Backtester und Architektur. Python gibt Ihnen statistische Werkzeuge (Walk-Forward, Monte Carlo), die in MQL mühsam zu erhalten sind. Viele Algo-Trader nutzen beides: Python für Forschung und Validierung, MQL für die Ausführung. MQL4 und MQL5 sind unterschiedliche Sprachen – ein MT4-EA läuft ohne Umschreiben nicht auf MT5. Die Brokerwahl bestimmt die verfügbaren Werkzeuge: Bevor Sie die erste Zeile schreiben, vergewissern Sie sich, dass Ihr Broker die benötigte API anbietet (MQL/MT4-MT5, FIX, REST), eine klare Politik zu EAs und Scalpern und einen Kontotyp (ECN/Raw vs. Standard), der zu Ihrem Strategiestil passt – denn der Kontotyp beeinflusst das Ausführungsmodell und die API-Verfügbarkeit.
Praktische Realität für den Retail-Trader 2026: Die überwiegende Mehrheit der von KNF / CySEC / BaFin / FCA regulierten Broker bietet ausschließlich die MT4- oder MT5-Plattform an. Wenn Sie in Python bauen wollen – prüfen Sie zuerst, ob Ihr Broker eine REST/FIX-API oder eine native cTrader-Integration bereitstellt. Ohne API sind Sie faktisch zu MQL gezwungen oder zu einem DLL-Workaround, der formal gegen die Bedingungen der meisten Broker verstößt und zur Kontoschließung führen kann. Bevor Sie sich für den Technologie-Stack (MQL vs. Python vs. cTrader Automate) entscheiden, prüfen Sie die API-Verfügbarkeit in den Terms & Conditions, nicht in Marketingmaterialien – der Unterschied zwischen „Python-kompatibel" in einer Broschüre und einer echten FIX-API kann den gesamten Implementierungsplan auslöschen.
3. Backtesting – das Fundament und der größte Fallstrick
Backtesting ist eine Simulation des Systems auf historischen Daten. Es ist das Fundament des Algo-Handels – ohne es wissen Sie nicht, ob Ihre Idee überhaupt eine Chance hat. Aber ein Backtest sagt Ihnen nicht, wie viel Sie verdienen werden. Er sagt Ihnen, welche Ideen Sie verwerfen sollten, bevor Sie den Markt für die Lektion bezahlen. Die meisten Retail-Trader nutzen ihn umgekehrt: um die Bestätigung zu suchen, dass ihre Idee funktioniert.
Was ein Backtest abbilden sollte
- Variabler Spread, nicht fest – ein fester 0,5-Pip-Spread auf EUR/USD ist Fiktion. Realer Spread ändert sich Stunde für Stunde und weitet sich bei Datenveröffentlichungen. Ein Backtest mit dem Default-Spread von MT4 bläht die Ergebnisse auf.
- Slippage – am Live-Markt sind Ausführungen oft schlechter als der Orderpreis. Ein Backtest ohne Slippage-Modellierung (auch nur 0,5–1 Pip pro Trade) überschätzt den Erwartungswert.
- Provision – auf einem ECN-Konto: 3–7 USD pro Round-Turn-Lot. Auf einem Markup-Konto – im Spread eingepreist. Ein Backtest muss das berücksichtigen.
- Tick-Daten vs. OHLC – ein Backtest auf OHLC-Daten ignoriert Intra-Bar-Bewegungen. Der MT5 Strategy Tester bietet einen Modus „Every tick based on real ticks" – nutzen Sie ihn[8]. Aber Achtung: „Real Ticks" sind eine bessere Simulation, keine reale Ausführung. Sie reproduzieren keine Queues, keine Liquiditätsverfügbarkeit und keine Fill-Qualität.
Was ein Backtest selbst auf guten Ticks nicht reproduziert
- Rejects und Teilausführungen – am Live-Markt kann der LP Ihre Order ablehnen (Last Look) oder teilweise ausführen. Ein Backtest unterstellt 100 % Fill-Rate zum Orderpreis.
- Feed vs. ausführbarer Preis – der auf dem Chart sichtbare Preis ist nicht zwangsläufig der Preis, zu dem Sie eine Ausführung erhalten. Während News sehen Sie einen Tick, der real nicht handelbar war.
- Asymmetrische Slippage – Stops slippen schlechter als Limits. Ein Backtest modelliert das nicht, wenn Sie es nicht manuell programmieren.
- Rollover und Overnight-Spread – zwischen 23:00 und 00:00 Server-Zeit können Spreads auf Crosses (z. B. GBP/NZD) von 3 auf 40 Pips springen. Ein EA ohne Filter, der den Handel in dieser Stunde blockiert, wird durch falsche Stop-Outs zerlegt.
- Broker wechselt LP-Stack – Ihr Broker kann den Liquiditätsanbieter jederzeit wechseln. Historische Daten spiegeln zukünftige Ausführungsbedingungen nicht wider.
- Mid-Price-Bias – eine Strategie, die auf dem Mid-Price (Durchschnitt aus Bid/Ask) getestet wird, kann besser aussehen als auf realem Bid/Ask, besonders bei engen Targets und kurzem Horizont. Wenn TP 5 Pips ist und der Spread 1,2 Pips – überschätzt ein Mid-Price-Backtest den Erwartungswert um ~0,6 Pip pro Seite.
Sie wissen nicht, welches Modell Ihr Broker für Ihren Flow nutzt und wie es die Ausführung beeinflusst? RTS 28 ist kein magisches Röntgenbild Ihres Kontos – es ist ein Top-Venues-/LP- und Ausführungspolitik-Bericht, der formal unter MiFID II in der EU und im UK existierte. Der Reporting-Status hat sich geändert: Im UK hat die FCA in PS21/20 die Pflicht zur externen Veröffentlichung von RTS 27 und RTS 28 zum 1. Dezember 2021 aufgehoben, doch die Firmen unterliegen weiterhin der Best-Execution-Pflicht nach COBS 11.2A – sie müssen die Ausführungsqualität intern analysieren. In der EU wurden die Berichte unter dem „MiFID II Quick Fix" ausgesetzt. Praktische Übersetzung für den Retail-Trader: Formal ist niemand verpflichtet, einen öffentlichen Bericht offenzulegen, aber Sie können das Compliance-Team des Brokers nach Daten aus seiner internen Best-Execution-Überprüfung fragen – eine solche Analyse existiert, auch wenn sie nicht veröffentlicht ist. Unabhängig davon kommt der reale Beweis der Ausführungsqualität nur aus Ihrem eigenen Log: angeforderter Preis, Fill-Preis, Send- und Execution-Timestamps, Spread beim Fill, Reject-Grund. Vergleichen Sie ihn über 200 Trades von einem Live- (nicht Demo-) Konto – das ist Ihr Broker-Audit, keine Marketingbroschüre.
Wichtiger Hinweis zum Markt: Ein Retail-Trader auf MT4/MT5 testet und handelt typischerweise nicht den zentralen Spot-FX-Markt. Er testet und handelt den Feed und die Bedingungen eines konkreten CFD/OTC-Brokers. Historische Daten, Spreads, Fill-Qualität, Liquiditätsverfügbarkeit – alles ist spezifisch für Ihren Broker. Ein Backtest auf Daten von Broker A garantiert keine Ergebnisse bei Broker B.
Bevor Sie zu den Backtest-Ergebnissen übergehen, verifizieren Sie die Eingangsdaten – die detaillierte Datenqualitäts-Checkliste in Abschnitt 8 zeigt, was zu prüfen ist: Quelle, Zeitzone, Tick-Qualität, Lücken und Konsistenz Test/Live-Broker.
Backtest vs. Live – warum sich die Ergebnisse unterscheiden
| Parameter | Backtest | Live |
|---|---|---|
| Spread | Fest oder historischer Durchschnitt | Variabel, geweitet bei Datenveröffentlichungen |
| Slippage | Üblicherweise 0 (Default) | 0,5–15+ Pip je nach Bedingungen |
| Fill | Sofort, zum Orderpreis | Verzögert, mit Last Look, Teilausführungen |
| Latenz | 0 ms | 20–500 ms (VPS → Broker → LP) |
| Requotes | Keine | Möglich (besonders B-Book) |
| Daten | Sauber, ohne Lücken | Lücken, Spikes, Feed-Disconnects |
| Trader-Eingriff | Keiner | Trader ändert SL, fügt Filter hinzu, schaltet das System im Drawdown ab |
Der Unterschied zwischen Backtest und Live ist nicht marginal. Er ist strukturell – und dieser Unterschied kassiert die Maut. Ein System mit +8 Pip Erwartungswert im Backtest, nach Berücksichtigung realer Kosten (variabler Spread +2 Pip, Slippage +1,5 Pip, Provision +0,7 Pip = 4,2 Pip zusätzliche Kosten pro Trade), hat einen realen Erwartungswert von +3,8 Pip. Um Kosten in monetären Wert umzurechnen, nutzen Sie den Pip-Wert-Rechner. Wenn Latenz weitere 1–2 Pip hinzufügt – bleiben Ihnen +1,8–2,8 Pip[2].
4. Overfitting – Feind Nummer eins
Ihr EA stirbt nicht, weil der Markt magisch schwerer wurde. Er stirbt, weil Sie ihn an das Rauschen in der Historie angepasst haben – jede neue OOS-Periode zeigt brutal, dass das System die Geschichte gelernt hat, nicht den Markt. Je mehr Parameter Sie optimieren, desto besser passt sich das System an die Trainingsdaten an – und desto schlechter ist es auf neuen Daten[3].
Wie Overfitting in der Praxis aussieht
- Sie haben eine Idee: „London-Konsolidierungsausbruch, wenn das Tick-Volumen im 30-minütigen Pre-Breakout-Fenster X-mal den Durchschnitt überschreitet und die Konsolidierungsspanne kleiner als Y-mal ATR(14) ist."
- Initialer Test: X = 1,5; Y = 0,8 – Ergebnis OK, Erwartungswert +3 Pip pro Trade auf EUR/USD.
- Sie optimieren: Scan aller Kombinationen X ∈ {1,2; 1,3; … 2,5} × Y ∈ {0,5; 0,55; … 1,2} × Fensterlänge (15, 30, 45, 60 min) × Konsolidierungs-Startstunde (8:00–10:00 alle 15 min). Beste Kombination: X = 1,73; Y = 0,67; 45-Minuten-Fenster; Start 8:30 – Erwartungswert +11 Pip.
- Sie fügen einen HTF-Trendfilter hinzu (Preis über/unter D1 EMA200). Sie optimieren EMA200 ↔ EMA180/220. Erwartungswert: +18 Pip.
- Sie fügen einen Stundenfilter hinzu (Handel nur in vier bestimmten Stunden). Erwartungswert: +24 Pip.
- Sie fügen einen Wochentags-Filter hinzu (Freitage und Montage raus). Erwartungswert: +31 Pip.
Anzahl der getesteten Kombinationen. Bevor Sie auf „bestes Ergebnis" klicken, zählen Sie, wie viele Varianten Sie tatsächlich verglichen haben. Im Beispiel oben: 14 X-Werte × 15 Y-Werte × 4 Fenster × 9 Startstunden × 5 EMA-Varianten × 24 Handelsstunden-Kombinationen × 25 Wochentags-Kombinationen ≈ ~9 Millionen Tests. Bei einer 5 %-Signifikanzschwelle werden zufällig etwa 450.000 „statistisch signifikant" aussehen. Ihr „bestes" Parameter-Set ist einer von Hunderttausenden zufälliger Gewinner des Rauschens, kein Marktsignal.
Im Backtest sieht es ideal aus. Problem: 6+ Parameter auf denselben Daten optimiert. Das System hat kein Muster entdeckt – es hat die Geschichte gelernt. Bailey und López de Prado haben gezeigt, dass bei einer typischen Anzahl von Optimierungsversuchen (1000+) die Wahrscheinlichkeit, ein „profitables" System zufällig zu finden, sehr hoch ist – selbst auf zufälligen Daten[4].
Warnzeichen für Overfitting
- Das System funktioniert nur auf einem Paar, einem Zeitrahmen und einer Periode.
- Eine kleine Parameteränderung (z. B. MA von 17 auf 19) verschlechtert das Ergebnis drastisch – „Inseln" der Profitabilität.
- Out-of-Sample ist >50 % schlechter als In-Sample.
- Das System hat viele Parameter (Daumenregel: über 5–6 – aber das ist eine Heuristik, kein physikalisches Gesetz).
- Die Equity-Kurve im Backtest ist „zu glatt" – das Fehlen von Drawdowns ist eine rote Flagge.
5. Walk-Forward-Analyse und Monte Carlo
Wenn der Backtest fragt „hat das System funktioniert?", fragt die Walk-Forward-Analyse (WFA) „hat das System auf Daten funktioniert, die es während der Optimierung nicht gesehen hat?"[5].
Walk-Forward-Verfahren
- Daten in Fenster aufteilen – z. B. 12 Monate In-Sample (IS), 3 Monate Out-of-Sample (OOS).
- Auf IS optimieren – die besten Parameter finden.
- Auf OOS testen – das System mit diesen Parametern auf Daten laufen lassen, die es nicht gesehen hat.
- Fenster verschieben – nächstes IS: Monate 4–15, OOS: 16–18. Wiederholen.
- OOS-Ergebnisse aggregieren – alle OOS-Perioden zusammenführen. Das ist Ihr reales Ergebnis.
Walk-Forward-Effizienz (WFE) = (OOS-Gewinn / IS-Gewinn) × 100 %. WFE 70 % garantiert nichts. Sie reduziert die Wahrscheinlichkeit, dass Sie eine an die Geschichte angepasste Kurve gekauft haben – und das ist nicht dasselbe wie Edge. WFE filtert einen Teil des Mülls heraus, verwandelt aber einen historischen Test nicht in eine Garantie zukünftiger Ergebnisse. Ich habe Systeme mit 70 % WFE gesehen, die in 6 Monaten live –15 % machten – weil das Walk-Forward auf einem Instrument in einem Marktregime gefahren wurde. WFE < 30 % – wahrscheinlich überfittet. WFE < 0 % – das System funktioniert außerhalb der Trainingsdaten nicht.
Anchored WFA vs. Rolling WFA
Rolling WFA (oben beschrieben) verschiebt das Fenster: IS ist immer die letzten N Monate. Anchored WFA hält den Startpunkt fest und erweitert das IS-Fenster mit jedem Schritt. Sie beantwortet eine andere Frage: „ist das System stabil, wenn es mehr Daten sieht?"
Wenn Rolling WFA WFE 60 % gibt, aber Anchored WFA WFE 20 % – hat das System die Vergangenheit gelernt, es hat sich nicht an die Zukunft angepasst. Parameter „drifteten" mit dem Fenster, statt sich zu stabilisieren. Dieser Unterschied ist kritisch: ein System mit gutem Rolling WFE und schlechtem Anchored WFE ist wahrscheinlich an lokale Regime überfittet. Beide Tests sollten ähnliche Ergebnisse liefern, bevor Sie das System für deployment-würdig halten.
Monte Carlo – Stresstest des Erwartungswerts
Monte Carlo ist eine Simulation: Nehmen Sie historische Ergebnisse und mischen Sie die Reihenfolge der Trades tausende Male zufällig neu. Aus 10.000 Permutationen erhalten Sie eine Verteilung: Was ist der schlimmste Drawdown in 95 % der Fälle? Was ist der minimale Erwartungswert?
Beispiel: ein System hat 200 Trades mit 54 % Trefferquote, durchschn. Gewinn 18 Pip, durchschn. Verlust –12 Pip. Erwartungswert = 0,54 × 18 – 0,46 × 12 = +4,2 Pip/Trade. Nach 10.000 Monte-Carlo-Permutationen: in 95 % der Szenarien überschreitet der Max DD 22 % des Kontos nicht, und der Erwartungswert fällt nicht unter +1,8 Pip/Trade. Wenn der Live-DD sich 22 % nähert – ist das System in der Gefahrenzone, aber noch innerhalb des Bereichs. Wenn er ihn überschreitet – ist Degradation wahrscheinlich.
Die Monte-Carlo-Mathematik ist einfach in Python (die numpy-Bibliothek, 15–20 Codezeilen) oder Excel (ein Makro mit Zufallsstichproben) zu implementieren. Methodendetails: Art. 8.2 – die Mathematik des Markt-Edge.
Trade-Permutation vs. Bootstrap mit Replacement – zwei Methoden, zwei verschiedene Fragen. Die meisten Algo-Tutorials vereinfachen Monte Carlo zu „Reihenfolge der Trades mischen" – das ist Permutation ohne Zurücklegen. Die Statistik: Sie mischen die ursprünglichen 200 Trades in eine neue Reihenfolge, jeder erscheint einmal, die Summe der Ergebnisse ist identisch. Die beantwortete Frage: „wie schlecht könnte die Equity-Kurve aussehen, wenn die Verlustserie zu einem anderen Zeitpunkt eingetreten wäre?". Einschränkung: Sie beantwortet nicht, ob die Stichprobe von 200 Trades repräsentativ für die Zukunft ist – weil sie unterstellt, dass die gesamte Population der zukünftigen Ergebnisse genau diese 200 ist.
Bootstrap mit Replacement (Stichprobe mit Zurücklegen) ist ein stärkeres Verfahren: in jeder der 10.000 Iterationen ziehen Sie 200 Trades mit Zurücklegen aus dem Originalpool. Manche Trades erscheinen 3–4 Mal, manche gar nicht. Die Summe der Ergebnisse ist in jeder Iteration anders – das simuliert Stichprobenunsicherheit, nicht nur Reihenfolgeunsicherheit. Die beantwortete Frage: „wie ist die Verteilung von Erwartungswert und DD, wenn meine Historie nur eine von vielen möglichen Realisationen desselben Zufallsprozesses wäre?". Die Schlussfolgerungen sind in der Regel schärfer als bei einer einfachen Permutation: das 95. Perzentil des DD ist oft 30–60 % tiefer. Für Retail-Systeme empfehle ich Bootstrap – er gibt ein faireres Bild des Tail-Risikos als bloßes Mischen.
Bootstrap in Python – minimaler Snippet:
import numpy as np
# Ergebnisse in R aus Ihrem Ausführungslog (z. B. +1.8R, -1.0R, +2.4R, -1.0R, ...)
trades = np.array([...])
n_sim = 10_000
results = []
for _ in range(n_sim):
sample = np.random.choice(trades, size=len(trades), replace=True)
equity = np.cumsum(sample)
dd = np.min(equity - np.maximum.accumulate(equity))
results.append({'final': equity[-1], 'max_dd': dd})
# 5. Perzentil DD = "wie tief ist der Drawdown in den schlechtesten 5 % der Szenarien"
p5_dd = np.percentile([r['max_dd'] for r in results], 5)
p50_eq = np.percentile([r['final'] for r in results], 50)
print(f"5. Perzentil max DD: {p5_dd:.2f}R | Median Ergebnis: {p50_eq:.2f}R")
Das ist das Arbeitsminimum. In der Produktion ergänzen: Stratifikation pro Setup-Typ, Kontrolle der Autokorrelation in der Trade-Sequenz (Block Bootstrap), Kalibrierung von n_sim für Perzentil-Stabilität (5.000–20.000 Iterationen reichen meist).
Validierungsmatrix – wann verwerfen, wann weiter testen
Nach Backtest, Walk-Forward (rolling und anchored) und Monte Carlo haben Sie meist keine eindeutige Antwort „funktioniert / funktioniert nicht". Sie haben eine Kombination von Kennzahlen, die das System klassifiziert:
| IS-Erwartungswert | Rolling WFE | Anchored WFE | MC Bootstrap (95. Perz. DD) | Verdikt |
|---|---|---|---|---|
| > 0 | > 50 % | > 40 % | akzeptabel | Live-Test auf Mikrolot |
| > 0 | > 50 % | < 30 % | — | Overfitting an lokale Regime – zurück zur Parameterreduktion |
| > 0 | 30–50 % | — | — | Marginal – Robustheit vor Live testen |
| > 0 | < 30 % | — | — | Verwerfen – Overfitting |
| > 0 | — | — | DD > 1,5× Max DD aus Backtest | Tail-Risiko zu groß – Sizing reduzieren oder verwerfen |
| ≤ 0 | — | — | — | Verwerfen – das System hat selbst im Test keinen Edge |
Die Matrix ist nicht endgültig – sie ist ein Ausgangspunkt. Aber sie eliminiert 80 % der Ideen, die der Trader sonst weitere 3 Monate „im Hintergrund" stillschweigend testen würde. Das ist das Ziel der Validierung: schneller verwerfen, nicht länger testen.
6. Vom Backtest zum Live – Paper Trading und Infrastruktur
Nach Backtest und WFA wissen Sie noch nicht, wie sich das System auf einem Broker-Feed mit echtem Routing und realen Ausführungsfehlern verhält. Lassen Sie es daher zuerst forward auf Demo laufen, dann live mit Mikrolot.
Paper Trading – ein technischer Test, keine Prognose
Demo ist eine Rennstrecke ohne Verkehr. Das System fährt. Aber es gibt keine Kollisionen, keine Staus, keinen Krankenwagen, der aus einer Seitenstraße herausfährt. Demo-Ergebnisse sagen Ihnen nur: der Code kompiliert. Der Feed mag dem Live ähnlich aussehen, manchmal sogar mit variablen Spreads, aber die Ausführungsmechanik ist nicht dieselbe: kein reales LP-Risiko, keine echten Rejects, keine Teilausführungen oder Liquiditäts-Queues, kein Mensch und kein LP, der die andere Seite Ihrer Order übernehmen muss. Behandeln Sie Demo als Test, ob der Code technisch funktioniert (öffnet, schließt, verwaltet Positionen). Minimum: 50–100 Trades. Demo-Ergebnisse sagen Live-Ergebnisse nicht voraus.
Infrastruktur
- VPS – das System muss 24/5 ohne Unterbrechungen laufen. Ein VPS nahe dem Broker-Server: Latenz 1–10 ms statt 50–200 ms von zu Hause. Kosten: 15–50 USD/Monat.
- Monitoring – SMS-/E-Mail-/Telegram-Alerts, wenn das System ausfällt, der Drawdown eine Schwelle überschreitet oder eine Position hängt. Ohne Monitoring erfahren Sie von einem Ausfall, wenn Sie von der Arbeit kommen.
- Kill Switch – automatisches Schließen aller Positionen, wenn der tägliche DD eine Schwelle überschreitet. Fail-Safe bei Disconnect, Max simultane Positionen, Max DD.
Checkliste: was beim Broker zu prüfen ist, bevor ein EA live geht
- Ausführungsmodus – Instant, Market, Exchange? Beeinflusst Requotes und Slippage.
- Max Order-Rate – wie viele Orders pro Sekunde toleriert der Server? Ein Scalper, der 5 Orders/s sendet, kann gedrosselt werden.
- Stop Level / Freeze Level – minimale SL/TP-Distanz vom Preis. Wenn Stop Level = 10 Pips und Ihr System legt SL bei 8 – wird die Order nicht eingehen. Variiert nach Broker und Paar.
- Swap-Tabelle – Long/Short-Swaps auf den Paaren, die Sie handeln, vergleichen. Unterschiede zwischen Brokern können das 2–3-Fache betragen.
- VPS-Nähe – bietet der Broker einen kostenlosen VPS oder Hosting nahe dem Server an?
- API-Verfügbarkeit – FIX, REST, WebSocket? Für Python und fortgeschrittene Automatisierung reicht MT4/MT5 allein nicht.
Start-Sizing und Forward-/Live-Checkliste
Erster Monat live: minimale Lots. Ziel ist nicht zu verdienen – es ist zu validieren. Wenn nach 30–50 Trades die Ergebnisse signifikant vom Backtest abweichen – zurück zur Diagnostik. Kennzahlen-Checkliste zum Tracken:
- Durchschnittlicher Spread pro Stunde/Sitzung – liefert der Broker, was er um 3:00 Uhr morgens bewirbt?
- Slippage pro Order-Typ – Stop vs. Limit. Existiert Asymmetrie?
- Reject-Rate – wie viele Orders hat der Broker abgelehnt? Auf Demo: null. Live: manchmal einige Prozent.
- Anteil der Fills schlechter als X – wie oft war der Fill mehr als 2 Pips schlechter als der Orderpreis?
- Erwartungswert: Test vs. Forward vs. Live – drei Zahlen. Wenn Live unter 50 % des Backtests liegt – stimmt etwas mit der Ausführung nicht.
- Latenz von VPS zu Broker-Server – regelmäßig pingen. Wenn sie wächst – könnte der Broker die Infrastruktur geändert haben.
- Durchschnittlicher Swap pro Trade und pro Paar – Swaps ändern sich über die Zeit (abhängig von Zinsen und Brokerpolitik). Überwachen Sie die Kosten des Haltens von Positionen: durchschn. Swap pro Trade, das Long-vs.-Short-Swap-Differential auf demselben Paar, monatliche Änderungen der Swap-Rate. Wenn der Swap steigt – schrumpft der Übernachtgewinn des Systems ohne jede Logikänderung.
Sizing mit Slippage – Pseudocode
Der Artikel sagt „modelliere Slippage" – aber wo bringen Sie sie unter? Das folgende Beispiel ist eine konzeptionelle Vereinfachung, kein produktionsreifer Code. In der Praxis muss die Lot-Berechnung Symbolspezifika, Dezimalstellen (3/5-stellige Preise), Tick-Größe und Kontowährung berücksichtigen. Die Logik ist einfach – die Implementierungsdetails sind es nicht:
// Konzeptionelle Skizze – Sizing mit Slippage und Provision
double slippage_pips = 1.5; // empirische durchschn. Slippage [Pips]
double commission_pips = 0.7; // in Pips umgerechnete Provision
double nominal_SL = 25.0; // nomineller SL in Pips
double adjusted_SL_pips = nominal_SL + slippage_pips + commission_pips;
// adjusted_SL_pips = 25 + 1,5 + 0,7 = 27,2 Pips
double risk_amount = AccountInfoDouble(ACCOUNT_EQUITY) * 0.01; // 1 % des Kontos
// Pip-Wert für 1 Lot (abhängig von Symbol und Kontowährung)
// Manuell für Ihr Instrument verifizieren!
double pip_value_per_lot = /* z. B. ~10 USD für EUR/USD bei USD-Konto */;
double lot_size = risk_amount / (adjusted_SL_pips * pip_value_per_lot);
Ohne Korrektur für Slippage und Provision: Risiko pro Trade ist 1 % × (27,2/25,0) = 1,09 % des Kontos statt der geplanten 1 %. Über 200 Trades hinweg potenziert sich diese Differenz. Hinweis: SYMBOL_TRADE_TICK_VALUE in MQL5 liefert den Wert eines Ticks (nicht eines Pips) und ist tückisch für Instrumente mit nicht standardmäßigen Dezimalstellen oder Paare in einer von der Kontowährung abweichenden Währung. Validieren Sie Ihre Position-Sizing-Logik manuell im Code, mit unserem Lot- und Pip-Wert-Rechner.
Minimaler EA-Ausführungslog – ohne diese Felder haben Sie keine Daten für TCA
Der Backtest zeigt eine Equity-Kurve. Live zeigt das Ergebnis auf dem Konto. Dazwischen liegt der Ausführungslog – und er ist Ihre einzige Wahrheitsquelle darüber, wie der Broker Ihr System tatsächlich behandelt. Das Mindestset an Spalten, die der EA für jeden Trade aufzeichnen sollte:
| Feld | Was es misst |
|---|---|
signal_time | Der Moment, in dem die Strategie das Signal generierte (vor dem Senden) |
send_time | Timestamp des Order-Versands vom VPS |
fill_time | Timestamp der Order-Annahme durch den Broker-Server (Broker-Server-Zeit) |
symbol + side | Paar und Richtung (Buy/Sell) |
requested_price | Preis, den der EA im Moment des Signals sah |
fill_price | Preis, zu dem die Order tatsächlich ausgeführt wurde |
spread_at_signal / spread_at_fill | Spread zu beiden Zeitpunkten – zeigt, ob der LP zwischen Signal und Ausführung den Quote weitete |
slippage_pips | (fill_price − requested_price) vorzeichenbehaftet; separate Spalten für positive und negative Slippage |
commission + swap | Harte Kosten des Trades |
reject_code | Broker-Reject-Code (off quotes, requote, no money, market closed, etc.) |
broker_server_time | Broker-Server-Zeitzone – kritisch für Stundenfilter und DST |
Nach 50–100 Trades erlaubt dieser Log: rollierende Slippage pro Richtung, Asymmetrie günstig vs. ungünstig, Fill-Rate, durchschn. Ausführungszeit, Korrelation der Rejects mit bestimmten Stunden oder Events. Ohne diese Felder ist Ihr Journal ein Tagebuch, keine Daten für Transaction Cost Analysis.
Beispielhafte Log-Zeile (illustrative Werte):
signal_time: 2026-03-12 14:30:00.120
send_time: 2026-03-12 14:30:00.184 (+64 ms)
fill_time: 2026-03-12 14:30:00.412 (+228 ms Broker-Server)
symbol / side: EURUSD / Buy
requested_price: 1,08420
fill_price: 1,08434
spread_at_signal: 0,6 Pip
spread_at_fill: 2,1 Pip (3,5x Weitung im Veröffentlichungsfenster)
slippage_pips: -1,4 Pip (negativ, gegen den Kunden)
commission: 3,50 USD (Round-Trip 0,1 Lot)
swap: 0
reject_code: none
broker_server_time: GMT+2 (DST aware)
Diese Zeile zeigt, dass ein Trade, der im Backtest wie +0,6 Pip Kosten aussah, in Wirklichkeit 2,1 Pip Spread + 1,4 Pip Slippage + Provision kostete – insgesamt ~4 Pip Reibung statt der angenommenen ~1 Pip. Sammeln Sie 50 solcher Zeilen und berechnen Sie die Median-Slippage Long vs. Short – das ist Ihr erstes echtes Broker-Audit.
Wann das System nicht laufen sollte – Sitzungsfilter
Vor CPI, NFP, FOMC und Notenbankentscheidungen ist das Problem nicht nur die Richtung der Bewegung – das Problem ist, dass sich der Markt von kontinuierlich zu sprunghaft wandelt. Spread hört auf, eine Kosten zu sein, und wird zu einer Zufallsvariablen; LP Last Look beginnt, selektiv abzulehnen; eine ECN-Teilausführung kommt in drei Tranchen zu zunehmend schlechteren Preisen. Ein Backtest, der „normalen Spread + feste Slippage" annimmt, modelliert nicht den Markt, den Sie in diesem Fenster handeln. ±5 Minuten um Tier-1-Events sind das absolute technische Minimum; bei Strategien, die auf Ausführungskosten empfindlich reagieren, blockieren Sie das gesamte 30–60-Minuten-Fenster vor und nach der Veröffentlichung. Ein EA ohne harten Filter um Tier-1-Daten ist kein EA – er ist eine Maschine, die für Chaos zu viel bezahlt.
| Fenster | Problem | Was tun |
|---|---|---|
| 5 min vor/nach NFP, CPI, FOMC | Spread ×5–15, mehrere Pips Slippage, Liquiditätsvakuum | Einstiege deaktivieren, SL-Modifikationen blockieren |
| Rollover (23:00–00:00 Server) | Spread ×3–10 auf Crosses, falsche Stop-Outs | Stundenfilter: Handel und Order-Modifikation blockieren |
| US-/UK-Feiertage (z. B. 4. Juli, Bank Holiday) | Liquidität 30–50 % der Norm, erhöhter Spread | System deaktivieren oder Sizing reduzieren |
| Sonntags-Eröffnung (erste 15–30 min) | Gap, Spread mehrfach höher | Handel blockieren, bis der Spread sich normalisiert |
| Freitag 20:00–Schluss | Wochenend-Gap-Risiko, abnehmende Liquidität | Keine neuen Positionen eröffnen. Schließen oder Reduzieren bei offenen Positionen erwägen, wenn das offene Exposure relativ zum Risikoplan hoch ist, das Paar relativ zur ATR eine unnatürlich große Bewegung gemacht hat oder das Wochenende erhöhtes geopolitisches Risiko trägt |
| DST-Wechsel (US vs. Europa) | Der Broker-Server (z. B. GMT+2/3) wechselt nicht synchron mit Europa oder den USA – Wirtschaftskalender zeigen andere Zeiten als der EA, und Stundenfilter blockieren das falsche Fenster | Nach jedem DST-Wechsel verifizieren (März, November in den USA; letzter Sonntag im März und Oktober in der EU): broker_server_time im EA-Log prüfen und NFP-/CPI-/FOMC-Stundenfilter aktualisieren. Klassisches Szenario: Der Filter blockiert 14:25–14:35 für NFP, und nach DST handelt der Broker 2 Wochen lang im falschen Fenster, bevor der Trader es bemerkt |
7. Kosten und Realitäten des Algo-Betriebs
Algorithmischer Handel hat Kosten, über die wenige sprechen – weil sie auf der Equity-Kurve nicht sichtbar sind.
Harte Kosten
- VPS – 15–50 USD/Monat. 5-USD-VPS meiden – instabile Verbindung, hohe Latenz.
- Tick-Daten – Dukascopy (mit Limits kostenlos). Professionell: TickData, TrueFX – 100–500 USD/Jahr.
- Werkzeuge – Python ist kostenlos. Professionelle Plattformen (MultiCharts, TradeStation): 50–200 USD/Monat.
- Spread und Provision – 10 Trades/Tag × 1,5 Pip Kosten × 22 Tage × 12 Monate = 3.960 Pips/Jahr. Bei 0,10 Lots = ~396 USD/Jahr reine Reibung. Der Spread-Unterschied zwischen Brokern beträgt 0,3–0,8 Pip auf Majors – über 2.640 Trades pro Jahr sind das 800–2.100 Pips. Messen Sie den realen effektiven Spread auf Ihrem Konto: MT4/MT5-Historie exportieren, Spalten requested/fill, Median-Slippage auf Einstiegen und Ausstiegen separat. Ohne diese Zahl ist die Brokerwahl eine Erklärung, keine Entscheidung.
Versteckte Kosten
- Entwicklungszeit – 100 Stunden zum Bauen? Das ist nur das Aufsetzen der Umgebung und das Lernen der Syntax. Der Großteil der Zeit fließt nicht ins Schreiben von Code, sondern in die Validierung von Daten, Debugging, Loganalyse und das Verwerfen von Ideen, die den Live-Test nicht bestehen. Realistisch: 300–500 Stunden im ersten Jahr, um ein System zu bauen, zu testen und zu iterieren. Opportunitätskosten-Benchmark: Bei einem indikativen technischen/Freelance-Satz von 60–90 EUR/h sind 400 Stunden = 24.000–36.000 EUR. Bei einem Startkonto von 10.000 USD (~9.300 EUR) ist das 2,5–3,9× der Kontowert pro Jahr – Zeit ist Kapital, keine Lappalie. Und das Ergebnis nach Kosten kann sich als schlechter erweisen als ein passiver Index-ETF. Zählen Sie Zeit als erste Kosten, vor der zweiten.
- Swaps für Overnight-Systeme – ein D1-Swing-System mit 5 Trades pro Woche hält Positionen 2–5 Tage. Swaps auf Crosses (z. B. GBP/JPY) können indikativ 1–3 Pips pro Tag fressen (abhängig von Broker und Zinsdifferential). Bei einem System mit +8 Pip Erwartungswert pro Trade und durchschn. 3-tägigem Halten – sind Swaps zusätzliche 3–9 Pips Kosten, die der Backtest nur sieht, wenn Sie ihn mit korrekten historischen Swap-Daten laufen lassen. Die meisten Broker veröffentlichen keine Swap-Rate-Historie.
- Wartung – minimum 5–10 Stunden/Monat. Broker-Parameteränderungen, Updates, Edge-Verifikation.
- Kosten eines Implementierungs-Bugs – ein Bug im Sizing, falsch berechnete Provision, falsche Exit-Bedingung. Ein logischer Bug kann wochenlang laufen, bevor Sie ihn bemerken.
- Kosten des Brokerwechsels – neuer Spread, neuer LP-Stack, neue Latenz. Ein für einen Broker optimiertes System funktioniert bei einem anderen möglicherweise nicht.
- „Totes-Kapital"-Kosten – Geld auf Testkonten, bei Backup-Brokern, auf VPS. Gebundenes Kapital, das nicht arbeitet.
8. Wenn der Algo aufhört zu funktionieren – Regimewechsel
Jedes System hat ein Verfallsdatum. Der Unterschied zwischen einem Amateur und einem Trader ist, ob er es vor einem 30 %-Drawdown bemerkt. Jeder EA stirbt irgendwann – die einzige Kunst im Algo-Handel ist es, genug daran zu verdienen, bevor der Markt das Regime wechselt und Sie zur Quelle vorhersagbaren Flows für besser ausgerüstete Marktteilnehmer werden.
Warum Systeme degradieren
- Regimewechsel – ein Trend-Following-System aus 2020–2021 (starke Dollartrends) funktioniert in 2024 (Range) möglicherweise nicht. Das Marktregime (Art. 8.7) ändert sich, Systemparameter sind auf das alte Regime abgestimmt.
- Crowding – wenn eine Strategie populär ist, spielen mehr Teilnehmer sie. Der Edge schrumpft, weil der Markt das Signal schneller wegarbitriert.
- Mikrostrukturänderungen – der Broker ändert den LP-Stack, Spreads ändern sich. Ein für den alten Spread optimiertes System funktioniert unter dem neuen möglicherweise nicht.
Anzeichen der Degradation
- Trefferquote fällt – von 55 % (letzte 500 Trades) auf 42 % (letzte 100). Schauen Sie auf rollierende Trefferquote, nicht auf den letzten Drawdown. (Dieselben Kennzahlen, die Sie von Anfang an überwachen – Checkliste aus Abschnitt 6 – werden mit der Zeit zu Anzeichen der Degradation.)
- Rollierender Erwartungswert pro Trade fällt systematisch – nicht eine schlechte Woche, sondern ein Abwärtstrend über 3–4 Wochen.
- Drawdown überschreitet das 95. Perzentil aus dem Monte Carlo.
- Durchschn. Zeit in Position steigt – das System fängt nicht mehr die Bewegungen, die es früher fing.
Warten Sie nicht auf eine runde Zahl von Trades, um mit der Diagnose zu beginnen. Ein Mean-Reversion-System auf H1 macht 3–5 Trades pro Woche – auf eine „statistisch signifikante" Stichprobe warten Sie Monate. In dieser Zeit kann der Broker den LP-Stack und der Markt das Regime gewechselt haben. Schauen Sie auf rollierende Kennzahlen Woche für Woche: Trefferquote, Erwartungswert, Slippage, durchschn. Zeit in Position. Ein 3–4-wöchiger Abwärtstrend ist ein Signal – warten Sie nicht, bis er zur Gewissheit wird.
Wann abschalten vs. normaler Drawdown
Monte Carlo in Excel sieht am Sonntag bei Kaffee großartig aus. Am Donnerstag, wenn Sie −22 % auf einem Live-Konto haben und der nächste Tick entscheidet, ob der Broker Sie mit albtraumhafter Slippage stop-outet – landet die Tabelle im Müll und Sie beginnen, zum Chart zu beten. Eine Prozessentscheidung sieht in der Tabelle leicht aus. Mit offenen Positionen sieht sie anders aus. Bevor Sie das System live schalten, schreiben Sie eine harte Schwelle in Ihren Kalender: „DD = 22 % → ich schalte heute Abend ab, nicht morgen, nicht nach einem weiteren Trade." Denn um 23:15, mit 21,8 % DD, beginnt Ihr Gehirn, Gründe zu fabrizieren, warum die 22 %-Grenze vielleicht doch zu konservativ ist. Setzen Sie den Drawdown-Trigger im Voraus: 1,5× Max DD aus Backtest oder das 95. Perzentil aus Monte Carlo – und halten Sie sich ohne Verhandlung daran.
Regime-Erkennung – eingebauter EA-Filter
Bildungsartikel beschreiben Regimewechsel als externe Bedrohung. Ein systematischer Trader baut einen Regimefilter direkt ins System ein:
- ADX als Schalter – ADX < 20 = Range-Markt, Trend-Following-System aus. ADX > 25 = aktiver Trend, Mean-Reversion-System aus. Einer der einfachsten und praktischsten Ansätze zur Regime-Filterung.
- Volatilität vs. Durchschnitt – Vergleich der 20-Tage-ATR mit dem 200-Tage-Durchschnitts-ATR. Wenn ATR(20) das 2-Fache des Durchschnitts ist – hat sich das Regime verschoben, die Systemparameter passen möglicherweise nicht.
- COT als Hintergrundfilter – nicht als Einstiegstrigger, sondern als wöchentlicher Kontext. Extreme COT (>90. Perzentil) in derselben Richtung wie das System = kleinerer Edge wegen Crowding. Extreme COT gegen das System = potenzieller Squeeze, ein Trend-Following-System hat möglicherweise Rückenwind. (Art. 6.6)
Implementierungsmechanik für COT in einem EA: Die CFTC veröffentlicht den COT-Bericht freitags um 15:30 ET (21:30 polnische Zeit), mit Referenzdaten vom vorangegangenen Dienstag – 3 Geschäftstage Verzögerung. Das bedeutet, COT ist als Intraday-Trigger oder gar als tägliches Einstiegssignal ungeeignet. Die einzig sinnvolle Nutzung: ein wöchentliches kontextuelles Signal auf D1 oder W1 – ein Filter „ist die Marktpositionierung extrem?", einmal pro Woche nach Veröffentlichung geprüft. Wenn das Perzentil der spekulativen Positionen über ein 156-Wochen-Rolling-Fenster extrem ist (>90 oder <10) in der Richtung, die zum Strategiesignal passt, reduziert das System das Sizing oder pausiert Einstiege.
Legacy COT vs. TFF – zwei Berichtsformate, andere Kategorien. Für Währungs-Futures verwenden Sie den TFF-Bericht (Traders in Financial Futures), der für Finanzinstrumente bestimmt ist, oder kennzeichnen Sie klar, dass Sie den klassischen Legacy COT nutzen. Teilnehmerkategorien unterscheiden sich zwischen den Formaten: Legacy teilt in Commercial (Hedger, die reale Exposures abdecken) und Non-Commercial (Large Speculators); TFF teilt in Dealer/Intermediary, Asset Manager / Institutional, Leveraged Funds und Other Reportables. Mischen Sie Kategorien nicht über Formate hinweg in einer EA-Regel – entweder Legacy oder TFF, aber konsistent. COT-Daten im EA: CFTC-CSV manuell parsen oder via API (z. B. Quandl/NASDAQ Data Link, Barchart, cotpricecharts.com).
Regime-Erkennung – operative Matrix
Statt „Regimewechsel" abstrakt zu erklären, sollte der EA eine einfache Entscheidungstabelle haben, die auf drei Achsen eingebettet ist: Charakter der Bewegung (Trend / Range), Volatilität (hoch / niedrig) und Risk-on/off-Hintergrund. Lassen Sie den Filter auf D1 oder W1 laufen, einmal pro Sitzung – nicht intraday:
| Regime | Trend / Range (Struktur) | Volatilität (ATR vs. Durchschnitt) | Risk-on/off (DXY, JPY, CHF) | Was Sie ein-, was Sie ausschalten |
|---|---|---|---|---|
| Trend, hohe Vol | HH/HL oder LH/LL | ATR über 75. Perzentil | Risk-on für AUD/JPY, NZD/JPY; Risk-off für USD/JPY, CHF | Trend-Following AN, Mean Reversion AUS, Breakout AN mit Katalysator |
| Trend, niedrige Vol | HH/HL schwach | ATR unter Median | — | Trend-Following mit reduziertem Sizing; Mean Reversion AUS |
| Range, hohe Vol | Keine neuen Extreme + breite Kerzen | ATR über 75. Perzentil | — | Alles AUS – das ist „Chop", in dem Trend und Reversion beide gegen die Kosten verlieren |
| Range, niedrige Vol | Preis oszilliert in engem Bereich | ATR unter 25. Perzentil | Risiko neutral | Mean Reversion AN, Trend-Following AUS |
| Risk-off-Schock | Scharfe Änderung über 1–3 Sitzungen | ATR springt 2× in einer Woche | JPY/CHF erstarken scharf | Alles AUS bis zur 5-Sitzungen-Stabilisierung |
Der EA implementiert den Filter als einfache Zustandsvariablen, die einmal täglich aktualisiert werden. Wenn der Zustand von „Trend, hohe Vol" zu „Range, hohe Vol" wechselt – pausiert das System Einstiege, schließt aber nicht offene Positionen (sofern sie kein hartes SL haben und nicht nahe daran sind). Pause und Liquidation sind unterschiedliche Entscheidungen – die erste schützt den Edge, die zweite zerstört Tail-Erwartungen.
Konzeptionelle Skizze in MQL5 (vereinfachter Code, an Ihre Architektur anzupassen):
// Regime-Zustands-Enum
enum ENUM_REGIME { REGIME_TREND_HIGH, REGIME_TREND_LOW, REGIME_RANGE_LOW, REGIME_CHOP, REGIME_RISK_OFF };
ENUM_REGIME current_regime = REGIME_RANGE_LOW;
datetime last_regime_check = 0;
// Einmal täglich auf neuer D1-Bar aktualisieren
void OnNewDailyBar() {
current_regime = DetectRegime(); // Implementierung: ATR-Perzentil, Struktur, DXY/JPY
last_regime_check = TimeCurrent();
}
// In OnTick() – Einstiegs-Gate
void OnTick() {
if(current_regime == REGIME_CHOP || current_regime == REGIME_RISK_OFF) return; // Einstiege blockieren
if(IsTrendStrategy() && current_regime != REGIME_TREND_HIGH) return;
if(IsMeanReversion() && current_regime != REGIME_RANGE_LOW) return;
// weiter: Signal-Logik, Sizing, SL/TP
}
Schlüssel: Lassen Sie den Filter einmal pro Sitzung laufen, nicht Tick für Tick. Tick-für-Tick-Regimewechsel produziert falsche Pausen und Restarts bei winzigen ATR-Bewegungen. Besser einmal täglich mit einer konservativen Schwelle als ständiges Pulsieren des Zustands.
Robustheits-Tests – robustes vs. fragiles System
Ein System, das „funktioniert", reicht nicht. Das System muss Bedingungen überleben, die schlechter sind als die, auf denen Sie es getestet haben. Ein Robustheits-Test bedeutet, Bedingungen bewusst zu verschlechtern und zu prüfen, ob das System noch positiven Erwartungswert hat:
- Spread +50 % – wenn das System bei 1,0-Pip-Spread Geld verdient, verdient es noch bei 1,5 Pip? Wenn nicht – ist es zu empfindlich auf Einstiegskosten.
- Latenz +200 ms – fügen Sie dem Backtest eine künstliche Verzögerung hinzu. Fällt das Ergebnis um 10 % oder 60 %? Scalping überlebt das in der Regel nicht – Swing meist schon.
- Andere Feeds / Broker – lassen Sie dasselbe System auf Tick-Daten aus 2–3 verschiedenen Quellen laufen. Wenn die Ergebnisse um >30 % differieren – handelt das System Feed-Artefakte, kein Marktmuster.
- 1-Bar-Einstiegsverschiebung – verzögern Sie das Einstiegssignal um eine Kerze. Wenn das System kollabiert – hängt der Edge von einer Präzision ab, die Sie live nicht bekommen.
- Swap +50 % – für Overnight-Systeme: Swap-Kosten um die Hälfte erhöhen. Wenn ein D1-System die Profitabilität verliert – hängt es von billiger Finanzierung ab, nicht von einem Muster.
- Parameter-Plateau – suchen Sie nicht den besten Punkt. Suchen Sie eine Region, in der die gesamte Nachbarschaft der Parameter Gewinn macht. Wenn der Parameter MA(17) und nicht MA(19) sein muss – das ist Overfitting, keine Robustheit.
In Python: Die Bibliothek vectorbt erlaubt es, Spread, Slippage und Einstiegsverzögerung relativ schnell zu parametrisieren und viele Varianten in einer Schleife zu fahren. In MQL: Der Strategy Tester erlaubt das manuelle Setzen von Spread und Slippage pro Test – mühsam, aber machbar.
System-Sensitivität gegenüber der Ausführung – stilabhängig
| Stil | Sensitivität ggü. Spread/Slippage | Sensitivität ggü. Swap | Sensitivität ggü. Regimewechsel | Wichtigster Robustheits-Test |
|---|---|---|---|---|
| Scalping | Extrem hoch | Niedrig (kurze Zeit in Position) | Mittel | Spread +50 %, Latenz +200 ms |
| Intraday | Hoch | Niedrig | Mittel–hoch | Spread +30 %, 1-Bar-Verschiebung |
| Swing / D1 | Mittel | Hoch | Hoch | Swap +50 %, andere Feeds |
| Position / Carry | Niedrig | Extrem hoch | Extrem hoch | Zinsänderung, Regimeverschiebung |
Die Spalte „Scalping" in der Tabelle ist keine Einladung – sie ist eine Warnung. Ein Retail-Trader auf MT4/MT5 mit einem CFD-Broker kontrolliert weder Latenz noch Routing-Priorität in dem Maße, das nötig ist, um langfristig einen profitablen Scalper zu bauen. Ausnahmen existieren – aber sie sind seltener, als die meisten Trader meinen, die gerade M1 entdeckt haben.
Datenqualitäts-Checkliste
Drei Mal habe ich ein System gebaut, das im Backtest „funktionierte" und live „nicht funktionierte" – bevor ich lernte, dass meine Brokerdaten nach einem DST-Wechsel die falsche Zeitzone hatten. Der Stundenfilter, der den Handel zwischen 23:00 und 00:00 blockieren sollte, blockierte 22:00–23:00. Das System handelte durch den Rollover. Ein Datenproblem, kein Logikproblem. Prüfen Sie die Daten vor dem System:
- Datenquelle – Broker (verschmutzt) vs. unabhängig (Dukascopy, TickData). OHLC für eine zufällige Woche vergleichen.
- Zeitzone – UTC, GMT+2, GMT+3? Ein DST-Wechsel verschiebt Kerzenstunden – und das Verhalten eines Systems mit Stundenfilter.
- Tick-Qualität – wie viele Ticks pro Minute? Daten mit <10 Ticks/min auf EUR/USD sind Interpolation, kein Markt.
- Lücken – Wochenenden, Feiertage, Disconnects. Behandelt der Backtest Lücken korrekt oder als Null-Volumen-Kerzen?
- Kerzen-Aggregation – Broker A zählt Kerzen aus Bid, Broker B aus Mid. Auf M1/M5 macht das einen Unterschied.
- Konsistenz Test/Live-Broker – kommen die Backtest-Daten vom selben Broker, bei dem Sie live handeln? Wenn nicht – testen Sie einen anderen Markt.
9. EAs vom Markt und Social Trading – was Sie wirklich kaufen
MQL5 Market, ZuluTrade, PAMM, Copy Trading – das Versprechen: „Sie müssen nicht lernen, jemand anderes wird für Sie handeln." Die Realität ist weniger rosig.
MQL5 Market – Ranking der Überlebenden ohne die volle Geschichte der Verlierer
Tausende EAs zum Verkauf, nach Ergebnissen gerankt. Ein EA-Ranking ist ein Friedhof, auf dem Sie vorerst nur die noch stehenden Grabsteine sehen. Der Käufer sieht das Ergebnis, sieht aber meist weder die volle Risikoverteilung, die Geschichte der Parameteränderungen noch die Bedingungen, auf die das System abgestimmt war. EAs, die 80 % des Kontos verloren haben, verschwinden aus dem Ranking. Das ist klassischer Survivor-Bias[7]. Schlimmer: Wenn Sie einen EA mit 14 Monaten großartiger Historie kaufen, haben Sie statistisch wahrscheinlich das System am besten möglichen Punkt seiner Equity-Kurve gepickt – weil Systeme mit verborgener Tendenz zum Sprengen erst ein Jahr wachsen und dann das Konto auf null setzen. Survivorship-Bias als bezahltes Abonnement.
Typische Tricks der Anbieter:
- Martingale – Verdoppeln nach einem Verlust. Equity-Kurve perfekt, bis eine Verlustserie das Konto zerstört. Eine 12-monatige Track Record ohne DD bedeutet kein gutes System – sie bedeutet, dass das Martingale noch keinen Schwarzen Schwan getroffen hat.
- Grid ohne SL – Positionen alle X Pips ohne Stop Loss. Funktioniert in einer Range. Ein Trend und das Konto ist auf null.
- Cherry-picked Backtest – der Anbieter zeigt die beste Periode. Zeigt kein Walk-Forward.
- Demo als „Live-Beweis" – ein Demokonto mit idealen Fills, beschriftet als „Live-Ergebnisse".
Due Diligence vor dem Kauf eines EA – 7 Schritte
| Kriterium | Minimum | Rote Flagge |
|---|---|---|
| Quellcode | Verfügbar oder Möglichkeit der Dekompilation | „Proprietär, kann nicht offengelegt werden" |
| Live Track Record (nicht Demo) | 12+ Monate, verifizierbar (MyFxBook mit Investor Rights) | Demo als „Live-Ergebnisse" präsentiert |
| Anzahl der Trades | 300+ (statistisch signifikant) | <100 Trades |
| Max Closed DD vs. Max Floating DD | Beide offengelegt | Nur Closed DD (Floating versteckt = Martingale) |
| SL auf jeder Position | Hartes SL pro Trade | Kein SL, „mental stop", Equity Stop |
| Recovery Factor | >3 (Nettogewinn / Max DD) | <1 |
| Fügt das System zu Verlierern hinzu | Nein | Averaging, Grid, Martingale |
Social Trading und Copy Trading
ZuluTrade, eToro CopyTrader, PAMM – Sie kopieren einen „Top-Trader". Keine Due-Diligence-Frage schützt Sie davor, dass der „Top-Trader" auf ZuluTrade ein Konto mit 1:400 Hebel bei einem Vanuatu-Broker handelt, Martingale getarnt als „Averaging" verwendet und seine 4 % Paper-DD bedeuten, dass eine einzige Verlustserie ihn auf null setzt. Bevor Sie kopieren – prüfen Sie, wo der Broker dieses Traders das Geld hält und welche Kundenschutzmaßnahmen vorhanden sind. Die Antwort beendet das Gespräch oft.
10. Algo für den Retail-Trader – realistische Erwartungen
Was erreichbar ist
- Swing-/Position-Algo auf D1/H4 – Mean Reversion oder Trend-Following. 3–8 Trades pro Woche. 10–30 % CAGR klingt auf dem Papier gut. Aber das obere Ende dieses Bereichs erreicht ein kleiner Bruchteil der Retail-Trader, die ihre eigenen Systeme bauen, und ein 25 % DD ist psychologisch etwas völlig anderes als ein 25 % DD in einer Tabelle. Bei einem 10.000-USD-Konto sind das 2.500 USD, die verschwinden. Die meisten Trader schalten das System bei einem 12 %-DD aus – bevor es eine Chance hat, sich zu erholen. Und beachten Sie: Negative Swaps und Overnight (Rollover-) Spread-Weitungen werden Sie auffressen. Wenn der Backtest die brutalen Kosten des Übernacht-Haltens nicht enthält – werden Paper-+15 % zu einem realen Minus.
- Hybrider Ansatz: Algo + diskretionär – das System generiert Signale, der Trader entscheidet über die Ausführung anhand des Kontexts (Makrodaten, Regime, COT – Abschnitt 7). Oft effektiver als reines Algo.
- Risikomanagement-Automatisierung – Risikomanagement ist nicht das Aufkleben eines festen 30-Pip-SL auf jeden Trade. Ein echter Algo skaliert die Positionsgröße dynamisch zur Volatilität (ATR) und zieht das Risiko vom Markt zurück, wenn der Broker-Spread sich auf ein Niveau weitet, bei dem das System ökonomisch keinen Sinn mehr ergibt. Selbst ohne Einstiegsautomatisierung – automatisches Sizing, Trailing und ein Kill Switch eliminieren die schlimmsten emotionalen Entscheidungen.
Was NICHT erreichbar ist
- HFT ohne Co-Location – erfordert Mikrosekunden-Latenz und Millionen USD. Ein 30-USD-VPS mit MT4 wird Ihnen kein HFT geben[6].
- Stetige 10 % pro Monat – kein System liefert konstante Renditen. Wer „stetige X % pro Monat" verspricht – lügt entweder oder nutzt Martingale.
- „Set and forget" – das System erfordert ständiges Monitoring und Rekalibrierung.
Algo löst Ihr Edge-Problem nicht. Es verlagert es in den Code und beginnt, ihn mit voller Konsequenz auszuführen – ohne einen Moment des Zögerns. Wenn die Logik dumm war, haben Sie jetzt eine dumme, aber sehr fleißige Maschine. Algo liefert keinen Edge – es nimmt die Ausrede, dass Emotionen schuld waren. Ab jetzt ist der Schuldige der Code, die Daten oder Ihre Annahmen[10].
A-Book, B-Book und warum Ihr EA das verstehen muss
Ihr EA handelt nicht Forex. Er handelt den Feed Ihres Brokers, in dessen Routing-Modell, in dessen Quote-Sheet. Das kann alles sein – ECN mit LMAX/Currenex, ein PoP-Hybrid, ein internalisierender Market Maker (Art. 2.7). Ohne dies zu verstehen, ist das Schreiben eines Systems Raten.
- B-Book – der Broker internalisiert den Flow (kann, muss aber nicht direkt die Gegenpartei sein). Nehmen Sie nicht an, dass der Broker Ihr Konto „jagt" – nehmen Sie an, dass sein Risikomanagementsystem den Flow klassifiziert. Toxic-Flow-Detection bedeutet die Identifikation von Flow, der hohes Adverse-Selection-Risiko für den Market Maker oder LP trägt – z. B. Latenz-Arbitrage, aggressives News Trading, Flow direkt vor einer Quote-Änderung – und ist eine reale Komponente des Ausführungsrisikomanagements, keine verschwörerische „der Kunde gewinnt"-Kategorie. Wenn Ihr Stil zu diesem Profil passt, können sich Ausführungsbedingungen ohne jede Bösgläubigkeit ändern – durch Routing, LP-Auswahl, Limits, Verzögerungen und Server-Parameter.
- A-Book – der Broker leitet Orders an LPs weiter. Kein Interessenkonflikt, aber Slippage hängt von der LP-Buchtiefe und der Routing-Zeit ab.
- Hybrid – die meisten Retail-Broker. Ein Teil des Flows internalisiert, ein Teil weitergeleitet. Sie wissen nicht, in welche Kategorie Ihre Order fällt.
Dieselbe Strategie kann bei einem Broker profitabel und bei einem anderen tot sein – nicht weil „der Markt sich änderte", sondern weil sich Ausführungsbedingungen, Flow-Filterung oder Quoting-Politik änderten. Wenn Ihr EA 3–6 Monate bei einem B-Book-Broker profitabel ist – überwachen Sie, ob sich die Ausführungsbedingungen verschlechtern, wenn sich Ihr Flow-Profil ändert. Wie diagnostizieren: Fill-Quality-Analyse über die Zeit (rollierende Slippage pro Richtung – ist sie systematisch in einer Richtung schlechter?). Wenn Sie keine Modelltransparenz haben: Verteilen Sie den EA auf 2–3 Broker und vergleichen Sie die rollierende Slippage zwischen ihnen – das gibt Ihnen ein empirisches Signal, wenn einer von ihnen anfängt, schlechter auszuführen.
Wie Sie das Ausführungsmodell Ihres Brokers in 3 Schritten identifizieren
- Holen Sie sich das Ausführungspolitik-Dokument. Fragen Sie den Support nach der „Order Execution Policy" oder „Best Execution Policy" – jeder von FCA, CySEC, KNF, BaFin regulierte Broker ist verpflichtet, ein solches Dokument zu haben. Lesen Sie die Abschnitte: Order-Routing, LP-Liste, Slippage-Politik, Requotes, Teilausführungen. Allgemeine Phrasen („wir nutzen mehrere Liquiditätsanbieter") sind normal; das Fehlen eines konkreten Dokuments ist eine rote Flagge.
- Senden Sie 10 Orders unter 3 verschiedenen Bedingungen. Gleiche Größe, gleiches Instrument: in normalem Markt (z. B. Mittwochmorgen), 2 Minuten vor Tier 1 (NFP/CPI/FOMC) und um 22:45 polnischer Zeit (Rollover). Vergleichen Sie Fill-Zeiten, Slippage und Rejects. Asymmetrie über diese drei Fenster offenbart das reale Ausführungsmodell besser als jedes Dokument.
- Stellen Sie der Compliance zwei Fragen direkt. Erstens: „Hat ein ECN/Raw-Konto denselben LP-Stack wie Ihr Standard-Konto?". Zweitens: „Gibt es ein Stop Level für meine Instrumente und wie groß ist es in Pips auf EUR/USD, GBP/JPY, USD/CHF?". Antworten (oder deren Fehlen) sind bereits Daten – ein Broker, der die Stop-Level-Frage nicht innerhalb von 24 Stunden beantworten kann, hat wahrscheinlich keine transparente Pro-Instrument-Ausführungspolitik.
Fill-Quality-Analyse – wie man misst, ob der Broker einen bestraft
Transaction Cost Analysis (TCA) für einen Retail-Algo-Trader: Vergleichen Sie nach 50+ Trades den angeforderten Preis mit dem Fill-Preis für Long- und Short-Positionen separat. Wenn die Slippage systematisch in einer Richtung schlechter ist – haben Sie ein strukturelles Problem, kein Marktproblem. MyFxBook hat eine „Trade Analysis" mit Spalten für Entry/Exit-Effizienz – aber die meisten Trader wissen nicht, wie sie sie interpretieren sollen. Um Ausführungskosten in Geld umzurechnen, nutzen Sie unsere Kosten-, Pip- und Spread-Rechner.
| Metrik | Was sie misst | Rote Flagge |
|---|---|---|
| Slippage pro Richtung | Differenz Fill vs. Request, Long vs. Short | Asymmetrie zugunsten des Brokers (Schwelle hängt von Paar und Stil ab – z. B. >1 Pip auf Majors für einen Scalper) |
| Fill Rate | % der ausgeführten Orders / gesendet | Deutlich niedriger live als auf Demo (indikativ: <95 %) |
| Ausführungszeit | Zeit von Send bis Fill | Steigt systematisch über die Zeit oder für bestimmte Order-Typen |
| Spread beim Fill vs. beworben | Realer Spread im Moment des Fills | Vielfach höher als beworben in ruhigem Markt |
Korrelationen und Exposure – die „12-Positionen-auf-korrelierten-Paaren"-Falle
Ein EA, der gleichzeitig long EUR/USD, short USD/CHF und long GBP/USD hält, hat keine drei Positionen – er hat eine: eine Wette auf Dollar-Schwäche in drei Verpackungen. Wenn der Dollar erstarkt, verlieren alle drei auf einmal.
| Position | Dominante Währung | USD-Richtung | Risk-on/off-Richtung |
|---|---|---|---|
| Long EUR/USD | USD | Short USD | Moderat Risk-on |
| Short USD/CHF | USD | Short USD | Risk-off / Safe Haven |
| Long GBP/USD | USD | Short USD | Risk-on |
| Long AUD/JPY | JPY / Risiko | Neutral | Stark Risk-on |
Der EA muss einen Währungsexposure-Filter haben. Statt einer willkürlichen „max N Positionen"-Grenze – messen Sie das Netto-Exposure zu jeder Basiswährung: Summieren Sie das Notional (Positionsgröße × Richtung) für jede Währung separat. Wenn das aggregierte USD-Exposure z. B. 3 % des Kontos überschreitet – werden neue Positionen mit USD-Dominanz blockiert. Vereinfachte Methode: zählen Sie, wie viele Ihrer offenen Positionen dieselbe Währung auf derselben Seite teilen. 3× short USD über verschiedene Paare = eine große Short-USD-Position in drei Verpackungen. Mehr zu Korrelationen und Währungsexposure: Abschnitt 7 – Intermarket-Analyse.
Beispiel der Netto-Berechnung über drei Paare. Konto 10.000 USD, offen: long 0,5 Lot EUR/USD (1 % Risiko), short 0,5 Lot USD/CHF (1 % Risiko), long 0,3 Lot GBP/USD (0,8 % Risiko). Sieht aus wie drei verschiedene Positionen mit Gesamtrisiko 2,8 %. Netto-Währungsberechnung:
- USD: long EUR/USD = short USD; short USD/CHF = short USD; long GBP/USD = short USD. Netto: −1,3 Lot short USD (eine einseitige Wette auf Dollar-Schwäche in drei Verpackungen).
- EUR: +0,5 long.
- GBP: +0,3 long.
- CHF: +0,5 long (short USD/CHF = long CHF).
Reales Risiko: Wenn DXY 1 % auf eine hawkishe Fed gewinnt, verlieren alle drei Positionen auf einmal. Der Gesamtverlust wird näher bei 2,8 % als bei 1 % liegen – weil es eine Entscheidung über drei Exposures hinweg ist. EA-Filter: blockieren Sie eine neue Position, wenn ihre dominante Währung bereits ein Netto über der Schwelle hat (z. B. ±2 Lots pro Basiswährung für ein 10k-USD-Konto).
Von der Idee zum Live – Prozess-Map
| Schritt | Was Sie tun | Durchgangskriterium |
|---|---|---|
| 1. Idee | Hypothese + Einstiegs-/Ausstiegslogik | Eine klare Regel, die in Code geschrieben werden kann |
| 2. Backtest mit Kosten | Variabler Spread, Slippage, Provision, Tick-Daten | Netto-Erwartungswert > 0 nach Kosten |
| 3. Overfitting-Check | Parameter minimieren, Plateau prüfen | Ergebnis stabil bei kleinen Parameteränderungen |
| 4. Rolling WFA | Gleitendes IS/OOS-Fenster | WFE > 50 % (Arbeitsregel) |
| 5. Anchored WFA | Fester Anfang, wachsendes IS | WFE nahe dem Rolling – das System stabilisiert sich |
| 6. Monte Carlo | 10.000 Permutationen, Verteilung von DD und Erwartungswert | 95. Perzentil DD akzeptabel, Erwartungswert > 0 |
| 7. Robustheit | Spread +50 %, Latenz +200 ms, 1-Bar-Verzögerung, andere Feeds | System bleibt nach verschlechterten Bedingungen profitabel |
| 8. Demo | Technischer Code-Test, mind. 50 Trades | Code funktioniert, öffnet/schließt/verwaltet Positionen |
| 9. Live Mikrolot | Validierung der Ausführungskosten, mind. 30–50 Trades | Live-Erwartungswert ≥ 50 % des Backtests (darunter – zurück zur Ausführungsdiagnostik) |
| 10. Monitoring | Rollierende Kennzahlen: Trefferquote, Erwartungswert, Slippage, Swap | DD-Trigger = 1,5× Max DD aus Backtest oder 95. Perzentil MC |
Jeder Schritt ist ein Tor – wenn das System nicht durchgeht, geht es zurück zum vorherigen Schritt. Die meisten Ideen scheiden bei Schritt 2 oder 3 aus. Das ist kein Mangel des Prozesses – es ist sein Ziel.
Schließen der These. Algo-Trading für den Retail-Trader ist keine Abkürzung zum Reichtum und kein Weg, das Denken abzuschalten. Es ist eine Disziplin der Messung, in der der diskretionäre Trader auf Intuition setzt: Messung der Kosten (Spread, Slippage, Provision, Swap, Latenz, VDP-Reibung), Messung der Ausführungsqualität (Fill-Asymmetrie, Fill-Rate, Ausführungszeit), Messung der Systemrobustheit (Spread +50 %, Latenz +200 ms, andere Feeds) und Messung des Marktregimes (die Matrix Trend × Volatilität × Risk-on/off). Ohne Ausführungslog, Walk-Forward und Monte Carlo betreiben Sie lediglich einen schnelleren Liquiditätsspender für den Broker. Mit diesen Werkzeugen haben Sie eine Chance auf etwas, das den ersten Regimewechsel überlebt – und über einen Zwei-Jahres-Zyklus ist das der reale, ambitionierte Benchmark für Retail-Algo. Nicht 20 % pro Monat. In zwei Jahren noch im Spiel sein.
FAQ – häufig gestellte Fragen
Muss ich programmieren können?
Ja – zumindest auf dem Niveau des Lesens und Modifizierens von Code. Ohne das sind Sie ein Black-Box-Kunde. Minimum: Grundlagen von MQL5 oder Python. Lernzeit: 2–4 Monate regelmäßiger Praxis.
Wie viel kostet der Einstieg in den Algo-Handel?
Minimum: ein Brokerkonto (1.000–5.000 USD), VPS (15–50 USD/Monat), MT4/MT5 (kostenlos). Optional: Tick-Daten (100–500 USD/Jahr), professionelle Plattformen (50–200 USD/Monat). Die größte Kostenposition ist Zeit – Hunderte von Stunden Bauen, Debuggen, Validieren und Verwerfen von Ideen, die nicht funktionieren. Das Startgeld ist weniger als die Kosten in Stunden.
Was ist eine realistische Rendite?
Swing-/Position-Algo: 10–30 % CAGR mit DD 15–25 %. Nicht 10 % pro Monat – 10–30 % pro Jahr, mit negativen Monaten. Vergleich: Ein S&P-500-ETF liefert historisch ~8–10 % CAGR ohne jegliche Arbeit.
Kann ein EA aus dem MQL5 Market profitabel sein?
Theoretisch ja. In der Praxis: Ein großer Teil sind Martingales, Grids ohne SL oder Systeme, die an ein Marktregime überfittet sind. Prüfen: Walk-Forward (nicht nur Backtest), Live-Konto (nicht Demo), realistischer DD (kein DD = verstecktes Tail-Risiko), SL auf jedem Trade, Track Record über verschiedene Regime hinweg. Wenn Sie den Code nicht lesen können – nicht kaufen. Siehe Abschnitt 9: Due-Diligence-Tabelle.
MQL4 oder MQL5?
Wenn der Broker MT5 anbietet – lernen Sie MQL5 (besserer Backtester, bessere Architektur). Wenn nur MT4 – MQL4. Es sind unterschiedliche Sprachen – lernen Sie nicht beide gleichzeitig. Können Sie Python? Erwägen Sie den Handel über die Broker-API.
Wie erkenne ich Overfitting?
Walk-Forward: OOS >50 % schlechter als IS = Overfitting. Andere Anzeichen: funktioniert nur auf einem Paar, eine kleine Parameteränderung zerstört das Ergebnis, 6+ Parameter, Equity-Kurve „zu glatt". Prävention: Parameter minimieren, immer OOS testen.
Reicht Demo zur Validierung?
Nein. Demo validiert die Technik, nicht die Ergebnisse. Demo-Fills sind oft deutlich günstiger und weniger repräsentativ als Live – kein Last Look, keine LP-Rejects, keine Teilausführungen, keine dynamische Spread-Weitung beim Exit. Live schneiden Ausführungskosten den Erwartungswert oft um 30–60 % gegenüber Test/Demo. Demo ist Schritt eins (kompiliert der Code und öffnet/schließt Positionen). Live mit 0,01 Lot ist Schritt zwei – nur er gibt Ihnen reale Daten zu den Kosten auf Ihrem konkreten Konto.
Wann ein verlierendes System abschalten?
Vor dem Live-Gang festlegen: Drawdown-Trigger = 1,5× Max DD aus Backtest oder das 95. Perzentil aus Monte Carlo. Schalten Sie nicht nach 3 Verlusten in Folge ab (normaler DD). Schalten Sie ab, wenn der DD die Schwelle überschreitet – und gehen Sie zurück zur Diagnostik.
Python oder MQL für Algo-Handel?
Python: bessere statistische Werkzeuge, besser für Forschung/Validierung. MQL: native MT4/MT5-Integration, eingebauter Backtester, direkte Ausführung. Viele Algo-Trader nutzen beides: Python für Forschung, MQL für Ausführung.
Eliminiert Algo Emotionen?
Es eliminiert Emotionen aus der Ausführung – das System hat kein FOMO. Aber Emotionen verschwinden nicht – sie ändern die Form. Statt einer Kerze hinterherzujagen, beginnen Sie nach einer Verlustserie, Parameter zu tweaken und brechen das System genau dann, wenn Sie es in Ruhe lassen sollten. Typisches Szenario: 14 % Drawdown, der Trader zieht das SL „zur Risikoreduktion" enger – das System trifft keine Exits mehr. Fügt einen Filter hinzu – das System steigt nicht mehr ein. Nach einigen Wochen „Live-Optimierung" haben sie ein System, das an einen Drawdown angepasst ist, der sich ohnehin erholt hätte. Es sind nicht Emotionen, die Algo töten – es ist der Eingriff ins System, wenn es schmerzt.
Quellen und Bibliographie
Wissenschaftliche Forschung und Publikationen
- ESMA, „Product Intervention Analysis: Measure on Contracts for Differences", Produktinterventionsentscheidungen 2018 (inkl. ESMA35-43-1135) – Originalquelle für die Spanne von 74–89 % der Retail-CFD-Konten, die Geld verlieren, im Rahmen des Produktinterventionspakets, das Hebellimits, Margin-Close-Out und Schutz vor negativem Saldo umfasst; ergänzt durch „MiFID II/MiFIR – Q&A on Investor Protection Topics", 2023.
- Pardo, R., The Evaluation and Optimization of Trading Strategies, Wiley, 2. Aufl., 2008 – Walk-Forward-Analyse, Backtesting-Methodik, Modellierung von Transaktionskosten.
- Bailey, D.H., Borwein, J.M., López de Prado, M., Zhu, Q.J., „Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance", Notices of the AMS, Vol. 61, 2014 – mathematischer Beweis falscher Positiver durch multiples Testen.
- Harvey, C.R., Liu, Y., Zhu, H., „…and the Cross-Section of Expected Returns", Review of Financial Studies, Vol. 29, 2016 – P-Hacking in der Finanzforschung; um multiples Testen angepasste Signifikanzschwellen.
- Pardo, R., The Evaluation and Optimization of Trading Strategies, Wiley, 2. Aufl., 2008 (Kapitel zur Walk-Forward-Analyse) – WFA-Protokoll, Definition der Walk-Forward-Effizienz, Modellierung von Transaktionskosten in der Validierung.
- Aldridge, I., High-Frequency Trading: A Practical Guide to Algorithmic Strategies, Wiley, 2. Aufl., 2013 – HFT-Mechanik, Infrastrukturanforderungen, Latenz-Arbitrage.
Branchen- und Praxisquellen
- López de Prado, M., Advances in Financial Machine Learning, Wiley, 2018 – Backtest-Overfitting, kombinatorisch symmetrische Kreuzvalidierung; Validierungsmethoden, die gegen Data Snooping resistent sind.
- MetaQuotes, „MQL5 Documentation – Strategy Tester", 2024 – Dokumentation des MT5 Strategy Tester; Testmodi (Every tick, Real ticks).
- Bank for International Settlements, Triennial Central Bank Survey, 2022 – Quelle für Umfang und Struktur des globalen FX-Marktes (Tagesumsatz, Instrument-, Währungs- und Kontrahentenstruktur). Keine direkte Quelle für einen konkreten Prozentanteil des Algo-Handels am Spot-Umsatz – Schätzungen des algorithmischen Anteils erfordern separate Markt-/Plattformberichte (CME, BIS Quarterly Review).
- Barber, B.M., Odean, T., „Trading is Hazardous to Your Wealth", Journal of Finance, Vol. 55, 2000 – aktiver Retail-Handel erzielt nach Kosten niedrigere Renditen als Buy-and-Hold.
- Chan, E., Algorithmic Trading: Winning Strategies and Their Rationale, Wiley, 2013 – Aufbau von Mean-Reversion- und Momentum-Systemen auf FX; Sizing, Kosten, Backtesting.
- Kissell, R., The Science of Algorithmic Trading and Portfolio Management, Academic Press, 2013 – Slippage-Modellierung, TCA, Markt-Impact von Orders.
- Aronson, D., Evidence-Based Technical Analysis, Wiley, 2006 – statistischer Ansatz beim Strategie-Testen; Probleme des multiplen Hypothesentestens.
- CME Group, „Algorithmic Trading and Market Structure", 2023 – Rolle des Algo-Handels in Futures-Märkten; Auswirkung auf Liquidität und Preisfindung.
- FCA, „Algorithmic Trading Compliance in Wholesale Markets", 2018 – regulatorische Anforderungen an algorithmischen Handel unter MiFID II.
- BIS Markets Committee, „The sterling 'flash event' of 7 October 2016", Januar 2017 – BIS-Bericht in Zusammenarbeit mit Zentralbanken (einschließlich der Bank of England), der die Mechanik des GBP/USD-Flash-Crashs beschreibt: die Rolle der Algorithmen, die dünne Liquidität in der frühen Asien-Sitzung, die Kaskade von Stop-Losses und die Verstärkung der Bewegung durch automatisierte Systeme.
- Global Foreign Exchange Committee, FX Global Code, 2021 (aktualisiert) – Verhaltenskodex für OTC-FX; Principle 17: „Market Participants employing Last Look should be transparent regarding its use." Definition von Last Look, Hold Time, Symmetrie der Order-Ablehnung und Offenlegungspflichten der LP.
- New York Department of Financial Services, Consent Order: Barclays Bank PLC, November 2015 – Entscheidung mit Verhängung einer Strafe von 150 Mio. USD für asymmetrisches Last Look auf der BARX-FX-Plattform (Ablehnung von Kundenorders, wenn sich der Preis zu deren Gunsten bewegte). Eines der zentralen regulatorischen Dokumente zur Last-Look-Mechanik im Retail/Institutional FX.