Concept

Volume Profile

Volume Profile, also known as fixed range, visible range, session, composite, is a Volume & Order Flow concept. The Library holds 30 implementations, each one a working definition you can pull into Quant.

Top Volume Profile indicators

The top custom implementations, built on the original standard Volume Profile formula.

30 total

Want to trade Volume Profile? Any of the 21 implementations below is one prompt away from a backtested strategy in Quant.

What is a Volume Profile?

A volume profile is a histogram of traded volume organized by price instead of time. Where the volume pane under a chart answers how much traded in each bar, the profile rotates the question 90 degrees: how much traded at each price. Over any chosen window (a session, a swing, the visible chart, or a multi-week composite) every transaction is binned into the price level where it occurred, producing a sideways silhouette of where the market actually did business.

The profile's anatomy has standard names. The point of control (POC) is the single price with the most volume, the mode of the distribution. The value area is the band around it holding a set share of total volume, 70% by common convention. Bulges and thin shelves are high- and low-volume nodes: prices the market accepted and traded repeatedly versus prices it rejected or raced through.

The idea descends from Peter Steidlmayer's Market Profile work at the CBOT in the 1980s, with volume standing in for time-at-price. It matters because it grounds support and resistance in observed participation rather than pattern geometry: a level where heavy volume changed hands is a level where many positions live, and price returning there re-engages those positions. The profile describes the past, though. It ranks locations by relevance; it does not predict the reaction.

How to read a Volume Profile

Reading a profile is mostly about choosing the window deliberately and then classifying its shape.

  1. 1Choose the anchor. Session profiles reset daily, fixed-range profiles cover a swing or event you select, visible-range profiles follow whatever the chart shows, and composites merge many days. The profile only describes trade inside that window.
  2. 2Locate the point of control, the price row with the highest volume, and note whether it sits high, low, or centered within the range.
  3. 3Mark the value area around the POC (commonly 70% of total volume) to separate accepted prices from the tails.
  4. 4Classify the shape: a symmetric bell suggests balance, a double distribution records a transition between two accepted areas, and long thin tails mark rejection. Low-volume shelves between nodes are where price tends to travel fastest.

How it's calculated

A volume profile is a horizontal histogram showing how much volume traded at each price level across a chosen range of bars.

1. Choose the profile range: a fixed bar range, the visible chart range, a single session, or all bars since an anchor point.
2. Divide the range's price span, from its lowest low to its highest high, into N price rows of equal height.
3. For each bar b in the range, distribute its volume V_b across the rows that the bar's high-low span overlaps (evenly by default; tick or lower-timeframe data gives a finer split).
4. Sum the contributions in each row r to get the row volume Vol_r; plotted sideways, these totals form the profile.
5. POC = the price row with the largest Vol_r.
6. Starting from the POC, repeatedly compare the combined volume of the next two rows above the included area with the next two rows below, adding the pair with more volume, until the included rows hold p% of the range's total volume; this set of rows is the value area.
7. VAH = the top of the value area, VAL = the bottom of the value area.
N: number of price rows (platform dependent, commonly 24 to 100)
b: a bar inside the profile range
V_b: volume of bar b
r: a price row
Vol_r: total volume assigned to row r
POC: point of control, the highest-volume row
p: value area coverage in percent (default 70)
VAH: value area high
VAL: value area low

Fixed range, visible range, session, composite, and anchored profiles differ only in the range chosen in step 1.

Step 3 varies by platform: even split across the bar's span, all volume placed at one price such as the close, or exact allocation from tick data.

The two-rows-at-a-time comparison in step 6 is the classic Market Profile value area method; some implementations expand one row at a time instead.

How traders use it

  • To locate support and resistance from participation: high-volume nodes and prior value-area edges serve as S/R zones chosen from evidence of past business rather than from lines drawn on wicks.
  • To frame trade location and targets: entries near a node's edge are risk-defined against it, targets are projected across low-volume gaps toward the next node, and an untested prior POC (a naked POC) stays on the map as a revisit candidate. None of these levels is obligated to hold.
  • To judge acceptance versus rejection: if price pushes outside the value area and keeps trading there, the market is accepting new prices, which favors continuation; a quick trip back inside marks rejection and favors rotation back across the trading range.
  • To add flow context: pairing the profile with per-price aggressor data (footprint concepts) shows not just how much traded at each level but which side initiated it, which helps distinguish absorption from ordinary participation.

Volume Profile vs adjacent tools

TPO Profile: Market Profile's TPO chart counts time at price, not volume at price. The two usually agree on broad structure but diverge when a short burst transacts huge volume: TPO understates it, the volume profile shows the spike.

Delta Profile: A delta profile keeps the same price-binned layout but plots buy volume minus sell volume per level, exposing which side was aggressive there. The standard profile answers 'how much traded'; the delta profile answers 'who pushed.'

Session VWAP: VWAP compresses the session's volume-weighted trade into one average line, the mean, while the profile shows the whole distribution and its POC is the mode. The two often sit near each other but are different statistics.

Resting Liquidity / Liquidity Heatmap: A liquidity heatmap plots resting limit orders that may be pulled and may never execute: intent. A volume profile plots executed trades: history. Confusing displayed liquidity with transacted volume is a common mix-up.

More Volume Profile implementations

Concept family

Volume & Order Flow

88 concepts mapped · 88 in the Library

Volume Profile FAQ

What is the difference between session, fixed-range, visible-range, and composite volume profiles?

Only the anchor changes. Session profiles rebuild each day, fixed-range profiles cover a window you pick such as a swing or an event, visible-range recomputes from whatever bars are on screen, and composites stack many sessions into one distribution. The math is identical; the levels differ because the sample differs, so state the window before quoting a POC.

Is the value area always 70%?

70% is convention, not law. It loosely mirrors the one-standard-deviation share of a normal distribution (about 68%) inherited from Market Profile tradition, and most tools let you set any percentage. What matters is consistency: value areas computed at different settings, or over different anchors, are not comparable levels.

Do naked POCs always get revisited?

No. An untested point of control is a popular magnet narrative, and price does frequently rotate back through old high-volume areas, but plenty of naked POCs stay untouched for months or forever. Treat a revisit as a scenario with a defined level attached, not a prediction, and let the current auction decide the timing.

Does a volume profile work on forex or other markets without centralized volume?

With caveats. Spot forex has no consolidated tape, so profiles there are built from tick counts or a single broker's feed, which approximate participation rather than measure it. Futures and centralized crypto exchanges report actual traded volume. Profile structure is still usable on proxies, but read exact node sizes more skeptically.

Is a high-volume node support or resistance?

Either, and sometimes both in the same day. A high-volume node is evidence of acceptance: many positions were built there, so price approaching it tends to slow as two-sided trade resumes. Whether it holds or lets price through depends on the current auction, which is why node touches are usually traded with confirmation rather than blindly.

Turn Volume Profile into a trading strategy.

Take any implementation from this page into Quant, then build on it, backtest it on real data, and keep refining it with AI.