TradingView Pine Script如何引用其他指标的数值与颜色属性
Pine Script调用已购TradingView付费指标的实现方法
首先明确核心限制:TradingView平台对闭源付费指标做了版权保护,未获得作者授权开放外部调用权限的闭源指标,不存在任何Pine Script层面的直接调用方法,所有声称可以破解调用的方案要么有极大误差,要么违反平台用户协议。
可调用场景的具体操作
场景1:付费指标作者开放了「脚本输出对外暴露」权限
这类指标是目前闭源付费指标里唯一支持Pine Script跨脚本调用的类型,操作步骤如下:
- 先将你需要调用的目标付费指标加载到当前图表窗格,确认指标参数设置正确、绘图显示正常,不要最小化或隐藏该指标窗格。
- 新建自定义Pine Script脚本,使用v5版本的
request.indicator函数直接读取指标的输出数值、暴露的属性即可。
示例代码://@version=5 indicator("自定义调用付费指标脚本", overlay=false) // 第一个参数填付费指标在图表上的完整显示名称,第二个参数填要读取的输出项名称 osc_main = request.indicator("XX付费震荡指标", "主线") osc_signal = request.indicator("XX付费震荡指标", "信号线") // 如果作者暴露了颜色输出属性,直接对应读取即可,未暴露的话可根据原指标的颜色规则自行复现 main_color = osc_main > osc_signal ? color.rgb(38,166,154) : color.rgb(239,83,80) // 输出验证 plot(osc_main, color=main_color, linewidth=2) plot(osc_signal, color=color.orange, linewidth=1) - 注意事项:
- 填写的指标名称、输出项名称必须和指标上显示的完全一致,大小写、特殊符号不能错,否则会返回空值(na)
- 跨周期调用时直接在
request.indicator第三个参数传入周期字符串即可,比如传入"D"读取日线级别指标值 - 未开放对外暴露权限的指标,用这个函数只会返回空值,没有绕过方案
场景2:已购付费指标为开源可见源码类型
这类指标没有调用限制,操作最简单:
- 打开已购指标的源码页面,复制核心计算逻辑、颜色定义相关的代码段,直接整合到你自己的Pine Script脚本中即可
- 这种方式可以100%获取指标的所有数值、颜色、阈值判断逻辑,不需要依赖图表上是否加载原指标,仅需注意不要擅自传播、商用原作者的付费源码,个人使用不受限制。
常见无效方案说明
- 不要尝试通过读取图表像素坐标、模拟点击等方式爬取指标数值,这类方法获取的数据精度极差,K线缩放、窗口大小变化都会导致数据错误,完全无法用于回测或实盘
- 不要使用第三方破解、反编译的指标代码,这类代码往往被植入恶意逻辑,会导致交易策略出现不可预期的亏损,同时违反TradingView平台规则会导致账号封禁。
内容的提问来源于stack exchange,提问作者Christophe
相关产品推荐
相关产品推荐

