This complete indicator checks a daily chart for price above SMA 200, RSI 14 between 50 and 70, and relative volume above 1.5. It confirms only those technical rules, not the financial or liquidity filters above. Use standard candles and regular-session data when comparing. The marker waits for a completed daily bar; live screener values can therefore differ before the close. No historical or profitability test is claimed.
Daily chart confirmation; create an alert separately using Any alert() function callpinescript
//@version=6
indicator("Daily stock screen confirmation", overlay = true)
slowMa = ta.sma(close, 200)
rsiValue = ta.rsi(close, 14)
averageVolume = ta.sma(volume, 10)[1]
relativeVolume = not na(averageVolume) and averageVolume > 0 ? volume / averageVolume : na
isDaily = timeframe.isdaily and timeframe.multiplier == 1
hasData = not na(slowMa) and not na(rsiValue) and not na(relativeVolume)
qualified = isDaily and hasData and close > slowMa and rsiValue >= 50 and rsiValue <= 70 and relativeVolume > 1.5
confirmed = qualified and barstate.isconfirmed
newMatch = confirmed and not confirmed[1]
plot(slowMa, "SMA 200", color = color.orange)
plotshape(newMatch, title = "New confirmed match", style = shape.triangleup, location = location.belowbar, color = color.green, size = size.small)
plot(relativeVolume, "Relative Volume", display = display.data_window)
plot(rsiValue, "RSI 14", display = display.data_window)
if newMatch
alert("Daily technical screen matched: " + syminfo.tickerid, alert.freq_once_per_bar_close)