237 浏览
0

我还以为代码出错,行情推送的有差异啊,主连和主力,要么就都是2611,要么就都是2610,搞出两种标准是什么情况

chaos 已回答的问题 18小时 前
0

天勤主力合约的切换规则是:某合约的成交量和持仓量均成为该品种最大后,在下一个交易日开盘后切换。我们核对了历史主力映射,`KQ.m@SHFE.ni` 在 2026-09-23 对应 `SHFE.ni2610`,2026-09-24 已切换为 `SHFE.ni2611`。

如果策略仍向 `ni2610` 报单,常见原因是程序启动时把 `quote.underlying_symbol` 赋值给了一个普通字符串变量。后续即使 `quote.underlying_symbol` 已切换,该字符串变量、已创建的 `TargetPosTask` 或其他下单任务也不会自动改成新合约。

建议持续调用 `wait_update()`,并在更新循环中监控 `quote.underlying_symbol` 是否发生变化。

检测到切换后,需要由策略明确处理旧合约持仓和委托,并为新合约重新创建交易任务。不要直接向主连代码下单,也不要只在启动时读取一次 `underlying_symbol`。如果仍能复现,请提供取值时间、`quote.datetime`、`quote.underlying_symbol` 以及最终委托合约代码,便于继续核对。

chaos 发表新评论 18小时 前

有其他问题欢迎加入官方Q群748265037一起交流

您正在查看1个答案中的1个,单击此处查看所有答案。