PatternsRadar
Sign in

Reversal stock scanners for NSE

A reversal scan hunts the turn: the oversold stock finding its footing, the overbought one running out of buyers, the moving-average cross that marks a trend changing hands. The oscillators these scans are built on — RSI, stochastic, CCI, Williams %R — all measure the same underlying thing, how one-sided the recent sessions have been, and one-sidedness is a condition that resolves. The catch every reversal trader learns at their own expense is that oversold is not a floor: a stock in genuine decline can stay below RSI 30 for months. That is why almost every buy-side scan here pairs its oscillator with a long-term trend condition — oversold above the 200-day average is a pullback with an owner base defending it; oversold below is a falling knife with a number attached. The sell-side mirrors are here too, because overbought readings in stocks you hold are how exits announce themselves early.

RSI crossing back above 30 in the last three sessions while the stock still holds its 200-day average — a pullback, not a collapse.

where rsi(14) crossed above 30 within 3 bars
  and close > sma(200)

Top 500 by turnover

RSI above 70 while the stock is still trending — stretched, and worth knowing about either way.

where rsi(14) > 70 and close > sma(50)

Top 500 by turnover

The 50-day average crossing up through the 200-day.

where sma(50) crosses above sma(200)

Top 500 by turnover

The 50-day average crossing down through the 200-day.

where sma(50) crosses below sma(200)

Top 500 by turnover

MACD crossing above its signal line from below zero.

where macd().line crosses above macd().signal
  and macd().line < 0

Top 500 by turnover

MACD crossing below its signal line from above zero — momentum rolling over.

where macd().line crosses below macd().signal
  and macd().line > 0

Top 500 by turnover

Yesterday closed below the 200-day average, today closed back above it.

where close crosses above sma(200)

Top 500 by turnover

The ATR trailing stop turning up, with the trend strong enough to be worth trusting.

where supertrend_dir == 1 and supertrend_dir[-1] == -1 and adx > 20

Top 500 by turnover

Price crossing above the parabolic stop, in a market with a trend to catch.

where close crosses above psar() and adx > 20

Top 500 by turnover

Williams %R below -80 while the 200-day still holds — Chartink's oversold staple.

where williams_r < -80 and close > sma(200)

Top 500 by turnover

%K crossing up through %D while both are still in oversold territory.

where stoch().k crosses above stoch().d and stoch().k < 25

Top 500 by turnover

Money Flow Index under 20 — RSI's volume-weighted cousin, at an extreme.

where mfi < 20 and close > sma(200)

Top 500 by turnover

The first green Heikin-Ashi candle after a red one, on rising volume.

where ha_close > ha_open
  and ha_close[-1] < ha_open[-1]
  and close > sma(50)
  and rel_volume > 1.3

Top 500 by turnover

RSI crossing back above its midline in a stock that never lost its long-term trend.

where rsi(14) crosses above 50 and close > sma(200)

Top 500 by turnover

CCI back above −100 within the last two sessions, in a stock still above its 200-day.

where cci crossed above -100 within 2 bars and close > sma(200)

Top 500 by turnover

CCI above +100 with RSI agreeing — stretched by two different measures at once.

where cci > 100 and rsi(14) > 65

Top 500 by turnover

The fastest oversold oscillator there is, pinned below 20 in a long-term uptrend.

where stoch_rsi < 20 and close > sma(200)

Top 500 by turnover

+DI overtaking −DI while ADX confirms there is a trend worth joining.

where di_plus crosses above di_minus and adx > 20

Top 500 by turnover

−DI taking control with directional movement building — the exit-or-avoid list.

where di_minus crosses above di_plus and adx > 15

Top 500 by turnover

Elder's force index crossing above zero — price change and volume agreeing the dip is done.

where force_index crosses above 0 and close > sma(50)

Top 500 by turnover

Price closing back inside the bands after a two-standard-deviation flush.

where close crosses above bb().lower

Top 500 by turnover

Closing in the top fifth of its two-week range with RSI above 70 — extended on both clocks.

where williams_r > -20 and rsi(14) > 70

Top 500 by turnover

%K crossing down through %D above 75 — the classic overbought sell signal, as written.

where stoch().k crosses below stoch().d and stoch().k > 75

Top 500 by turnover

The 9-day EMA crossing above the 21 in a stock still above its 200-day — the swing trader's golden cross.

where ema(9) crossed above ema(21) within 2 bars
  and close > sma(200)

Top 500 by turnover

Crossed under the 200-day moving average within the last three sessions — the line everyone watches, failing.

where close crossed below sma(200) within 3 bars

Top 500 by turnover

Common questions

What is the best RSI level to buy at?

In trending stocks, RSI rarely reaches the textbook 30 — pullbacks bottom near 40 and turn. The classic 30 threshold suits deeper corrections. What matters more than the level is the context: RSI 35 above a rising 200-day average and RSI 35 in a downtrend are different trades entirely.

Why do oversold scans include a 200-day moving average filter?

Because oversold is a timing signal, not a value signal. The 200-day filter confines the scan to stocks whose long-term trend is up, where a washed-out oscillator marks a pullback ending. Without it, the scan returns stocks that are cheap because they are dying.

What is the difference between a golden cross and a death cross?

A golden cross is the 50-day average crossing above the 200-day; a death cross is it crossing below. Both are slow, confirming signals — they fire well after the turn — and their value is in what they confirm about the trend's direction, not in their timing.