workbuddy-qmt-bridge
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 .От режима «только чтение» к торговле
Запустите setup для создания локальной конфигурации, ключей, токена Worker и изолированных каталогов счетов;
Разверните сгенерированные qmt_adapter.py и qmt_adapter.json в соответствующие экземпляры стратегий QMT;
Оставайтесь в OBSERVE_ONLY и завершите сбор полей heartbeat, счёта, позиций, заявок, сделок и рыночных данных;
На целевом симуляционном шлюзе завершите проверку сопоставления P0 и подпишите Profile;
В SIM_SIGNAL завершите сверку минимального количества, отправки заявок, исполнения, отмены, перезапуска и восстановления при неизвестном результате;
Для сценариев с реальными средствами сначала проведите приёмку малых сумм в MANUAL_LIVE;
Создавайте лицензию LIMITED_AUTO P1 только при отсутствии блокирующих проблем в readiness и чётких границах стратегии.
Временная авторизация MANUAL_LIVE на 1–60 минут освобождает только от ручного утверждения каждой заявки; каждая заявка по-прежнему должна пройти повторную синхронизацию, предпросмотр и жёсткие проверки рисков. Лицензия LIMITED_AUTO действует максимум 720 минут, но не может пересекать торговый день и ограничена полными границами стратегии и совокупным бюджетом.
Процесс LIMITED_AUTO P1
На локальной машине переключите Worker и соответствующий адаптер в LIMITED_AUTO;
Вызовите check_limited_auto_readiness и убедитесь, что очередь, снимок, heartbeat, dead-letter и SUBMIT_UNKNOWN не имеют блокирующих проблем;
Покажите оператору полную политику лицензии и после явного подтверждения вызовите authorize_limited_auto;
Автоматические задачи продолжают выполнять синхронизацию, предпросмотр и отправку для каждой сделки;
Используйте get_limited_auto_status для наблюдения за оставшимся временем, количеством заявок, бюджетом сумм и причинами приостановки;
При срабатывании триггеров здоровья, просадки или последовательных сбоев происходит автоматическая приостановка; после восстановления условий возобновление возможно только через явный вызов resume_limited_auto;
По завершении вызовите 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.
This server cannot be deployed
Maintenance
Related MCP Connectors
- FensoryOAuthcom.fensory
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
Connect any MCP client to MetaTrader 4/5 to read prices, manage positions, and place trades.
Hosted MCP server for MT4 and MT5: read accounts, prices and candles, and place or close orders.
Live prices, perps, prediction markets and a paper trading desk over one MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA 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.2MIT
- FlicenseNot gradedqualityDmaintenanceProvides 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-
- AlicenseNot gradedqualityCmaintenanceEnables 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
- FlicenseNot gradedqualityAmaintenanceEnables 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.-