OPEN-SOURCE SCRIPT

Smart Money Entry Detector (Bullish + Bearish)

120
//version=5
indicator("Smart Money Entry Detector (Bullish + Bearish)", overlay=true)

// === Volatility (ATR)
atr = ta.atr(14)
atrAvg = ta.sma(atr, 14)
volatilitySpike = atr > atrAvg * 1.3

// === Volume Spike
volAvg = ta.sma(volume, 20)
volumeSpike = volume > volAvg * 1.5

// === RSI Confirmation
rsi = ta.rsi(close, 14)
rsiBull = rsi > 50
rsiBear = rsi < 50

// === EMA Crossover
emaFast = ta.ema(close, 9)
emaSlow = ta.ema(close, 21)
bullishCross = ta.crossover(emaFast, emaSlow)
bearishCross = ta.crossunder(emaFast, emaSlow)

// === Bullish Order Block
isBullOB = close[2] < open[2] and close[1] > open[1] and close > close[1]
bullLow = low[2]
bullHigh = high[2]
bullRetest = low <= bullHigh and low >= bullLow

// === Bearish Order Block
isBearOB = close[2] > open[2] and close[1] < open[1] and close < close[1]
bearHigh = high[2]
bearLow = low[2]
bearRetest = high >= bearLow and high <= bearHigh

// === Entry Signals
bullEntry = isBullOB and bullRetest and volumeSpike and volatilitySpike and rsiBull and bullishCross
bearEntry = isBearOB and bearRetest and volumeSpike and volatilitySpike and rsiBear and bearishCross

// === Plotting
plotshape(bullEntry, location=location.belowbar, color=color.green, style=shape.triangleup, title="Bullish Smart Entry")
plotshape(bearEntry, location=location.abovebar, color=color.red, style=shape.triangledown, title="Bearish Smart Entry")

// === Alerts
alertcondition(bullEntry, title="Bullish Smart Entry", message="Bullish order block retest with confirmation!")
alertcondition(bearEntry, title="Bearish Smart Entry", message="Bearish order block retest with confirmation!")

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.