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

Stoic Citadel — Надёжное исполнение на Python/MT5

Личная инженерная разработка для интеграции с брокером: обработка ордеров, сохранение состояния и проверки риска. Кейс показывает работу с отказами без обещаний торговой прибыли.

Посмотреть материалы

Сроки

2026

Роль

Разработчик

R&D

Тип проекта

Paper

Режим исполнения

SQLite

Журнал ордеров

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

Ордер → постоянный журнал → восстановление

Честный итог

Ограниченный paper-пилот с явными состояниями ордеров, проверками риска и правилами восстановления, постоянным журналом и независимым мониторингом.

Материалы проекта

Что сделано и что можно посмотреть

Личная разработка
Объём работы
Нативная архитектура исполнения Python/MT5, постоянный журнал ордеров, проверки риска и независимый watchdog.
Что проверено
Описание архитектуры опирается на репозиторий и границы локальных регрессионных проверок безопасности. Схема иллюстрирует инженерную реализацию.
Границы доказательств
Новая приёмка у брокера для кейса не выполнялась. Граница пилота — paper-режим и отключённые входы. Торговое преимущество, полный контролируемый цикл ордера и готовность к production не заявляются.

Инженерный кейс · личный R&D

Нативный MT5: исполнение и восстановление

Текущая архитектура для контролируемого paper-пилота. В центре — жизненный цикл ордера и обработка сбоев; схема объясняет реализованные компоненты.

Нативный путь исполнения

Paper-режим · входы отключены
  1. Стратегия

    Сигнал по закрытым свечам становится версионированным намерением с ограниченным сроком действия.

  2. Безопасность и риск

    Стоп-лосс, свежесть котировок, лимиты объёма и сохраняемые остановки ограничивают допуск.

  3. Исполнитель с привязкой к счёту

    Один владелец жизненного цикла проверяет идентичность счёта и сверяет ответы брокера.

  4. 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)

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

PythonMetaTrader 5FastAPISQLiteRedis
Share:

Нужна Python-система с понятной обработкой отказов?

Я разрабатываю API-интеграции и бэкенды с явными состояниями, полезными журналами и правилами восстановления. Начинаем с одной ограниченной интеграции и согласуем, как её проверить.