Consolidating near a 52-week high
Stocks pausing in a tight range within 5% of their 52-week high — and deliberately NOT breaking out today.
By Rohit Singh (Mr. Chartist) · Updated 2026-08-25
Most 52-week-high scans return stocks that have already broken out, which is the moment the risk is widest. This one returns the list before that: names sitting quietly just under the ceiling, with the range contracting and volume drying up.
The exclusion is the design decision. Any stock trading through its 52-week high today is removed. This is the watchlist, not the entry list — the trigger has not happened yet, which is the entire reason it is useful.
( {cash} ( latest close > 50 and latest sma( latest volume , 20 ) > 200000 and latest close >= 1 day ago max( 252 , latest high ) * 0.95 and latest high <= 1 day ago max( 252 , latest high ) and 1 day ago max( 10 , latest high ) <= 1 day ago min( 10 , latest low ) * 1.06 and 1 day ago max( 20 , latest high ) <= 1 day ago min( 20 , latest low ) * 1.12 and latest close <= 1 day ago max( 10 , latest high ) and latest close >= 1 day ago min( 10 , latest low ) and latest sma( latest volume , 5 ) < latest sma( latest volume , 20 ) ) )Chartink can fail silently. Tested on 2026-08-25: a clause containing a nonsense token returned the same number of rows as the correct one, with no error, and a clause with no comparison in it returned every stock in the segment. A scan that returns results has not necessarily parsed as you intended — so sanity-check a few of the names it gives you against the conditions above before trusting the list.
Chartink's own documentation notes that scans cannot always be copy-pasted directly, and its in-app copy function moves condition groups rather than raw text. Treat this clause as the specification to reproduce in the condition builder; if pasting works in your account, so much the better.
What this scan actually tests
- Liquidity floors first: close above ₹50 and 20-session average volume above 2,00,000 shares.
- Proximity: the last close is at or above 95% of the highest high of the 252 candles ending yesterday.
- No breakout yet: today's high is at or below that same 252-candle high.
- Range contraction: the 10-candle span is about 6% or less and the 20-candle span about 12% or less, with the 5-session average volume below the 20-session average.
What it cannot see
A scan is bar arithmetic. It cannot read a chart, and every recipe here is honest about where the machine stops and your eyes start.
- Base shape or quality. A clean flag, a rectangle and a choppy overlapping mess all satisfy the same range arithmetic.
- How long price has genuinely held near the high — only fixed 10 and 20-candle windows are checked, so a three-month base and a two-week pause score identically.
- When the 52-week high was set. One made eleven months ago (stale) looks identical to one made three candles ago (live, defended supply).
- The breakout itself. By design there is no entry trigger here.
Why this setup is worth scanning for
A stock near its highs has no trapped supply overhead — everyone holding it is in profit. When the range then contracts on falling volume, the sellers have stopped arriving. That is the setup; the breakout is the trigger.
A genuinely short list, and the most useful of the six as a standing watchlist rather than a daily action list. Expect names to persist across several days — that is the pattern working, not the scan repeating.
Educational content. A scan is a filter, not a recommendation — the names it returns are candidates for your own analysis, not a buy list, and nothing here is investment advice. Chartink is a third-party service with no affiliation to this site. Registration granted by SEBI, membership of BASL and certification from NISM in no way guarantee performance or assure returns. Markets carry risk.
