重绘
重绘是指指标在显示信号后又更改、移动或删除该信号。当脚本使用未收盘的 K线、未来数据,或在没有前视保护的情况下使用更高时间周期数据时,就会发生重绘。这样一来,历史图表看起来会比指标的实时表现更好。交易者通过 K线回放进行测试,并检查代码中是否使用了 barstate.isconfirmed 和 lookahead_off。
◆完整指南:不重绘指标:可靠信号完整指南

含义
当指标在历史 K线上显示的内容与它在实时显示的内容不同时,该指标就是在重绘。常见原因有:在尚未收盘的 K线上计算,导致信号随价格变动时隐时现;以前视方式请求更高时间周期数据,让当前 K线“看到”未来;以及基于枢轴的逻辑把标记画在枢轴 K线上,而不是画在枢轴得到确认的那根 K线上。
重绘会让回测失去意义——那些历史信号在它们看似出现的时刻其实根本不存在——这也是指标在截图上看起来完美、实盘却亏钱的最常见原因。重绘并不总是出于欺骗;许多重绘脚本只是编写得不够严谨。
解决方法是确认 K线逻辑:只在 K线收盘后评估信号,以关闭前视的方式请求更高时间周期数值,并将枢轴事件标注在确认 K线上。每个 Quantum Algo 脚本都是这样构建的,因此它们的历史信号与实时显示的信号一致。
如何在图表上识别
- 使用 TradingView 的 K线回放功能逐步前进;观察信号是否出现、移动或消失。
- 阅读源代码:信号是否以 `barstate.isconfirmed` 为条件,`request.security` 是否使用 `lookahead_off`,枢轴是否按右侧长度偏移。
- 将实时截取的截图与一天后的同一图表进行对比。
实战示例
某个“买/卖”脚本在历史上的每个底部都显示一个箭头。在 K线回放中,箭头在 14:00 出现,14:20 价格下探时消失,15:00 又在另一根 K线上重新出现——它在重绘,其所谓的业绩记录纯属虚构。
在图表上查看,深入阅读
常见问题
所有指标都会重绘吗?
不会。基于已收盘 K线且关闭前视的指标不会重绘;只有当前未收盘 K线的数值会更新,这是正常行为。
正在形成的 K线数值更新等同于重绘吗?
不是。数值在实时 K线中变动、并在收盘时确定是正常的;重绘是指过去已收盘 K线上的信号发生变化。
如何检查 TradingView 脚本是否重绘?
先用 K线回放,再查看源代码中的确认 K线条件和前视设置;我们的不重绘指南提供了完整的检查清单。
Quantum Algo 的指标会重绘吗?
不会。信号在确认 K线上评估,HTF 请求关闭前视,基于枢轴的绘图锚定在已确认的枢轴上。