i'm trying to build a script/indicator which gives me alerts when a specific condition is met on a specific chart and time frame, pretty simple condition here is the code :
//@version=5 indicator("Consecutive Candles Alert", shorttitle="CC Alert", overlay=false)
Input parameters length = input.int(5, minval=1, title="Consecutive Candles Length") symbolToWatch = input.symbol("EURUSD", title="Symbol to Watch") timeFrameToWatch = input.timeframe("1", title="Timeframe to Watch")
Calculate consecutive candles of the same direction isBullish = close > open isBearish = close < open consecBullish = ta.barssince(isBullish) + 1 consecBearish = ta.barssince(isBearish) + 1
Check for the condition and trigger alert alertCondition = (consecBullish >= length and isBearish) or (consecBearish >= length and isBullish) alert("Consecutive Candles Alert: " + syminfo.tickerid + " - " + tostring(timeFrameToWatch), alert.freq_once_per_bar)
Plot consecutive candles count consecCount = alertCondition ? (isBullish ? consecBullish : consecBearish) : na plotshape(consecCount, title="Consecutive Candles Count", location=location.top, color=color.red, style=shape.labelup, textcolor=color.white)
Plot candles plotcandle(open, high, low, close, color=isBullish ? color.new(color.green, 50) : color.new(color.red, 50))
Set up alert message timeFrameString = "1" // Default value for 1-minute timeframe if timeFrameToWatch == "3" timeFrameString := "3" else if timeFrameToWatch == "5" timeFrameString := "5" else if timeFrameToWatch == "15" timeFrameString := "15" else if timeFrameToWatch == "30" timeFrameString := "30" else if timeFrameToWatch == "60" timeFrameString := "1H" else if timeFrameToWatch == "D" timeFrameString := "1D" else if timeFrameToWatch == "W" timeFrameString := "1W" else if timeFrameToWatch == "M" timeFrameString := "1M"
alert_message = "Consecutive Candles Alert: " + syminfo.ticker + " " + timeFrameString + "\n" + "Consecutive Bullish Candles: " + tostring(consecBullish) + "\n" + "Consecutive Bearish Candles: " + tostring(consecBearish)
Send alert to phone alertcondition(alertCondition, title="Consecutive Candles Alert", message=alert_message)