如何在Pine Script策略中调用其他指标的输出数据
实现方法
方法1:TradingView在线直接引用(无需导出数据)
这是最便捷的实现方式,不需要获取闭源指标源码,操作步骤如下:
- 先将目标闭源指标添加到你要回测的品种图表上,确认指标在数据窗口的输出正常、无报错
- 编写你的策略脚本时,输入源按如下格式声明:
// Pine Script v5 示例代码 strategy("基于闭源指标的回测策略", overlay=true) // 声明指标源输入,默认先填close,后续可以在设置里切换 ind_source = input(close, title="闭源指标输出源")
- 保存策略并添加到图表后,打开策略的设置面板,找到刚才声明的「闭源指标输出源」下拉选项,此时列表里除了默认的high/low/close等标的数据,还会显示当前图表上所有已加载指标的输出线,直接选你要用到的闭源指标对应输出即可
- 后续策略逻辑直接调用
ind_source变量做信号判断即可,用法和内置的close等价格变量完全一致
方法2:离线回测(适配闭源指标禁止被引用的场景)
如果闭源指标的作者设置了禁止被其他脚本引用的权限,无法用方法1直接读取输出,就用离线回测方案:
- 在TradingView的K线页面导出当前周期的历史数据,导出时系统会自动将所有已加载指标的输出作为单独列加入CSV文件
- 将导出的CSV导入本地回测工具(比如Python的VectorBT、Backtrader,或者其他本地回测软件),直接读取闭源指标对应的列作为信号源完成回测即可
注意事项
- 用方法1做跨周期回测时,需要额外调用
request.security()函数对ind_source做周期转换,和处理价格变量的跨周期调用逻辑一致 - 部分闭源指标会限制导出时的输出数据精度,回测前需要先核对导出的指标值和图表上的展示值是否一致
内容的提问来源于stack exchange,提问作者hellf1nger
相关产品推荐
相关产品推荐

