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

Уровней защиты

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

7-уровневый fail-closed риск-движок · 484 теста

Честный итог

Личный R&D-проект — витрина инфраструктуры и риск-инжиниринга, без подтверждённого преимущества (честно)

Проблема

Розничные алго-трейдинг проекты проваливаются двумя классическими способами: счёт сливается из-за одного пропущенного стоп-лосса или зависшего процесса, либо стратегия лишь выглядит прибыльной, потому что бэктест незаметно подсмотрел будущее. Правила проп-фирм (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.

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

Семиуровневая эшелонированная защита: каждый ордер проходит проверки свежести данных, безопасности рынка, риска, circuit-breaker, FTMO, размера позиции и внешний equity-watchdog

Fail-closed по умолчанию: MT5-мост не запускается без API-ключа; загрузчик бросает StaleDataError вместо торговли на устаревших свечах; margin-guard закрывается при сбое

Независимый «рубильник» закрывает позиции без стопа по тикету после льготного периода — доказано регрессионными тестами

FTMO-комплаенс как полноценный модуль: лимиты 4% в день / 8% в неделю / 9.5% макс. просадки, остановка при +10% цели, ≥4 торговых дня, состояние переживает рестарт

Walk-forward без утечек (purge + embargo, реалистичные FX-издержки), который корректно НЕ нашёл подтверждённого преимущества — profit factor ниже 1.0 вне выборки

484 автотеста (property-based + хаос) с порогом покрытия 80% и блокирующим секрет-сканом в 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:

Хотите такой же сайт для вашего бизнеса?

Я делаю сайты с онлайн-записью для салонов, ресторанов и мастеров — запись включена, от 490 €. Бесплатная консультация, ответ в течение 24 часов.