Skip to content
kobiakov.dev
ИИ и Инструменты

Stoic Citadel — торговая платформа с приоритетом безопасности

Асинхронная Python-платформа на 47 650 строк для MetaTrader 5 и челленджей проп-фирм, построенная вокруг fail-closed семиуровневого риск-движка — и достаточно честная, чтобы вне выборки доказать: у собственной стратегии пока нет преимущества.

Сроки

2026

Роль

Ведущий инженер

47.6k LOC

Codebase

484 · 80% gate

Tests

7 gates

Safety layers

Инженерный результат

7-layer fail-closed risk engine · 484 tests

Честный итог

Витрина инфраструктуры и риск-инжиниринга — без подтверждённого преимущества (честно)

Проблема

Розничные алго-трейдинг проекты проваливаются двумя классическими способами: счёт сливается из-за одного пропущенного стоп-лосса или зависшего процесса, либо стратегия лишь выглядит прибыльной, потому что бэктест незаметно подсмотрел будущее. Правила проп-фирм (5% дневного убытка, 10% общей просадки) мгновенно наказывают за любую из этих ошибок.

Вызов

Построить торговую платформу, где безопасность — свойство архитектуры: пропущенный стоп, устаревшие данные или зависший бот никогда не должны слить счёт, — и где исследование достаточно строгое, чтобы отвергнуть собственную стратегию, если преимущество не подтверждается.

Решение

Разделённая макро/микро-архитектура: стратегия Freqtrade + ML публикует TRADE_INTENT через Redis и сама не торгует; быстрый асинхронный микросервис проходит семь независимых риск- и FTMO-проверок, рассчитывает размер позиции от реального расстояния до стопа и исполняет умными типами ордеров через защищённый MT5-мост. Независимый equity-watchdog работает отдельным процессом и может закрыть все позиции — включая «голые» без стопа, по тикету — даже если основной бот завис. Затем walk-forward без утечек (purge + embargo, реалистичные издержки) проверил стратегию вне выборки и корректно не нашёл подтверждённого преимущества.

Внутри платформы

Инженерия и честное исследование — в графиках

Каждый график сгенерирован из репозитория — архитектура, семиуровневый риск-движок и walk-forward-исследование, честно показавшее, что валидированного преимущества пока нет. Ничего здесь не приукрашивает результаты. Кликните по графику, чтобы увеличить.

Архитектура

Разделённый macro/micro-конвейер. ML-стратегия лишь публикует TRADE_INTENT через Redis; быстрый асинхронный сервис проверяет риски и исполняет — тяжёлая логика модели никогда не блокирует сделку.

Объяснимый ML

Слой моделей управляем, а не «чёрный ящик»: ансамбли LightGBM/XGBoost проходят meta-labeling (TripleBarrier), версионируются в реестре из 12 моделей со статусом жизненного цикла, мониторятся на дрифт — и объясняются через SHAP, прежде чем им доверять.

Эшелонированная защита

Семь независимых уровней защиты. Отказ на любом уровне останавливает сделку, а последний работает отдельным процессом и может закрыть все позиции — в том числе позиции без стопа, по тикету — даже если основной бот завис.

Честный результат

Out-of-sample, за вычетом реалистичных FX-издержек, ни один инструмент не проходит порог устойчивости, а обе валютные пары ниже безубыточности. Walk-forward строился, чтобы опровергнуть стратегию — и опроверг. Без запуска в реальную торговлю.

Риск под контролем

По всем инструментам просадка остаётся глубоко внутри лимитов проп-фирм — результат намеренно консервативного сайзинга и редких входов, а не доказательство найденного преимущества.

Подтверждено тестами

484 автотеста по всему стеку — включая property-based (Hypothesis) и chaos-тесты — с порогом покрытия 80% и блокирующим secret-scan в CI.

Технические особенности

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

Архитектура системы

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)

Ключевые технологии

Python 3.12AsyncIOFastAPIRedisMetaTrader 5
Share: