Stoic Citadel — Надёжное исполнение на Python/MT5
Личная инженерная разработка для интеграции с брокером: обработка ордеров, сохранение состояния и проверки риска. Кейс показывает работу с отказами без обещаний торговой прибыли.
Посмотреть материалыСроки
2026
Роль
Разработчик
R&D
Тип проекта
Paper
Режим исполнения
SQLite
Журнал ордеров
Инженерный результат
Ордер → постоянный журнал → восстановление
Честный итог
Ограниченный paper-пилот с явными состояниями ордеров, проверками риска и правилами восстановления, постоянным журналом и независимым мониторингом.
Материалы проекта
Что сделано и что можно посмотреть
- Объём работы
- Нативная архитектура исполнения Python/MT5, постоянный журнал ордеров, проверки риска и независимый watchdog.
- Что проверено
- Описание архитектуры опирается на репозиторий и границы локальных регрессионных проверок безопасности. Схема иллюстрирует инженерную реализацию.
- Границы доказательств
- Новая приёмка у брокера для кейса не выполнялась. Граница пилота — paper-режим и отключённые входы. Торговое преимущество, полный контролируемый цикл ордера и готовность к production не заявляются.
Инженерный кейс · личный R&D
Нативный MT5: исполнение и восстановление
Текущая архитектура для контролируемого paper-пилота. В центре — жизненный цикл ордера и обработка сбоев; схема объясняет реализованные компоненты.
Нативный путь исполнения
Paper-режим · входы отключеныСтратегия
Сигнал по закрытым свечам становится версионированным намерением с ограниченным сроком действия.
Безопасность и риск
Стоп-лосс, свежесть котировок, лимиты объёма и сохраняемые остановки ограничивают допуск.
Исполнитель с привязкой к счёту
Один владелец жизненного цикла проверяет идентичность счёта и сверяет ответы брокера.
MetaTrader 5
Защищённый мост образует границу брокера. В paper-режиме ордера не отправляются.
Журнал ордеров SQLite
Сохранённые намерения и контрольные точки помогают сверке после перезапуска. Неизвестный результат не вызывает слепую повторную отправку.
Независимый контроллер
Отдельный процесс проверяет открытые позиции и heartbeat; защитное закрытие привязано к конкретному тикету.
Иллюстрация архитектуры. На этой странице нет подключения к брокеру или управления торговлей.
Проблема
Подтверждение брокера может потеряться, а процесс — перезапуститься при открытой позиции. Восстановление не должно вслепую отправлять тот же ордер повторно.
Вызов
Сохранить одного владельца жизненного цикла ордера, проверять допуск перед записью у брокера и сверять неопределённые результаты.
Решение
Я сузил нативный MT5-пилот до исполнителя с привязкой к аккаунту, аутентифицированного моста, обязательного журнала SQLite и независимого watchdog. Redis сохраняет состояние риска и heartbeat.
Технические особенности
Один владелец жизненного цикла нативного MT5-ордера; прежнее Freqtrade/ML-исследование отделено.
Обязательный SQLite-журнал и сверка с брокером после перезапуска или потери ответа.
Проверки стоп-лосса, свежести котировок, ограничений объёма и идентичности счёта до записи брокеру.
Независимый контроллер и защитное закрытие конкретного тикета позиции.
Локальные регрессии для отказов, неизвестных результатов, сохраняемых остановок и границ восстановления.
По умолчанию paper-режим и отключённые входы; отрицательное walk-forward-исследование сохранено без обещания прибыли.
Архитектура системы
Python · AsyncIO (native pilot lifecycle)
MetaTrader 5 · account-bound HTTP bridge
FastAPI · authenticated broker boundary
SQLite (mandatory order journal and restart reconciliation)
Redis (risk state and heartbeat)
Independent equity watchdog
Pytest · Hypothesis (local safety regressions)
Docker (persistent local Redis)
Ключевые технологии
Похожие проекты
Нужна Python-система с понятной обработкой отказов?
Я разрабатываю API-интеграции и бэкенды с явными состояниями, полезными журналами и правилами восстановления. Начинаем с одной ограниченной интеграции и согласуем, как её проверить.