求助:基于Pine Script实现Braid Filter颜色切换预警
Pine Script Braid Filter 颜色转换预警实现
直接上可运行的代码方案,把以下逻辑整合到你的指标中即可:
//@version=5 indicator("Braid Filter with Alerts", overlay=true) // 替换成你自己的ma01、ma02、dif、filter计算逻辑 ma01 = ta.sma(close, 50) ma02 = ta.sma(close, 200) dif = ta.abs(ma01 - ma02) filter = ta.sma(dif, 10) // 计算当前K线的Braid颜色 BraidColor = ma01 > ma02 and dif > filter ? color.green : ma02 > ma01 and dif > filter ? color.red : color.gray // 获取前一根K线的颜色状态 prevBraidColor = BraidColor[1] // 定义四个预警触发条件 greenToRed = prevBraidColor == color.green and BraidColor == color.red redToGreen = prevBraidColor == color.red and BraidColor == color.green grayToRed = prevBraidColor == color.gray and BraidColor == color.red grayToGreen = prevBraidColor == color.gray and BraidColor == color.green // 设置预警规则 alertcondition(greenToRed, title="绿转红", message="Braid Filter: 绿色K线转为红色") alertcondition(redToGreen, title="红转绿", message="Braid Filter: 红色K线转为绿色") alertcondition(grayToRed, title="灰转红", message="Braid Filter: 灰色K线转为红色") alertcondition(grayToGreen, title="灰转绿", message="Braid Filter: 灰色K线转为绿色") // 保留原有的K线颜色绘制逻辑 barcolor(BraidColor)
关键说明
- 用
BraidColor[1]直接获取前一根K线的颜色,这是Pine Script获取上一根bar数据的标准写法,简单高效。 - 四个
alertcondition分别对应你要的四种触发场景,在TradingView预警设置里可单独启用/禁用,还能自定义通知方式(邮件、APP推送等)。 - 务必把开头的
ma01、ma02、dif、filter替换成你自己的实际计算逻辑,确保颜色判断的基础数据准确。
调试小技巧
如果预警没触发,先排查:
- 图表上K线颜色是否正常切换,确认颜色逻辑本身没问题。
- 预警设置里是否勾选了对应条件,且触发时机选了「每次条件满足时」。
内容的提问来源于stack exchange,提问作者ChrisA
相关产品推荐
相关产品推荐

