Commit Graph

2 Commits

Author SHA1 Message Date
claude_dev dfa72e1440 fix(trader): cancel_order 补 symbol/exchange
vnpy 4.4.0 的 CancelRequest 必填 (orderid,symbol,exchange),原代码只传
orderid → TypeError → 撤单从不工作。改为从 _exec.orders 缓存查 OrderData
拿 symbol/exchange 一起传。E2E 实证 {ok:True} 无 TypeError(盘后 miniQMT
非交易时段不实际撤单,是另一回事)。
2026-07-15 21:28:19 +08:00
claude_dev 992f53d4db feat(trader): Phase2—vnpy_qmt 进程内执行客户端,替 HTTP bridge
- qmt_gateway_client.py: QmtGatewayClient(同 BridgeClient 接口 place_order/
  get_account/get_positions/get_orders/cancel_order),底层进程内 QmtGateway 直连
  miniQMT(单例 _QmtExec: EventEngine+QmtGateway+账本缓存,懒连接复用)。
  实证:连真实 miniQMT 读账户(9997081)+持仓(600000/000001),place_order 落单 QMT.xxxxx#1。
- live_orchestrator.py: _make_exec_client 工厂,SANGUO_USE_QMT_GATEWAY=1 → QmtGatewayClient
  (bridge 已退),否则 HTTP bridge 兼容。shadow + reconcile 两处替换。

同机部署后 HTTP 跳无必要,brain→vnpy_qmt→xtquant→miniQMT 零跳直链。
bridge+sanguo-caddy schtasks 可 disable(vnpy_qmt 路径已实证)。
2026-07-15 18:57:20 +08:00