求助:如何在TradingView中设置吞没蜡烛触碰均线的警报
实现吞没蜡烛触碰均线的警报功能(TradingView Pine Script)
要实现吞没蜡烛触碰移动平均线时触发警报,你需要添加K线与均线的触碰条件,并通过alertcondition函数定义警报触发信号。以下是修改后的完整代码:
//@version=5 indicator(title="Engulfing with SMMA Touch Alert", shorttitle="Engulf-SMMA", overlay=true, timeframe="", timeframe_gaps=true) len = input.int(21, minval=1, title="SMMA Length") src = input(close, title="Source") smma = 0.0 smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len green = color.green red = color.red // 定义看涨/看跌吞没形态 bullishEngulfing = (open <= close[1]) and (open < open[1]) and (close > open[1]) bearishEngulfing = (open >= close[1]) and (open > open[1]) and (close < open[1]) // 定义吞没蜡烛与SMMA的触碰条件:均线落在当前K线的高低点区间内,或K线端点触碰均线 bullishTouch = ta.valuewhen(bullishEngulfing, (smma >= low and smma <= high) or smma == low or smma == high, 0) bearishTouch = ta.valuewhen(bearishEngulfing, (smma >= low and smma <= high) or smma == low or smma == high, 0) // 绘制吞没形态标记 plotshape(bullishEngulfing, style = shape.triangleup, location = location.belowbar, color = green, size = size.tiny) plotshape(bearishEngulfing, style = shape.triangledown , location = location.abovebar, color = red, size = size.tiny) plot(smma, color=#ffffff) // 定义警报触发条件 alertcondition(bullishTouch, title="看涨吞没触碰SMMA", message="看涨吞没蜡烛触碰21期SMMA均线") alertcondition(bearishTouch, title="看跌吞没触碰SMMA", message="看跌吞没蜡烛触碰21期SMMA均线")
关键修改说明:
触碰条件逻辑:
- 判断均线是否处于当前吞没蜡烛的
low到high区间内,或者直接触碰K线的低点/高点,确保覆盖“触碰”的所有场景。 - 用
ta.valuewhen函数确保仅在吞没形态出现时检查触碰条件,避免无意义的信号。
- 判断均线是否处于当前吞没蜡烛的
警报设置:
- 添加
alertcondition函数,将满足条件的信号标记为可触发警报的事件。 - 在TradingView界面中,你可以通过「警报」功能选择对应的信号(“看涨吞没触碰SMMA”/“看跌吞没触碰SMMA”)来设置推送通知。
- 添加
内容的提问来源于stack exchange,提问作者Rachel Bush
相关产品推荐
相关产品推荐

