如何在TradingView中用PineScript读取用户绘制的水平线价格
用PineScript读取用户手动绘制的水平线价格
PineScript提供了官方支持的input.line()函数,专门用于让用户手动绘制线条并在脚本中读取其价格参数,这是最专业的实现方式。
核心实现步骤
- 使用
input.line()创建可交互的线条输入项,用户能在图表上手动绘制、调整水平线 - 通过
line.get_y1()方法获取该线条的价格值(水平线的y1和y2坐标一致,取任意一个即可)
代码示例
//@version=5 indicator("读取手动绘制水平线价格", overlay=true) // 创建可手动绘制的水平线输入 myLine = input.line(title="手动绘制水平线", color=color.new(color.blue, 0), style=line.style_solid, width=2) // 获取水平线的价格 linePrice = line.get_y1(myLine) // 在图表上实时显示价格值 var label priceLabel = label.new(bar_index, linePrice, str.tostring(linePrice), color=color.yellow, textcolor=color.black) label.set_xy(priceLabel, bar_index, linePrice) label.set_text(priceLabel, str.tostring(linePrice, "%.2f"))
关键说明
- 运行脚本后,在设置面板的「Inputs」标签下找到「手动绘制水平线」,点击右侧画笔图标即可在图表上绘制/调整水平线
- 脚本会实时读取线条价格,并在对应位置显示格式化后的价格标签
- 注意:PineScript无法直接读取用户通过图表工具栏手动绘制的独立水平线对象(未绑定到脚本输入的线条),这是TradingView的安全限制,官方推荐使用
input.line()的方式实现交互读取
内容的提问来源于stack exchange,提问作者uxe2734
相关产品推荐
相关产品推荐

