Volatility Contraction PatternASX Daily Timeframe · Automated Tracking
Trading Setup Guide
ASX Candidates

Retrieving Data

Trading Setup Documentation

What Is the Volatility Contraction Pattern?

The Volatility Contraction Pattern (VCP), popularised by Mark Minervini, describes how a leading stock behaves while it digests a strong advance. After running up, price pulls back — then rallies and pulls back again, but each pullback is shallower than the last. The swings tighten, the daily range contracts, and volume dries up. The stock is transferring from weak hands to strong hands and coiling for its next leg.

This tracker scans the ASX for stocks forming a genuine VCP base inside a confirmed uptrend, classifies the exact kind of base, scores it from 0–100, and marks the breakout level — the top of the base that price must clear on a volume thrust to trigger the move.

The Four Base Types Detected

High-Tight FlagPole ≥ +40% · short, shallow base

A powerful, fast pole (a run-up of 40% or more) followed by a short, shallow, tight base — often just one clean pullback. The strongest and rarest of all bases.

Classic VCP2–6 shrinking contractions

The textbook pattern: two to six successive contractions, each shallower than the one before, with a tight final contraction (≤10%) over a base of at least three weeks.

Shallow Short Base≤ 20 bars · ≤ 10% deep

A brief, shallow consolidation with no qualifying pole — a quick reset near the highs that can still resolve higher.

Flat Base≥ 15 bars · ≤ 15% deep

A longer, tight rectangle that holds near the highs while the moving averages catch up — a sign of patient accumulation.

The Three Gates — All Must Pass

A stock is only marked trackable when every one of these is true:

A
Prior UptrendMA20 > MA50 > MA100 · near 52wk highs

The base must form inside an established, rising trend led by the stock. The moving averages are stacked bullishly, the MA100 is rising, price sits well above its 52-week low and within 20% of its 52-week high, and relative strength versus the S&P/ASX 200 is positive. This is continuation, not bottom-fishing.

B
Constructive Base + Volatility Contractionshrinking contractions · ATR / BB squeeze

The consolidation must classify as one of the four base types AND show genuine volatility contraction — either the ATR has fallen since the base began or Bollinger Bandwidth is sitting near a three-month low. A base drifting sideways at wide range does not qualify.

C
Volume Dry-Upbase volume < pre-base · dry-up day

Supply must be exhausting. Average volume during the base is below the pre-base level, and there is either a genuine dry-up day recently (volume under half its 50-day average) or net selling volume below net buying volume. Quiet volume in the base makes the breakout thrust significant by contrast.

The Breakout Trigger & How Candidates Are Tracked

A trackable VCP sits in the Watching tab while price is still below the breakout level. The breakout fires when a green candle closes above the breakout level. Volume is no longer a gate — the trade triggers on the price break regardless of volume, and each card shows the relative volume that confirmed it (day volume ÷ 20-day average, recomputed every hourly scan as intraday volume builds), so a strong-volume thrust (≥1.5×, green) is distinguished from a lighter breakout (amber) at a glance. The trade then moves to Breakout, with the entry set at the breakout close and a hard stop at the base low.

The Watching list is kept strict: on every re-scan a stock must still pass all three gates. The only way to leave Watching and be retained is to break out. If a stock has not broken out and no longer satisfies every gate — the uptrend breaks down, the base widens or stops contracting, volume picks back up, or price loses the base — it is dropped from the watchlist entirely rather than archived. This keeps Watching free of stale or failing setups. (Should the same stock form a fresh qualifying VCP later, it can be detected again.)

WatchingA stock currently passing all three gates with price still below the breakout level. Re-checked every scan and removed the moment it stops qualifying.
BreakoutPrice closed above the breakout level on a green candle. The trade is active with an entry and hard stop; the relative volume that confirmed the break is shown on the card.
WinnerA Breakout trade that exited in profit — a bearish candle closed below the trailing MA20 while the position was up.
InvalidatedA Breakout trade that exited at a loss — the hard stop below the base low was hit, or the trailing MA20 exit triggered while underwater.

The Winner and Invalidated tabs only ever hold resolved Breakout trades — real positions with an entry and an exit — so the performance stats reflect actual triggered trades, not setups that quietly faded on the watchlist. The tracker re-scans every hour during ASX market hours, and you can force an immediate re-scan with the Refresh Scan button. Each candidate stores its full candlestick history and indicator footprint, so the chart shows the base, the MA20, MA50 and MA100, and the breakout level exactly as the scanner measured them.

Technical Indicators Used

Every chart on this page plots the indicators the scanner relies on. If you are new to trading, here is what each one means:

MA20
20-Day Simple Moving AverageThe average close over the last 20 sessions — the short-term trend. It must sit above the MA50 in a valid uptrend, and once a breakout is tracked it becomes the trailing exit: a bearish candle closing below it ends the trade.
MA50
50-Day Simple Moving AverageThe average close over roughly one trading quarter — the medium-term trend. It must sit above the MA100 for the trend to qualify.
MA100
100-Day Simple Moving AverageThe slow trend line. The scanner requires it to be rising and below price, confirming the longer-term advance the base is resting within.
ATR
Average True Range (Wilder)How much price moves on an average day. The scanner checks the ATR has contracted since the base began — proof the daily range is tightening rather than expanding.
Bollinger Bandwidth
Band Width SqueezeThe width between the upper and lower Bollinger Bands. When it sits near a three-month low, volatility has been squeezed out of the stock — the classic coil before a move.
Volume
Daily Trading VolumeUsed twice and in opposite ways: it must dry up during the base (supply exhausting), then surge to at least 1.5× its 20-day average on the breakout candle to confirm real buying.

Disclaimer: Market Flow provides this information for educational and informational purposes only. Nothing on this page constitutes financial advice, investment advice, or a recommendation to buy or sell any financial product. All prices shown are 20–30 minutes delayed and are not suitable for active trading decisions. Past performance of any trading setup is not indicative of future results. Trading ASX securities involves significant risk of loss. Always consult a licensed financial adviser before making investment decisions.

Free Updates

Stay ahead of the ASX market

Get notified when we launch new tools, dashboards, and features. No spam — just meaningful platform updates.

Get Notified

New features straight to your inbox

Private
No spam
Unsubscribe anytime
Supporters

Powered by coffee

Market Flow is free and ad-free — a coffee keeps the servers running.

Buy me a coffee

Market Flow is free. A coffee helps keep the servers running.

Buy me a coffee