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

TradingView PineScript实现Heiken Ashi变色仅单次触发警报问题咨询

解决方案

你的代码反复触发警报是因为up/down条件在连续上涨/下跌的每一根K线都为真,我们只需要检测状态首次切换的瞬间触发即可,也就是当前K线是上涨/下跌,且前一根K线不是对应状态时才触发警报。

修改后的完整代码

//@version=5
indicator("Heikin Ashi Candle Colour Change Alerts", overlay=true)

val = (open + high + low + close) / 4
up = val > val[1]
down = val <= val[1]

// 新增:仅检测状态首次切换的信号
up_alert = up and not up[1]
down_alert = down and not down[1]

alertcondition(condition = up_alert, title = 'Up Candle', message = ' - UP CANDLE')
alertcondition(condition = down_alert, title = 'Down Candle', message = ' - DOWN CANDLE')

plotshape(up_alert, title = 'Up Candle', style = shape.square, color = color.new(color.lime, 0), location = location.bottom)
plotshape(down_alert, title = 'Down Candle', style = shape.square, color = color.new(color.red, 0), location = location.bottom)

补充说明

  • 代码默认适配Pine Script v5版本,如果你需要使用v4版本,把//@version=5换成//@version=4,indicator换成study,颜色参数color.new(color.lime, 0)直接写成lime、color.new(color.red, 0)直接写成red即可
  • 创建警报时,触发频率选择「每根K线一次」即可,不会出现重复推送的问题
  • 如果你还是需要每根K线都标记颜色方块,把plotshape的第一个参数换回原来的up/down即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:27:08