Skip to main content
Glama
peppaboar95

workbuddy-qmt-bridge

by peppaboar95

WorkBuddy-QMT Bridge

Собственный мост между WorkBuddy/MCP и встроенным Python в QMT, работающий по принципу «отказ при сбое» (fail-closed).

Важное предупреждение о рисках

Данный проект способен отправлять заявки на симуляционный или реальный торговый счёт и не является инвестиционной рекомендацией, а также не гарантирует прибыль. Режим по умолчанию — OBSERVE_ONLY. Любое развёртывание на реальные средства должно сначала пройти приёмочные испытания на целевой версии QMT, у брокерского шлюза, по полям счетов, отчётам об исполнении заявок, отмене заявок и процедурам восстановления. Примеры сопоставлений в репозитории нельзя использовать напрямую на реальном рынке.

Текущая версия

  • Версия: 0.3.0

  • Этап: завершена программная панель управления P1 LIMITED_AUTO

  • Инструменты MCP: 29

  • Python: для Worker требуется версия 3.10 или выше

  • Адаптер QMT: совместим со встроенной средой Python 3.6 в QMT

  • Границы выполнения: привязка только к 127.0.0.1, зависимость от xtquant отсутствует

Домашняя страница проекта: https://github.com/peppaboar95/workbuddy-qmt-bridge

«Завершение P1» означает лишь, что структурная авторизация, резервирование лимитов, конечный автомат, автоматический выключатель и повторная проверка адаптера реализованы на стороне ПО и прошли локальные тесты. Это не означает, что какой-либо реальный денежный шлюз прошёл приёмку.

Related MCP server: IBKR MCP Server

Четыре режима

Режим

Возможен ли вызов отправки заявок в QMT

Требования к авторизации

OBSERVE_ONLY

Нет

Нет; безопасный режим по умолчанию

SIM_SIGNAL

Да, только на подтверждённый вручную симуляционный шлюз

Переключение режима на локальной машине, подпись сопоставления и прохождение контроля рисков

MANUAL_LIVE

Да

Переключение режима на локальной машине; утверждение каждой заявки или временная авторизация счёта на 1–60 минут

LIMITED_AUTO

Да, повторная отправка заявок в пределах разрешённого периода

Переключение режима на локальной машине; структурная лицензия стратегии P1 на тот же торговый день

SIM_SIGNAL — это не «только генерация сигналов без отправки заявок». При ошибочном подключении к реальному денежному шлюзу он всё равно может вызвать passorder, поэтому необходимо вручную проверять счёт и шлюз.

Безопасность конструкции

  • Двухэтапная фиксация preview_trade и submit_trade_intent;

  • При отправке повторно выполняются все жёсткие проверки рисков и сравнивается отпечаток решения о рисках;

  • Двусторонняя проверка Worker и адаптера QMT: счёт, режим, подпись, TTL и поколение авторизации;

  • Лицензия LIMITED_AUTO привязана к счёту, инструменту, действию, версии стратегии/правил, торговому окну, типу заявки и многоуровневым лимитам;

  • Атомарное резервирование лимитов: ограничение на одну заявку, совокупную сумму, количество заявок, частоту, параллелизм, позиционный риск, просадку и последовательные сбои;

  • Состояния PRE_SUBMIT или SUBMIT_CALLED не отправляются повторно автоматически; при неизвестном результате остаётся SUBMIT_UNKNOWN;

  • После срабатывания автоматического выключателя восстановление возможно только на локальной машине, с безопасным возвратом в OBSERVE_ONLY;

  • Автоматическая торговля с кредитным плечом по умолчанию отключена; новые кредитные обязательства требуют дополнительного явного разрешения и приёмочных испытаний на месте.

Установка

Обычным пользователям рекомендуется сначала загрузить установочный ZIP, отдельный хэш ZIP и общий список хэшей из GitHub Releases:

  • workbuddy-qmt-bridge-0.3.0.zip

  • workbuddy-qmt-bridge-0.3.0.zip.sha256

  • SHA256SUMS.txt

После проверки хэшей распакуйте ZIP и дважды щёлкните «首次安装与配置.cmd». При необходимости ручной установки wheel загрузите:

  • workbuddy_qmt_bridge-0.3.0-py3-none-any.whl

Windows PowerShell:

python -m pip install .\workbuddy_qmt_bridge-0.3.0-py3-none-any.whl
workbuddy-qmt setup

Разработка и установка из исходного кода:

git clone https://github.com/peppaboar95/workbuddy-qmt-bridge.git
cd workbuddy-qmt-bridge
python -m pip install -e .

