Closing at a fresh 52-week high on above-average volume — the classic Darvas-style entry.
where close is highest in 52w and rel_volume > 1.5
Top 500 by turnover
A breakout scan looks for price escaping a range that has held it: a 52-week high, the top of a 20-day channel, a Bollinger band, yesterday's high. The premise is the same in every variant — a level that has repeatedly turned price back has a queue of orders behind it, and clearing it converts that overhead supply into fuel. What separates a tradable breakout from a drift through the level is almost always volume, which is why nearly every scan here carries a volume condition alongside the price one. Breakout scans run best after the close, on the day's final bar: a level broken intraday and surrendered by the close is precisely the failure the volume filter exists to catch. Every scan below can be tested against the last year of sessions before you trust it — breakouts are the setup with the widest gap between how good they look and how often they follow through, and that gap is measurable.
Closing at a fresh 52-week high on above-average volume — the classic Darvas-style entry.
where close is highest in 52w and rel_volume > 1.5
Top 500 by turnover
Coiling just under the highs. Often a better entry than the breakout candle itself.
where close within 3% of high_52w and close > ema(50)
Top 500 by turnover
Twice normal volume with price up more than 3% — something changed today.
where volume > 2x avg(volume, 20) and change > 3 and close > sma(20)
Top 500 by turnover
Twice the ten-day average volume with a move of more than 5% — the day something happened.
where volume > 2x avg(volume, 10) and change > 5
Top 500 by turnover
Pushing through the top of the 20-day range with volume behind it.
where close > donchian_upper[-1] and volume > 1.5x avg(volume, 20)
Top 500 by turnover
Close pushing above the upper band, with volume confirming.
where close > bb().upper and rel_volume > 1.5
Top 500 by turnover
Clearing the ATR-based upper channel — a steadier breakout signal than Bollinger's.
where close > keltner_upper and rel_volume > 1.5
Top 500 by turnover
Price clearing the first pivot resistance on strong volume — a classic floor-trader level.
where close crosses above pivot_r1 and rel_volume > 1.5
Top 500 by turnover
Price reclaiming the Kijun-sen while the medium-term trend still points up.
where close crosses above ichimoku_base and close > sma(50)
Top 500 by turnover
Closing above yesterday's high on half again the usual volume — the simplest breakout there is.
where close > high[-1] and rel_volume > 1.5
Top 500 by turnover
The highest close in twenty-six weeks, with volume above the daily norm.
where close is highest in 26w and rel_volume > 1.2
Top 500 by turnover
Aroon-up above 70 with Aroon-down below 30 — a new high made recently and no new low in sight.
where aroon_up > 70 and aroon_down < 30 and close > sma(50)
Top 500 by turnover
Cumulative volume flow at a new high while the trend holds — accumulation leading price.
where obv() is highest in 26w and close > sma(50)
Top 500 by turnover
A breakout scan filters for stocks whose price has just cleared a level that previously contained it — a 52-week high, a channel top, a band, or the previous day's high — usually with a volume condition to separate conviction from drift.
There is no single best one. The 52-week high breakout finds mature trends with no overhead supply; the volume breakout catches the day something changed; the Donchian channel break is the systematic trend-following entry. Run the hit-rate test on each to see which suits your holding period.
Far less often. A breakout is a bet on continuation, and continuation needs a market willing to pay up. In a correction, most breakouts fail back into their range within days — which the backtest replay on each scan page will show you rather than tell you.