RSI back above 30 within the last three sessions, in a stock still holding its 200-day average.
where rsi(14) crossed above 30 within 3 bars and close > sma(200)
Top 500 by turnover
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 underneath all of them measure one thing, which is how one-sided the recent sessions have been, and one-sidedness resolves. The catch every reversal trader pays to learn is that oversold is no floor. A stock in real decline can sit under RSI 30 for months. So 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 the 200-day is a falling knife with a number attached. The sell-side mirrors are on this page too. An overbought reading in something you already own is how an exit announces itself early.
RSI back above 30 within the last three sessions, in a stock still holding its 200-day average.
where rsi(14) crossed above 30 within 3 bars and close > sma(200)
Top 500 by turnover
RSI over 70 in a stock still above its 50-day average. Stretched, and worth knowing 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 Supertrend flipping from down to up, with ADX over 20 behind it.
where supertrend_dir == 1 and supertrend_dir[-1] == -1 and adx > 20
Top 500 by turnover
Price crossing above the parabolic SAR with ADX over 20.
where close crosses above psar() and adx > 20
Top 500 by turnover
Williams %R below -80 while the 200-day average still holds. A staple of oversold screening.
where williams_r < -80 and close > sma(200)
Top 500 by turnover
%K crossing up through %D with %K still under 25.
where stoch().k crosses above stoch().d and stoch().k < 25
Top 500 by turnover
Money Flow Index under 20 in a stock above its 200-day average. It is RSI with volume in it.
where mfi < 20 and close > sma(200)
Top 500 by turnover
The first green Heikin-Ashi candle after a red one, above the 50-day average and on heavier 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
Price near a two-month low while RSI sits at least three points above where it was a month ago. The selling is running out of momentum before it runs out of price.
where low within 3% of min(low, 8w) and rsi(14) > rsi(14)[-20] + 3 and rsi(14) < 45
Top 500 by turnover
Price near a two-month high while RSI reads three points below its level of a month ago.
where high within 3% of max(high, 8w) and rsi(14) < rsi(14)[-20] - 3 and rsi(14) > 55
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 over 65. Two oscillators saying the same thing at once.
where cci > 100 and rsi(14) > 65
Top 500 by turnover
Stochastic RSI under 20 in a stock above its 200-day average. The twitchiest oversold reading available.
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 overtaking +DI with ADX above 15.
where di_minus crosses above di_plus and adx > 15
Top 500 by turnover
Elder's force index crossing above zero in a stock above its 50-day average.
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.
where williams_r > -20 and rsi(14) > 70
Top 500 by turnover
%K crossing down through %D above 75.
where stoch().k crosses below stoch().d and stoch().k > 75
Top 500 by turnover
The 9-day EMA crossing above the 21 within the last two sessions, in a stock still above its 200-day. A golden cross on a swing trader's clock.
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. Everybody watches that line.
where close crossed below sma(200) within 3 bars
Top 500 by turnover
Within 5% of the lowest low in five years with RSI under 35. The most abandoned names on the exchange, for a reversal hunt.
where close within 5% of lowest_low(5y) and rsi(14) < 35
Top 1000 by turnover
Up more than 50% off the three-year low, back above the 200-day average, with a three-month return over 10%.
where pct_from_low(3y) > 50
and close > sma(200)
and return(3mo) > 10Top 500 by turnover
Seven or more down days in the last ten, then a close above the previous day's high. The first session the sellers lost.
where count(close < open, 10) >= 7 and close > open and close > high[-1]
Top 500 by turnover
The whole candle body sits under the 20-day average and above the 50-day, with the 50 above the 200. A pullback that has broken nothing.
where greatest(open, close) < sma(20) and least(open, close) > sma(50) and sma(50) > sma(200)
Top 500 by turnover
Fifteen or more unbroken closes below the 20-day average, RSI under 35. A slump old enough to be exhausted.
where countstreak(close < sma(20), 60) >= 15 and rsi(14) < 35
Top 500 by turnover
There isn't one. In trending stocks RSI rarely reaches the textbook 30; pullbacks bottom near 40 and turn there. The 30 threshold suits deeper corrections. Context does more work than the level anyway. RSI 35 above a rising 200-day average and RSI 35 in a downtrend are different situations.
Oversold is a timing signal and says nothing about value. 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 the business is dying.
The golden cross is the 50-day average crossing above the 200-day. The death cross is the same pair crossing the other way. Both fire well after the turn they describe, and their value is confirmation.