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

如何在Pine Script 5中仅在阈值外显示交叉三角形Plotshape?

Pine Script 5 实现交叉点在阴影区域外时显示三角形标记

核心逻辑拆解

要实现仅在黄线/蓝线于阴影区域外交叉时显示三角形,需要完成三个关键步骤:

  • 定义阴影区域的上下边界
  • 识别黄线与蓝线的交叉信号(金叉/死叉)
  • 叠加「交叉点位于阴影区域外」的条件,控制标记显示

代码实现示例

下面是完整的可运行代码,你可以根据自己的实际指标替换黄线、蓝线和阴影边界的计算逻辑:

//@version=5
indicator("Cross Outside Shadow", overlay=true)

// 替换为你实际使用的黄线、蓝线计算逻辑
yellowLine = ta.ema(close, 10) // 示例黄线:10周期EMA
blueLine = ta.ema(close, 20)  // 示例蓝线:20周期EMA

// 替换为你实际的阴影区域上下边界(示例用布林带作为阴影范围)
[_, upperBand, lowerBand] = ta.bb(close, 20, 2)
// 绘制阴影区域(可选,仅用于可视化)
bgcolor(color.new(color.gray, 90), title="Shadow Area")

// 1. 识别交叉信号
goldenCross = ta.crossover(yellowLine, blueLine) // 黄线上穿蓝线(金叉)
deathCross = ta.crossunder(yellowLine, blueLine) // 黄线下穿蓝线(死叉)

// 2. 筛选阴影区域外的交叉
// 金叉时,线在阴影上边界之外
goldenCrossOutside = goldenCross and yellowLine > upperBand
// 死叉时,线在阴影下边界之外
deathCrossOutside = deathCross and yellowLine < lowerBand

// 3. 绘制三角形标记:仅满足条件时显示
plotshape(goldenCrossOutside, title="Golden Cross (Outside)", 
     location=location.belowbar, color=color.green, 
     style=shape.triangleup, size=size.small)
plotshape(deathCrossOutside, title="Death Cross (Outside)", 
     location=location.abovebar, color=color.red, 
     style=shape.triangledown, size=size.small)

// 绘制基础线条(可选)
plot(yellowLine, color=color.yellow, title="Yellow Line")
plot(blueLine, color=color.blue, title="Blue Line")
plot(upperBand, color=color.gray, title="Upper Band")
plot(lowerBand, color=color.gray, title="Lower Band")

关键细节说明

  • 边界判断:因为交叉发生时黄线和蓝线的数值非常接近,所以只需判断其中一条线是否超出阴影边界即可(示例中用黄线)。
  • 自定义替换:你需要把代码里的yellowLine、blueLine、upperBand、lowerBand替换为你自己指标中的对应变量。
  • 显示控制:plotshape的第一个参数是布尔值,只有当该值为true时,标记才会被绘制,这是实现条件显示的核心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:07:20