如何基于他人编写的Pine Script自定义指标实现指标相减?
在Pine Script中实现两个自定义指标的差值计算
你可以通过两种方式实现这个需求,具体取决于你是否能获取到自定义指标的源代码:
方法一:引用已加载的指标输出(无需源代码)
如果两个自定义指标已经加载到你的图表上,直接用Pine Script的indicator.get()函数获取它们的输出值再计算差值即可:
先确认两个指标的ID和输出名称:
- 右键点击图表上的指标线 → 「设置」,在弹出窗口顶部能看到指标的ID(通常是指标标题或短标题)
- 切换到「样式」标签,查看指标输出的名称(对应原指标代码中
plot()函数的title参数值)
新建指标并编写代码:
//@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
相关产品推荐
相关产品推荐

