Pine Script 200周期SMA绘制异常问题咨询
问题排查与解决
可能原因及修复方案:
- 指标时间框架被篡改:打开指标设置面板,确认
timeframe参数是否被手动修改为非空值(比如误设为日线)。你代码中timeframe=""的作用是让指标继承当前5分钟图表的时间框架,但如果手动修改该参数,指标会先在其他时间框架计算SMA,再映射到5分钟图,导致绘制线条与直接基于5分钟数据计算的内置SMA不符。 - 跳空处理逻辑差异:代码中
timeframe_gaps=true会保留时间框架内的跳空缺口,而TradingView内置SMA的缺口处理逻辑可能不同。尝试将该参数改为false,查看线条是否能与内置SMA对齐。 - 视觉错位而非计算错误:虽然你确认计算数值正确,但图表加载的初始数据范围可能导致视觉上的错位。放大图表并拉取更早的K线,查看完整数据范围内线条是否与计算值一致。
- 其他指标干扰显示:检查图表上是否有其他叠加指标(比如其他MA线),是否存在覆盖或偏移红色SMA线的情况。
验证小技巧:
可以添加一行代码,将计算出的SMA数值标记在K线上,直接与内置SMA的数值对比,确认是否为单纯的显示问题:
//@version=5 indicator(title="MA Banknifty", shorttitle="MY SMA", overlay=true, timeframe="", timeframe_gaps=true) length = 200 source = close sma_200 = ta.sma(source, length) plot(sma_200, color=color.rgb(243, 33, 33), linewidth=2, title="SMA(200)") plotchar(sma_200, char="•", location=location.belowbar, color=color.red) // 标记自定义SMA的数值点
内容的提问来源于stack exchange,提问作者Bhasker
相关产品推荐
相关产品推荐

