Stoic Citadel — Sicherheitsorientierte Algo-Trading-Plattform
Eine 47.650-Zeilen-Async-Python-Plattform für MetaTrader 5 / Prop-Firm-Challenges, aufgebaut um eine fail-closed, siebenschichtige Risiko-Engine — und ehrlich genug, um out-of-sample zu beweisen, dass die eigene Strategie noch keinen Edge hat.
Zeitraum
2026
Rolle
Lead Engineer
47.6k LOC
Codebase
484 · 80% gate
Tests
7 gates
Safety layers
Technisches Ergebnis
7-layer fail-closed risk engine · 484 tests
Ehrliches Fazit
Infrastruktur- & Risiko-Engineering-Showcase — kein validierter Edge (ehrlich berichtet)
Problem
Private Algo-Trading-Projekte scheitern auf zwei klassische Arten: Ein Konto wird gesprengt, weil ein fehlender Stop-Loss oder ein hängender Prozess ungesichert blieb, oder eine Strategie sieht nur profitabel aus, weil der Backtest still zukünftige Daten durchsickern ließ. Prop-Firm-Regeln (5% Tagesverlust, 10% Gesamt-Drawdown) bestrafen beide Fehler sofort.
Die Herausforderung
Eine Trading-Plattform bauen, bei der Sicherheit eine Eigenschaft der Architektur ist — ein fehlender Stop, veraltete Daten oder ein eingefrorener Bot dürfen das Konto niemals sprengen — und bei der die Forschung streng genug ist, die eigene Strategie zu verwerfen, wenn der Edge nicht real ist.
Die Lösung
Ein entkoppeltes Makro/Mikro-Design: Eine Freqtrade-+-ML-Strategie veröffentlicht ein TRADE_INTENT über Redis und handelt nie direkt; ein schneller Async-Microservice durchläuft sieben unabhängige Risiko- und FTMO-Gates, dimensioniert jede Position anhand des realen Stop-Abstands und führt über Smart-Order-Typen an einer gehärteten MT5-Bridge aus. Ein unabhängiger Equity-Watchdog läuft als separater Prozess und kann das Buch glattstellen — stop-lose Positionen per Ticket schließen — selbst wenn der Haupt-Bot hängt. Ein leckfreier Walk-Forward (Purge + Embargo, realistische FX-Kosten) testete die Strategie dann out-of-sample und fand korrekt keinen validierten Edge.
Einblick in die Plattform
Engineering & ehrliche Forschung — in Zahlen
Jedes Diagramm wird aus dem Repository generiert — die Architektur, die siebenschichtige Risk-Engine und die Walk-Forward-Forschung, die korrekt feststellte, dass es noch keinen validierten Edge gibt. Nichts hier schönt die Performance. Zum Vergrößern auf eine Abbildung klicken.
Architektur
Entkoppelte Makro-/Mikro-Pipeline. Die ML-Strategie publiziert nur einen TRADE_INTENT über Redis; ein schneller asynchroner Service prüft das Risiko und führt aus — schwere Modelllogik kann einen Trade nie blockieren.
Erklärbares ML
Die Modellschicht ist kontrolliert statt Blackbox: LightGBM/XGBoost-Ensembles werden meta-gelabelt (TripleBarrier), in einer Registry mit 12 Modellen samt Lifecycle-Status versioniert, auf Drift überwacht — und per SHAP erklärt, bevor ihnen vertraut wird.
Mehrschichtige Absicherung
Sieben unabhängige Sicherheitsebenen. Eine Ablehnung auf irgendeiner Ebene stoppt den Trade; die letzte läuft als separater Prozess, der das Buch glattstellen kann — Positionen ohne Stop werden per Ticket geschlossen — selbst wenn der Haupt-Bot hängt.
Das ehrliche Ergebnis
Out-of-Sample, nach realistischen FX-Kosten, erreicht kein Instrument die Robustheitsschwelle, und beide FX-Paare liegen unter Breakeven. Der Walk-Forward wurde gebaut, um die Strategie zu widerlegen — und genau das tat er. Kein Live-Einsatz.
Risiko unter Kontrolle
Bei jedem Instrument bleibt der Drawdown weit innerhalb der Prop-Firm-Limits — das Ergebnis bewusst konservativer Positionsgrößen und seltener Einstiege, kein Beleg für einen bewiesenen Edge.
Durch Tests belegt
484 automatisierte Tests über den gesamten Stack — inklusive Property-based-Tests (Hypothesis) und Chaos-Tests — mit 80%-Coverage-Gate und blockierendem Secret-Scan in der CI.
Technische Highlights
Seven-layer defense-in-depth: every order passes data-freshness, market-safety, risk, circuit-breaker, FTMO, sizing and an out-of-band equity-watchdog gate
Fail-closed by default: the MT5 bridge refuses to run without an API key; the loader raises StaleDataError rather than trade on stale candles; the margin guard fails closed
Independent dead-man's switch closes naked (stop-less) positions by ticket after a grace period — proven by regression tests
FTMO compliance as a first-class module: daily 4% / weekly 8% / max-DD 9.5% limits, +10% profit-target halt, ≥4 trading days, restart-safe state
Leak-free walk-forward research (purge + embargo, realistic FX costs) that correctly concluded NO validated edge — profit factor below 1.0 out-of-sample
484 automated tests (property-based + chaos) with an 80% coverage gate and a blocking secret-scan in CI
Systemarchitektur
Python 3.12 · AsyncIO (async execution engine)
Freqtrade (macro strategy layer)
Redis pub/sub (macro → micro handoff)
FastAPI MT5 bridge (API-key + rate-limit)
LightGBM · XGBoost · Optuna · River (ML/MLOps)
PostgreSQL · SQLAlchemy · Alembic
Prometheus · Grafana · Loki (observability)
Docker · GitHub Actions (ruff · mypy · bandit · semgrep · CodeQL · Trivy)
Independent equity watchdog (out-of-band kill-switch)
Kerntechnologien