如何在TradingView的Y轴刻度显示自定义价格标签(Pine Script)
在Pine Script中让自定义价格显示在Y轴刻度上
Pine Script目前没有直接添加自定义Y轴刻度的官方接口,但可以通过以下间接方式实现类似手动绘制水平线的Y轴显示效果:
方法1:使用plot()函数绘制固定价格线
通过循环数组中的价格,用plot()绘制每条水平线,TradingView的图表引擎会自动将这些价格纳入Y轴的刻度范围,视觉上就会和手动画线的Y轴显示一致。
示例代码:
//@version=5 indicator("自定义价格Y轴刻度", overlay=true) // 示例:存储价格的数组 var float[] priceLevels = array.new_float() if bar_index == 0 array.push(priceLevels, ta.close[10]) array.push(priceLevels, ta.close[20]) array.push(priceLevels, ta.close[30]) // 循环绘制每条价格线,让Y轴自动包含这些价格 for price in priceLevels plot(price, color=color.gray, linewidth=1, style=plot.style_line) // 保留你原有的line和label代码(可选) if bar_index == 0 for i = 0 to array.size(priceLevels)-1 price = array.get(priceLevels, i) line.new(bar_index, price, bar_index+100, price, color=color.blue) label.new(bar_index+100, price, str.tostring(price), color=color.blue, textcolor=color.white)
关键说明
plot()绘制的价格线会触发Y轴自动适配,当这些价格处于当前图表视图范围内时,会被纳入Y轴刻度的计算中,自动显示对应的刻度值。- 若需要强制Y轴始终包含这些价格范围,可以配合
indicator()的scale=scale.fixed参数,手动指定min_val和max_val,但这种方式会固定Y轴范围,灵活性较低。 - 目前无法手动添加独立的Y轴刻度项,所有刻度由TradingView引擎自动生成,但上述方法可以确保你的目标价格被纳入刻度计算逻辑。
内容的提问来源于stack exchange,提问作者Tom Chambers
相关产品推荐
相关产品推荐

