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

回测时如何在Pine Script代码中调用公开或自定义指标

Pine Script 调用自定义/公共库指标实现方法

调用自行创建的自定义指标

Pine Script v5及以上版本支持通过export+import的方式复用自己写的指标逻辑,操作步骤如下:

  1. 编写自定义指标时,给需要对外暴露的函数加上export关键字,示例:
//@version=5
indicator("我的自定义RSI", shorttitle="MyRSI", overlay=false)
// 加export关键字声明该函数可被外部代码调用
export myRsi(series float source, int length) =>
    // 这里写你自己的指标逻辑
    ta.rsi(source, length) * 0.9 + ta.sma(source, length) * 0.1

// 指标本身的绘图逻辑(可选,仅用于指标单独展示时使用)
plot(myRsi(close, 14), color=color.blue)
  1. 写完指标后点击发布,选择「发布为库」,权限可设为私有(仅自己可用)或公开。
  2. 在你的策略代码中导入该库,即可像调用内置函数一样使用导出的方法,示例:
//@version=5
strategy("回测策略", overlay=true)
// 导入格式:import 你的用户名/库名/版本号 as 自定义别名
import testUser/MyRSILib/1 as myLib

// 调用自定义指标函数
customRsi = myLib.myRsi(close, 14)

// 策略逻辑示例
if customRsi < 30
    strategy.entry("多单", strategy.long)
if customRsi > 70
    strategy.close("多单")

调用TradingView公共库指标

公共库的调用逻辑和自定义私有库完全一致:

  • 先确认你要使用的指标已经被作者发布为公共库,且公开了导出的函数名和参数说明
  • 直接用import语句导入对应公共库,即可调用导出的函数,示例:
//@version=5
strategy("公共库MACD策略", overlay=true)
// 导入公共库,格式为:import 库作者用户名/库名/版本号 as 别名
import publicUser/CustomMACD/2 as pubMacd

// 调用公共库导出的MACD函数,返回值对应函数定义的输出
[macdLine, signalLine, hist] = pubMacd.getMacd(close, 12, 26, 9)

// 策略逻辑
if macdLine > signalLine and hist > 0
    strategy.entry("多", strategy.long)
if macdLine < signalLine and hist < 0
    strategy.close("多")

补充说明

  • 仅Pine Script v5及以上版本支持import/export语法,低版本用户可以直接把目标指标的源代码复制到你的策略代码中,直接调用其内部函数即可
  • 如果公共库作者没有导出可调用的函数,也可以用上述复制源码的方式实现调用
  • 私有库仅你自己账号下的代码可导入调用,公开库所有TradingView用户都可使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:36:04