Skip to content
kobiakov.dev
ШІ та інструменти

Stoic Citadel — безпечна алго-торгівельна платформа

Асинхронна платформа 47,650-LOC Python для викликів MetaTrader 5 / prop-firm, побудована на закритому від відмов семирівневому механізмі ризиків — і достатньо чесному, щоб довести поза вибіркою, що його власна стратегія ще не має переваги.

Хронологія

2026

Роль

Провідний інженер

47.6k LOC

Codebase

484 · 80% gate

Tests

7 gates

Шари безпеки

Інженерний результат

7-рівень fail-closed risk engine · Тести 484

Чесний вплив

Персональні дослідження та розробки — демонстрація інфраструктури та інженерії ризиків, без підтверджених переваг (чесно повідомлено)

проблема

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

Виклик

Створіть торгову платформу, де безпека є властивістю архітектури — відсутність зупинки, застарілі дані чи заморожений бот ніколи не повинні зруйнувати обліковий запис — і де дослідження достатньо ретельні, щоб відхилити власну стратегію, коли перевага нереальна.

Рішення

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

Всередині платформи

Інженерні та чесні дослідження в цифрах

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

Архітектура

Відокремлений макро/мікроконвеєр. Стратегія ML публікує лише TRADE_INTENT через Redis; швидкий асинхронний сервіс посилює ризик і виконує — тому складна логіка моделі ніколи не може заблокувати угоду.

Зрозумілий ML

Рівень моделі регулюється, а не чорний ящик: ансамблі LightGBM/XGBoost мають мета-маркування (TripleBarrier), версії в реєстрі моделі 12 зі статусом життєвого циклу, відстежуються на дрейф — і пояснюються за допомогою SHAP, перш ніж щось буде довірено.

Оборона в глибину

Сім незалежних рівнів безпеки. Відмова в будь-якому з них зупиняє торгівлю, а останній виконується як окремий процес, який може зрівняти книгу — закриття безстоп-позицій через тикет — навіть якщо головний бот зависає.

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

Поза межами вибірки, за вирахуванням реалістичних валютних витрат, жоден інструмент не перевищує планку стійкості, і обидві валютні пари знаходяться нижче рівня беззбитковості. Попередній крок був створений, щоб спростувати стратегію — і це вдалося. Немає живого розгортання.

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

На кожному інструменті просадка залишається далеко за межами проп-фірми — продукт навмисно консервативного розміру та рідкісних входів, а не доказ перевіреної переваги.

Перевірено тестами

Автоматизовані тести 484 у всьому стеку, включаючи тести на основі властивостей (гіпотези) і тести на хаос, із шлюзом покриття 80% і блокуючим секретним скануванням, що впроваджується в CI.

Технічні особливості

Глибокий семирівневий захист: кожне замовлення проходить перевірку свіжості даних, ринкової безпеки, ризику, автоматичного вимикача, FTMO, визначення розміру та зовнішнього контролю капіталу.

За замовчуванням закрито через помилку: міст MT5 відмовляється працювати без ключа API; завантажувач викликає StaleDataError, а не торгує на застарілих свічках; захисна кришка не закривається

Незалежний перемикач мертвої людини закриває відкриті (без зупинки) позиції за квитком після пільгового періоду — підтверджено регресійними тестами

Відповідність FTMO як першокласний модуль: щоденні 4% / тижневі 8% / максимальні ліміти DD 9.5%, +10% припинення цільового прибутку, ≥4 торгових днів, безпечний стан для перезапуску

Прогнозне дослідження без витоків (очищення + ембарго, реалістичні витрати на валютних курсах), яке правильно прийшло до висновку, що НЕМАЄ перевіреної переваги — коефіцієнт прибутку нижче 1.0 поза вибіркою

Автоматизовані тести 484 (на основі властивостей + хаос) із шлюзом покриття 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 годин.