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

如何基于他人编写的Pine Script自定义指标实现指标相减?

在Pine Script中实现两个自定义指标的差值计算

你可以通过两种方式实现这个需求,具体取决于你是否能获取到自定义指标的源代码:

方法一:引用已加载的指标输出(无需源代码)

如果两个自定义指标已经加载到你的图表上,直接用Pine Script的indicator.get()函数获取它们的输出值再计算差值即可:

  1. 先确认两个指标的ID和输出名称:

    • 右键点击图表上的指标线 → 「设置」,在弹出窗口顶部能看到指标的ID(通常是指标标题或短标题)
    • 切换到「样式」标签,查看指标输出的名称(对应原指标代码中plot()函数的title参数值)
  2. 新建指标并编写代码:

//@version=5
indicator("指标差值计算", overlay=false)

// 替换成你实际的指标ID和输出名称
valA = indicator.get("指标A的ID", "指标A的输出名称")
valB = indicator.get("指标B的ID", "指标B的输出名称")

// 计算A减B的差值
diff = valA - valB

// 绘制差值曲线
plot(diff, title="A-B差值", color=color.blue, linewidth=2)

方法二:整合指标源代码(更稳定)

如果你能获取到两个自定义指标的源代码,直接把它们的核心计算逻辑复制到新指标里,直接计算差值:

//@version=5
indicator("指标差值计算", overlay=false)

// 复制第一个指标的核心代码,最终得到它的输出值indA
// --- 这里替换成指标A的实际代码 ---
indA = ta.sma(close, 20)
// --- 指标A代码结束 ---

// 复制第二个指标的核心代码,最终得到它的输出值indB
// --- 这里替换成指标B的实际代码 ---
indB = ta.sma(close, 50)
// --- 指标B代码结束 ---

// 计算差值
diff = indA - indB

// 绘制结果
plot(diff, title="A-B差值", color=color.red, linewidth=2)

注意事项

  • 使用方法一时,要确保图表上始终加载着那两个自定义指标,否则新指标会报错
  • 如果自定义指标有多个输出系列,一定要选对需要计算的那个输出名称
  • 方法二更独立,不需要依赖其他指标的加载状态,适合长期使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:25:31