如何在移动平均线最后可见值旁添加可随图表左移跟随的标签?
解决移动平均线标签跟随问题
你的代码问题在于仅在当前最新K线创建标签,拖动图表左移时,可视区域最右侧的K线发生变化,但标签的Y轴位置未同步更新到对应K线的均线值。
修改后的代码如下:
//@version=5 indicator("My script", overlay = true) ema = ta.sma(close, 200) // 用var初始化标签,仅创建一次 var _text = label.new(na, na, "media", style = label.style_label_right, color = color.rgb(36, 145, 63), textcolor = color.white) // 获取可视区域最右侧的K线索引 right_bar_idx = chart.right_visible_bar_index // 更新标签位置到对应K线的时间和均线值 label.set_xy(_text, time[bar_index - right_bar_idx], ema[bar_index - right_bar_idx]) plot(ema)
关键修改点:
- 用
var声明标签,确保只初始化一次,避免重复创建和删除的额外开销。 - 通过
chart.right_visible_bar_index获取当前可视区域最右侧的K线索引,计算出该K线对应的时间和均线值,再用label.set_xy实时更新标签位置,拖动图表时标签会自动跟随到可视区域最右侧的均线位置。
内容的提问来源于stack exchange,提问作者Eduardo Moreira
相关产品推荐
相关产品推荐

