Accumulation Phase Scanner
- Indicators
- Version: 1.0
- Activations: 5
# Accumulation Phase Scanner - Compressed range, high volume
*Category: Volume | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1*
## Short description
> Recognises accumulation phases by combining three conditions: range compressed versus normal, volume above average and no net price progress.
### Overview
Accumulation has a recognisable signature: price stays compressed in a narrow range while volume remains elevated. Someone is building a position by absorbing everything the market offers, without moving price so as not to reveal their presence or worsen their own average entry. The indicator combines three measurable conditions and condenses them into a composite score from 0 to 100. The first is the compression of the window range relative to what independent bars would produce, which grows as the square root of the bar count. The second is volume above average. The third is the absence of net progress, that is today price must be close to the one at the start of the window. The score rises only when the three conditions appear together, and confirmation requires it to stay above the threshold for several consecutive bars.
### How the calculation works
1. Compression condition: the window range is compared with the ATR times the square root of the bar count, the expected size from independent bars.
2. Volume condition: the window average volume is related to the long term average and rescaled so that one corresponds to twice the norm.
3. Stillness condition: the net move over the window is related to the range of that same window.
4. The three components are normalised between zero and one and averaged with equal weight.
5. A counter checks how many consecutive bars the score stays above the threshold.
6. Only once the count reaches InpMinBars is the phase confirmed and the bars coloured, preventing a single anomalous bar from generating a signal.
### How to use it
- Blue bars flag a confirmed accumulation phase: the moment to prepare orders, not to enter immediately.
- Accumulation does not indicate direction: a position is being built, but it could be long or short.
- A break of the range during or right after an accumulation phase tends to be more reliable than an ordinary break.
- Long accumulation phases generally precede wider moves: the visible duration hints at the expected size.
- Raise InpScoreLevel to recognise only the clearest accumulations, sharply reducing the number of signals.
### Who it is for and on which timeframes
It suits breakout traders who want to spot in advance where positions are being built, and students of market phases in the volumetric analysis tradition. It works from M15 to D1. It is more effective on instruments with real volume, where the second condition is reliable; on forex tick volume makes it less precise but the other two conditions keep working. No particular technical background is required, because the three conditions are described in terms observable on the chart.
### Practical example of reading a signal
On a stock in H1 the score rises above the threshold and stays there for fourteen consecutive bars: the bars turn blue. Looking at the chart you see an extremely narrow price range, barely a third of what fourteen bars at that volatility would produce, while volume stays consistently sixty per cent above average. Someone is buying everything offered without letting price rise. The trader places an order above the range high and one below the low. Two sessions later price breaks upwards on even higher volume and covers, within a day, four times the width of the entire accumulation range.
## Input parameters
| Parameter | Default | Description |
|---|---|---|
| `InpWindow` | 20 | Observation window in bars. It defines how long the phase must be to be recognised. |
| `InpAtrPeriod` | 60 | Reference ATR period, establishing what counts as normal bar size for this instrument. |
| `InpVolPeriod` | 60 | Reference volume average window. |
| `InpScoreLevel` | 65.0 | Composite score beyond which accumulation is recognised. Raising it yields fewer but clearer signals. |
| `InpMinBars` | 3 | Consecutive bars above threshold required to confirm the phase and avoid isolated signals. |
| `InpUseRealVolume` | false | With true, real volume is used when available; with false, or in its absence, tick volume. |
## Advantages / strengths
- It combines three independent conditions, drastically reducing false recognitions compared with a single criterion.
- Comparing the range with the square root of the bar count is statistically correct, not a crude approximation.
- Multi bar confirmation eliminates isolated signals caused by a single anomalous bar.
- It has a clear operational use: it identifies where to prepare orders before the move happens.
## Limitations and warnings
- It does not indicate the direction of accumulation: a position is being built, but it could be either way.
- A recognised phase may simply be a pause with no position building behind it.
- The three components carry equal weight by design, but on some markets one of them is more informative.
- On forex the volume condition loses precision, reducing the overall selectivity of the recognition.
**No repaint:** values printed on a closed bar are never modified afterwards.
**Disclaimer.** This product is a technical analysis tool, not an automated trading system, and it offers no profit guarantee whatsoever. Financial markets carry the risk of total loss of the invested capital. Past performance is not indicative of future results. Every signal must be confirmed with your own analysis, a money management plan and prior testing on a demo account. The author is not responsible for trading decisions taken on the basis of this indicator.
## Suggested tags / keywords for MQL5
`accumulation`, `volume`, `compression`, `breakout`, `wyckoff`, `composite`, `no repaint`, `phase`