От режима «только чтение» к торговле

  1. Запустите setup для создания локальной конфигурации, ключей, токена Worker и изолированных каталогов счетов;

  2. Разверните сгенерированные qmt_adapter.py и qmt_adapter.json в соответствующие экземпляры стратегий QMT;

  3. Оставайтесь в OBSERVE_ONLY и завершите сбор полей heartbeat, счёта, позиций, заявок, сделок и рыночных данных;

  4. На целевом симуляционном шлюзе завершите проверку сопоставления P0 и подпишите Profile;

  5. В SIM_SIGNAL завершите сверку минимального количества, отправки заявок, исполнения, отмены, перезапуска и восстановления при неизвестном результате;

  6. Для сценариев с реальными средствами сначала проведите приёмку малых сумм в MANUAL_LIVE;

  7. Создавайте лицензию LIMITED_AUTO P1 только при отсутствии блокирующих проблем в readiness и чётких границах стратегии.

Временная авторизация MANUAL_LIVE на 1–60 минут освобождает только от ручного утверждения каждой заявки; каждая заявка по-прежнему должна пройти повторную синхронизацию, предпросмотр и жёсткие проверки рисков. Лицензия LIMITED_AUTO действует максимум 720 минут, но не может пересекать торговый день и ограничена полными границами стратегии и совокупным бюджетом.

Процесс LIMITED_AUTO P1

  1. На локальной машине переключите Worker и соответствующий адаптер в LIMITED_AUTO;

  2. Вызовите check_limited_auto_readiness и убедитесь, что очередь, снимок, heartbeat, dead-letter и SUBMIT_UNKNOWN не имеют блокирующих проблем;

  3. Покажите оператору полную политику лицензии и после явного подтверждения вызовите authorize_limited_auto;

  4. Автоматические задачи продолжают выполнять синхронизацию, предпросмотр и отправку для каждой сделки;

  5. Используйте get_limited_auto_status для наблюдения за оставшимся временем, количеством заявок, бюджетом сумм и причинами приостановки;

  6. При срабатывании триггеров здоровья, просадки или последовательных сбоев происходит автоматическая приостановка; после восстановления условий возобновление возможно только через явный вызов resume_limited_auto;

  7. По завершении вызовите revoke_limited_auto. Отзыв лицензии не отменяет автоматически уже отправленные на брокерской стороне заявки.

Проверено и не проверено

Локальные инкрементальные тесты данной версии охватывают:

  • миграцию схемы с v1 на v2;

  • структурную лицензию P1;

  • предпросмотр, отправку и атомарное занятие лимитов;

  • привязку версии стратегии;

  • приостановку, возобновление и ротацию поколений авторизации;

  • повторную проверку защиты адаптера от подделки.

Всё ещё требуется выполнить в целевой среде:

  • матрицу возможностей реального QMT и брокера;

  • отчёты об исполнении заявок, сделках, примечаниях и отмене на реальном денежном шлюзе;

  • отработку Windows ACL, резервного копирования, восстановления и SUBMIT_UNKNOWN;

  • шесть типов действий по кредитному счёту, размерности полей, квалификацию, лимиты и правила обязательств;

  • приёмочные испытания малых сумм вручную на реальном рынке.

Данные и конфиденциальность

runtime, база данных, WAL/SHM, журналы, очереди, журналы исполнения, подписанные Profile, ключи, токены Worker, номера счетов и локальная конфигурация MCP не должны загружаться в репозиторий или прикрепляться к Issue. Диагностические материалы должны быть предварительно деидентифицированы.

Документация

  • Релиз и установка: docs/README-RELEASE.zh-CN.md

  • Описание проверки P1: docs/P1-VALIDATION.zh-CN.md

  • Примеры конфигурации: examples/README.md

  • Политика безопасности: SECURITY.md

Лицензия

Данный проект распространяется под лицензией MIT License, подробности см. в LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A portable MCP server that exposes Lighter trading to any MCP-capable agent with safety-first features like mode-based gating, two-step confirmations, and audit logging.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides an MCP server for Interactive Brokers trading operations, managing an IBKR Gateway Docker container and exposing trading functionality through REST API and MCP endpoints.
    6
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI trading agents to trade safely through any broker MCP server by recording every tool call and reasoning in a local blackbox, while enforing configurable guardrails such as symbol whitelists, order size caps, rate limits, and daily-loss circuit breakers before orders reach the exchange.
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables local, fail-closed futures trading between WorkBuddy/MCP and InfiniTrader PythonGO v2, exposing 31 MCP tools for market and account queries, trade previews, and order submission while enforcing hard risk controls and an observe-only default.
    -