How it works
The Accumulation/Distribution line takes a different route to the same destination as On-Balance Volume. Instead of asking whether the close was above the previous close, it asks where the close finished inside the bar's own range. A close on the high means buyers held the level all the way to the bell; a close on the low means sellers did. That location, expressed as a number between minus one and plus one, is multiplied by the bar's volume and added to a running total.
The reasoning is intuitive. Every bar is a contest, and the settlement price is the scoreboard. Weighting the session's activity by how decisively that contest was won, rather than by a binary up-or-down flag, produces a smoother and more nuanced line than OBV. A session that spent the day falling and closed in the middle contributes almost nothing, which is closer to the truth than counting its whole volume in either direction.
The characteristic weakness is the mirror of that strength: the multiplier only looks inside the bar. A stock that gaps down eight percent and then rallies to close at the top of its much lower range registers as maximum accumulation, because the calculation has no idea the whole bar sits below yesterday. Over a long series that effect largely averages out, but around gaps and news events the line can point in a direction no one watching the chart would agree with.
As with every cumulative flow line, the absolute level is arbitrary and only the shape counts. Traders draw trendlines on the A/D pane, compare its swing highs and lows against price, and look for the classic divergence — price grinding to a marginal new high while the flow line fails to follow, meaning the closes at those highs have been weak relative to the volume they attracted. The reverse pattern under a base is the accumulation setup that gives the indicator its name.
It also seeds two derived tools. Chaikin Money Flow is the same money flow volume summed over a fixed window and normalised by total volume, which turns the cumulative line into a bounded oscillator. The Chaikin Oscillator is a MACD applied to the A/D line, converting level into rate of change. If you already read A/D, those two are its short-horizon and acceleration views rather than independent indicators.
Calculation
The arithmetic in words, in the order it happens.
For each bar compute the money flow multiplier: ((close - low) - (high - close)) / (high - low). It equals +1 when the bar closes exactly on its high, -1 when it closes exactly on its low, 0 at the midpoint, and is defined as 0 when the high equals the low so the division is never attempted. Multiply the multiplier by the bar's volume to get money flow volume, then add that to a running cumulative total. The plot is the cumulative series, so its level depends on where the data begins and carries no meaning of its own.
Source
An AlgoBeamScript implementation of the formula above, written by us from the arithmetic so the code and the calculation agree line for line.
Runs unchanged on the platform and in the AlgoBeamTS runtime. The language reference is in the documentation.
Inputs
Defaults are the values most charting packages ship with. They are conventions, not optimal settings — the right length depends on your instrument and your holding period.
| Input | Default | What it changes |
|---|---|---|
| Lookback | None — the line is cumulative | Unlike almost every other indicator, the A/D line has no window to tune. Every bar since the start of the data contributes permanently, which is why the line is stable but also why a single distorted session never washes out. |
| Offset | 0 | Shifts the plotted line horizontally. Cosmetic only, used when visually aligning the flow line with a price structure; it changes nothing in the arithmetic. |
How to read it
What practitioners take from the plot. Read these as descriptions of market state, not as entry signals.
- A/D rising steadily while price moves sideways
- Closes are clustering in the upper half of their ranges on decent volume without price being marked up yet — the accumulation signature the indicator is named for.
- Price at a new high, A/D failing to confirm
- The bars making the new highs are closing weakly inside their ranges. Distribution into strength; treat it as a caution on position size rather than a reversal trigger.
- A/D and price trending together
- The move is confirmed by where sessions are settling. The least glamorous reading and the most common — most of the time the line simply agrees.
- A/D breaking a multi-month trendline before price does
- The character of the closes changed ahead of the price structure. This shape comparison is the most defensible use of the line, since it avoids reading its arbitrary level.
Limitations
Where this indicator misleads. None of these are fixed by a better parameter.
- The multiplier is blind to gaps. Only the position of the close inside the bar's own range matters, so a bar that opened far below the previous close and recovered internally is scored as strong accumulation.
- Narrow-range bars produce extreme multipliers from tiny absolute moves, because the range sits in the denominator. A one-tick range closing on its high scores the same as a wide, decisive trend day.
- Being cumulative, the line has no natural zero, cannot be compared between instruments, and permanently absorbs any single distorted session such as an index rebalance or an expiry.
- Like all divergence tools it can disagree with price for months. Used without a price-based invalidation it will keep you out of the strongest part of a trend.
Educational reference. This page explains how an indicator is built and how it is commonly read. It is not investment advice, not a recommendation and not a signal service. No indicator is profitable on its own — each is a way of describing a market, and any rule built on one has to be tested with realistic costs before it is traded.