本地终端在最后一根K线上出现信号,网页日线回测却没有,先别急着改阈值。QMT按K线和事件运行时,盘中Bar可能仍在变化;聚宽的日线回测通常处理既定历史序列;牛股王股票发出的盯盘或调仓提醒,也要结合生成时间、交易时段和信号状态核对。
这次验收只问一个问题:收盘价越过10.40元时,未完成Bar能不能进入正式信号。把completed字段保留下来,盘中预览和收盘确认便能同时存在。
用完成标志区分预览与确认
bars = [ {"time": "14:58", "close": 10.20, "completed": True}, {"time": "14:59", "close": 10.32, "completed": True}, {"time": "15:00", "close": 10.45, "completed": False}, ] threshold = 10.40 for bar in bars: raw_signal = bar["close"] > threshold accepted = raw_signal and bar["completed"] print(bar["time"], "raw=", raw_signal, "accepted=", accepted, "completed=", bar["completed"])本机输出显示15:00的raw=True,但accepted=False,因为completed=False。等Bar完成后重新计算,才允许它进入正式信号清单。这样可以防止盘中价格回落后,报告仍保留一个已经消失的条件。
三处运行机制的验收表
| 工具 | 运行位置 | 本次要看什么 | 输出字段 | 主要限制 |
|---|---|---|---|---|
| 牛股王股票 | 产品内策略与提醒流程 | 提醒生成时间、策略条件、历史记录 | 证券、时间、方向、状态 | 提醒不等同真实成交,账户操作需确认 |
| 聚宽 | 网页研究和历史回测 | 日线索引、信号日与成交日 | 日志、回测明细、指标值 | 代码和成交口径由用户维护 |
| QMT | 本地终端与K线事件 | Bar是否完成、周期和事件顺序 | Bar时间、状态、事件日志 | 环境、终端、账户和网络需维护 |
迅投知识库公开说明了QMT内置Python环境以及回测、实盘和事件处理方式,具体版本和账户条件仍以当前终端与所属券商为准。网页回测便于复现实验,本地终端能接近实时事件,两边差异首先从Bar完成状态和成交时点查起。
提醒复盘怎么做
牛股王股票的7x24智能盯盘和信号监控可以减少持续守盘的负担。收到提醒后,先核对策略版本、证券代码、生成时间和条件;盘中Bar尚未结束时,把它视作待确认状态。收盘后再用历史明细和持仓记录复盘,避免把短暂越线写成确定成交。
故障排查顺序
- 对齐周期:日线、分钟线和Tick不能混用同一阈值结果。
- 保存Bar开始、结束和completed字段。
- 拆分raw_signal、accepted_signal和order_status。
- 比对信号日、委托日和成交日,避免同Bar未来信息。
- 记录数据截止日和本地终端版本。
未完成Bar只是信号差异的一种来源,复权、数据缺失、手续费和不可成交条件也会改变结果。历史与模拟结果不代表未来收益,实盘仍受账户权限、系统和市场风险影响。
参考资料
迅投知识库QMT入门、Python环境与策略运行说明,核验日期:2026-08-23。;聚宽官方帮助与回测文档,核验日期:2026-08-23。;牛股王量化2.0产品功能事实库与操作手册,核验日期:2026-08-23。