pub fn trd_market_to_backend(trd_market: i32) -> Option<QuoteMktType>Expand description
v1.4.47 P1.2 修(eli 验收报告 §3 P2 / §14.3 根因):
FTAPI TrdMarket → 后端 QuoteMktType。
注意:TrdMarket 和 QotMarket 是两个不同的 enum,数值不相同:
- TrdMarket: HK=1, US=2, CN=3, HKCC=4, Futures=5, SG=6, AU=8, JP=15, MY=111, CA=112
- QotMarket: HK_Security=1, HK_Future=2, US_Security=11, CNSH=21, CNSZ=22, SG=31, JP=41, AU=51, MY=61, CA=71, FX=81
v1.4.93 BUG-001 fix (S level ship-blocker): 之前注释里 TrdMarket JP=7 / AU=8 /
CA=9 是错的 (那是 SecurityFirm 编号). 真实 Trd_Common.proto::TrdMarket 是
JP=15 / AU=8 / CA=112 / MY=111. 注释纠正以防日后 reader 又踩坑.
旧 bug:maybe_annotate_market_closed 把 TrdMarket=2(US)直接传给
qot_market_to_backend(期望 QotMarket),被识别为 QotMarket=2(HK_Future)
→ backend 返 HK_Future 状态而不是 US 状态 → hint 永远说“US 非交易时段“
(因为 HK_Future 在 HKT 23:00 确实 Closed)。修:独立 TrdMarket 映射函数。
对齐 CLAUDE.md 核心原则“与 C++ OpenD 零差异“:C++ Trd_Common.TrdMarket 和
Qot_Common.QotMarket 一直是独立 enum,我们之前混用是 bug。