同时间框架下request.security绘图与告警结果不一致问题咨询
request.security同时间框架重绘问题及告警/绘图不一致原因解析
同时间框架下request.security并非绝对无重绘风险
TradingView官方指出跨时间框架使用request.security会引发重绘,但同时间框架下也不是完全安全:
- 当调用其他交易对数据时,目标交易对的K线可能尚未完全收盘,此时获取的是临时数据,后续K线正式确认后数据会更新,导致指标值变动——这属于数据更新引发的伪重绘,和跨时间框架的重绘逻辑不同,但表现类似。
- 低流动性交易对的数据流推送延迟,也会导致临时获取的数据不准确,后续修正时引发指标值变化。
告警与绘图不一致的核心原因:交易对K线收盘不同步
你遇到的情况本质就是不同交易对K线收盘时间不同步:
- 高流动性品种(如BTCBUSD、AVAXBUSD)的K线会在周期结束时快速完成收盘并推送最终数据,但低流动性品种(如UNIBUSD)可能因成交清淡,需要延迟几秒甚至几十秒才会确认K线收盘,推送最终的收盘价和RSI值。
- 告警触发时,UNIBUSD的K线可能还未完成,此时计算出的最大值是BTCBUSD;等UNIBUSD的K线正式收盘后,图表指标会刷新获取最新RSI值,此时最大值变为UNIBUSD,导致绘图和之前的告警结果不一致。
- 低时间框架下K线周期更短,数据推送的时间差影响更明显,所以这种不一致现象会更频繁。
验证与优化建议
- 验证方法:在代码中添加日志输出,记录每个交易对RSI值的更新时间,对比告警触发时间和各交易对K线的实际收盘时间,就能明确是否是数据不同步导致。
- 优化思路:等待所有目标交易对的K线都确认收盘后再执行判断,比如结合
barstate.isconfirmed和多交易对的收盘状态校验,或给低流动性品种设置一定的延迟等待逻辑。
内容的提问来源于stack exchange,提问作者vwy089
相关产品推荐
相关产品推荐

