You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pine Script图表状态栏的数值前添加前缀

解决Pine Script v5中为ATR百分比指标状态栏数值添加前缀的问题

问题原因

你之前尝试在plot()的title参数里拼接动态指标值,但title是脚本初始化时就固定的静态属性,不会随K线更新动态数值,所以没法实现状态栏显示带前缀的实时数值。

解决方案

我们可以用var label创建一个动态更新的标签,把它放在图表底部的状态栏位置,实时更新指标数值并加上自定义前缀。

修改后的完整代码

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bao1984

//@version=5
indicator("ATR百分比指标", "D", format=format.percent)

lengthofAtr = input.int(5, "ATR周期", minval=2, group = "周期设置", inline = "01")
lengthofWMA = input.int(10, "ATR加权WMA周期", minval=2, group = "周期设置", inline = "02")
noholiday   = input.bool(true, "启用节假日周期", group = "自定义设置", inline = "01")

atrInPercentage = ta.atr(lengthofAtr)/(hlcc4*0.01)
atrweightedWMA = (ta.wma(ta.atr(lengthofAtr), lengthofWMA))/(ohlc4*0.01)

// 绘制指标线
plot(atrInPercentage, title = "ATR百分比", color=color.teal, linewidth=1, trackprice=true)
plot(atrweightedWMA, title = "ATR加权WMA", color=color.gray, linewidth=1 )

// 创建动态更新的状态栏标签
var label statusLabel = label.new(bar_index, low, "", yloc=yloc.belowbar, style=label.style_none)
// 实时更新标签文本,添加自定义前缀
label.set_text(statusLabel, str.format("当前ATR百分比: {0:.2f}% | 加权WMA: {1:.2f}%", atrInPercentage*100, atrweightedWMA*100))
// 让标签跟随最新K线
label.set_x(statusLabel, bar_index)

代码说明

  • 用var label初始化一个仅创建一次的标签,设置位置在K线下方(对应状态栏区域),隐藏边框和背景
  • 用str.format()格式化文本,添加自定义前缀,同时保留两位小数让数值更清晰
  • 每次K线更新时,同步更新标签的文本和位置,确保显示最新的指标数值

内容的提问来源于stack exchange,提问作者Genshinn1999

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:12:34