移动平均线旁边的标签(文本)

Label (text) next to moving averages

我一直在查看文档,但只找到如何在蜡烛上方写标签等。

我想要实现的是在移动平均线旁边写一些文字。 例如,我有一个包含多个移动平均线的脚本,我想在每一行旁边加上它是什么 MA

像这样:

关于如何做到这一点的任何指示?

plot(show25SMA ? security(syminfo.tickerid, tf, sma(src, 25)) : na, title="25 SMA", color=color.white, linewidth=1)
SMA25 = sma(close, 25)

var SMA25Label = label.new(x = bar_index, y = SMA25, style = label.style_label_left, color = color.rgb(0, 0, 0, 100), textcolor = color.yellow, text = "SMA25")

label.set_xy(SMA25Label, x = bar_index, y = SMA25)

通过制作一个 var 声明的标签,我们创建了一次标签,然后我们使用 label.set_xy() 在每个柱更新时移动该标签以跟随 MA 的值。

使用 style = label.style_label_left 它将标签定位在右侧,因为该标签形状左侧的点用作标签 x,y 坐标的原点。

然后您可以通过 color.rgb(0, 0, 0, 100) 完全透明来将标签本身设置为不可见。

//@version=4
study("My Script", overlay = true)

ema1 = ema(close, 9)
ema2 = ema(close, 200)

plot(ema1, color = color.aqua)
plot(ema2, color = color.yellow)

distance = input(3, "Label distance")
r1_x = time + round(change(time)*distance)

r1_label = label.new(x=r1_x, y=ema1, text="...EMA", xloc=xloc.bar_time, yloc=yloc.price, color=color.new(color.aqua, 70), style=label.style_label_left, textcolor=color.white, size=size.normal)
label.delete(r1_label[1])

r2_label = label.new(x=r1_x, y=ema2, text=tostring(ema2, "#.#####"), xloc=xloc.bar_time, yloc=yloc.price, color=color.new(color.yellow, 70), style=label.style_label_left, textcolor=color.white, size=size.normal)
label.delete(r2_label[1])

您可以使用 time 公式在 x 轴上移动标签。 如果您只想要文本而不需要标签,您可以将透明度从 color.new(...., 70) 设置为 100,或者使用 style=label.style_none.