How it works
Every other tool in this family reads volume along the time axis: how much traded in this bar, and in the one before it. A volume profile rotates the question ninety degrees and asks how much traded at each price. The output is a horizontal histogram down the side of the chart whose long bars mark the prices where the most business was done and whose short bars mark the prices the market passed through quickly.
The reasoning is that time is an arbitrary way to slice a market. Nobody's position cares which hour it was opened in; it cares what price it was opened at. Prices where enormous volume has traded are prices where a large number of participants have a position and therefore a decision to make, and those levels tend to attract price back and to produce reactions. Prices where almost nothing traded represent an area both sides rejected, and price typically travels through them quickly when it returns.
Three statistics are read off the histogram. The point of control is the single price row with the greatest traded volume — the market's most-accepted price for the period. The value area is the contiguous band of rows around it containing a chosen share of the total volume, conventionally seventy percent, which brackets where the market spent most of its business. High- and low-volume nodes are the local peaks and troughs elsewhere in the distribution, used as expected support-and-resistance and as expected fast-travel zones respectively.
The shape of the whole distribution is informative on its own. A single tall peak with volume tapering evenly either side describes a balanced, well-auctioned market where a fair price was established. Two or more separate peaks describe a market that accepted two different price areas and rejected the ground between them, and that middle gap is where price tends to move fastest. A profile skewed with its bulk at one end describes a trend that never settled.
It complements the rest of the family neatly. VWAP gives one volume-weighted number for a session; the profile gives the whole distribution that number is the mean of. The flow lines say which side the volume favoured; the profile says nothing about side and everything about location. It is a map of where the business is, and it is used to place trades, not to trigger them.
Calculation
The arithmetic in words, in the order it happens.
Volume is redistributed from the time axis onto the price axis. Choose a range of bars, divide the price span it covers into a fixed number of horizontal rows, and allocate each bar's volume across the rows its range touches — spread evenly across them when working from OHLCV bars, or assigned to the exact prices that printed when tick data is available. Drawing each row's total as a horizontal bar produces the profile. From it: the point of control is the row with the largest total; the value area is the contiguous block of rows around the point of control that accumulates a chosen share of total volume, conventionally 70 percent, grown outward from the point of control by repeatedly taking the larger of the two adjacent rows; high- and low-volume nodes are the local maxima and minima of the histogram.
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 |
|---|---|---|
| Row size | 24 rows | How finely the price span is divided. Few rows produce a coarse profile whose point of control is a wide zone; many rows produce fine detail that is closer to the real distribution but fragments the peaks and makes a single dominant level hard to identify. |
| Value area volume | 70% | The share of total volume the value area must contain. Seventy percent is inherited from market-profile convention. Raising it widens the band toward the extremes and makes its edges less meaningful; lowering it tightens the band around the point of control. |
| Range | Visible range | Which bars the profile is computed over. Visible range recalculates as you scroll and is exploratory; a fixed range anchored to a specific move, or a session, week or month profile, produces stable levels you can actually reference from one day to the next. |
| Volume basis | Total volume | Whether each row shows one combined total or splits into up and down volume. The split version shows which side transacted at each price, which is informative around the point of control, but it inherits the same crude close-based signing as the rest of this family. |
How to read it
What practitioners take from the plot. Read these as descriptions of market state, not as entry signals.
- Price entering a low-volume node
- Little business was done at these prices before, so there are few resting positions and price often travels through quickly. Poor place to expect a reaction; useful as the space between two targets.
- Price approaching a high-volume node
- A price many participants transacted at. Expect the move to slow, and expect two-sided activity as previous positions are managed. The natural place for a target or for a reaction to develop.
- Price accepting above the value area high
- Trade is taking place beyond the band that contained most previous business. Acceptance — several bars trading and closing there — distinguishes a genuine migration of value from a brief excursion.
- A profile with two separate peaks and a hollow middle
- The market accepted two distinct price areas and rejected the ground between them. That middle region is where price tends to move fastest in either direction.
- The point of control sitting well above current price
- The bulk of recent business was done higher and price has left it. That level is a common magnet on a return move, and a common place for a rally to stall.
Limitations
Where this indicator misleads. None of these are fixed by a better parameter.
- It needs fine-grained data. A profile computed by spreading each daily bar evenly across its range is a coarse approximation of the true distribution, and it can place the point of control at a price where relatively little actually traded.
- The output depends on choices the user makes. Change the row count or the range and the point of control and value area move, so two traders looking at the same chart legitimately derive different levels.
- It is entirely historical. It describes where business has been done, and the inference that price will react there again is a behavioural assumption, not something the data proves.
- Where the underlying volume is fragmented across venues or unaudited, as in equities off-exchange and in much of crypto, the distribution being drawn is only part of the real one.
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.