Appearance

Personalize your experience

Mode
Accent Color
Direction
Composite Profile

Composite Profile

Charts / Chart Types / Volume Charts

Volume, time and resting liquidity at every price of a session, side by side, with three points of control and each row classified.

What the chart shows

A shows where size traded. A TPO profile shows where price spent time. Neither shows where orders were waiting. The composite profile draws all three for each on the same price : , time at price, and the average size resting in the book. It then names each row by how the three readings combine.

Three views of value; each misses something the others showVolume profileWhere size changed handsMisses levels that held without tradingTPO (time)Where price spent timeMisses one fast, heavy printBook (liquidity)Where orders waitedMisses what actually tradedSide by side on the same rows, the disagreements become the signal.
Each profile alone misses something; together they explain the session.
Menu
Chart type → → Composite profile
Engine type
composite-profile
Combines
bars (volume, time) + bid / ask per price (optional) + recorded order book (optional)
Works without depth
Yes: volume and time lanes and their classes; the book lane is hatched
Unique to this chart
VPOC / TPOC / LPOC together, and accepted / wall / run-through /

Anatomy of a session

Anatomy of one composite-profile sessionVOLTIMEBOOKVPOCTPOCLPOCAccepted value: heavy volume and much timeUntested wall: heavy book, little tradedRun-through: heavy volume, thin bookRejected excursion: volume in little timeVPOC: most traded · bracket = value areaTPOC: most time (TPO periods)LPOC: most resting liquidityVol 560K · VA 2448.0–2449.5 · 535 book snapshotsValue was accepted around the VPOC, a wall sat untouched above, and price ran through the thin rows between them.
One session: three lanes, three POCs, the value-area bracket and the four row classes.
PartWhat it isHow to read it
VOL laneVolume traded at each price.Long are prices where business was done.
TIME laneTPO periods that traded at each price.Long are prices the market kept returning to.
BOOK laneMean resting size (bid + ask) over the 's snapshots.Long are prices where liquidity sat.
VPOC / TPOC / LPOC with the most volume, time and liquidity.When they coincide, is ; when they split, the market is unbalanced.
-area bracket holding 70 % of volume, grown from the VPOC.The 's accepted range.
Class tints named by their three readings (see below).Read structure at a glance; the edge marker stays even with tint off.
Volume, value area and book snapshot count."bar spread" means volume came from bar ranges, not real bid / ask.

How a session is built, step by step

  1. 1
    Split into sessions
    Bars are grouped by length starting at starts at.
  2. 2
    Choose rows
    The 's range is divided into about per , rounded to a nice price step.
  3. 3
    Volume lane
    Supplied bid / ask volume per price is summed into the ; without it each bar's volume is spread over its range.
  4. 4
    Time lane
    Bars are grouped into TPO periods; each adds one to every row between its high and low.
  5. 5
    Book lane
    Up to about 600 snapshots recorded during the are averaged per row (bid + ask).
  6. 6
    Points of control and value area
    The row with the most of each reading is its POC. The value area grows from the VPOC two at a time until it holds the set share of volume.
  7. 7
    Classify rows
    Each row's three readings, as shares of their lane maximum, decide its class ( below).
How rows are classifiedClassVolumeTimeBookAccepted valueheavyheavy—Untested wallthin—heavyRun-throughheavy—thinRejected excursion≥ 0.6 × heavythin (× 0.75)—heavy = at least "Heavy above" (60 %) of the lane's maximum · thin = at most "Thin below" (25 %)Rules are checked in this order; the book classes apply only when depth was recorded in the session.
The classification rules, checked top to bottom.

Reading the chart, step by step

  1. 1
    Find value
    Green accepted around the VPOC and TPOC are where both agreed on price. Expect two-way trade when price returns there.
  2. 2
    Find walls
    Blue (heavy book, little traded) are liquidity the never tested. They tend to stop the first approach next session.
  3. 3
    Find the gaps
    Red run-through traded heavily through a thin book; price moved fast there and can move fast again.
  4. 4
    Find rejection
    Orange printed volume in very little time: an excursion the market , often at the extremes.
  5. 5
    Compare the POCs
    VPOC and LPOC far apart means size traded away from where liquidity rested; the market was moving to find the other side.

Setting it up, step by step

  1. 1
    Select the chart type
    Chart type menu → → Composite profile, then open the gear.
  2. 2
    Set the session
    Use the exchange (for example 6.25 h from 9.25 for NSE) or the Daily / 4-hour presets.
  3. 3
    Match the TPO period
    30 min for daily sessions, 5–15 min for short sessions, so each has enough periods.
  4. 4
    Keep it open for depth
    The book lane only while the chart records the order book; the open gains its BOOK lane as you watch.

Common setups

Index futures

Daily sessions, 30-min TPO, 48 , tint across the . today's walls with yesterday's value area.

Crypto 24/7

4-hour sessions, 15-min TPO, structure-only preset to see the of each block.

History review

No depth needed: volume and time lanes show accepted and excursions over months of daily bars.

Limitations

ℹ
Note:The book lane is an average of recorded snapshots. A wall that sat for five minutes of a six-hour shows ; switch to shorter sessions to see short-lived liquidity.
  • Sessions before depth was recorded have a hatched book lane and no wall or run-through classes.
  • Without supplied bid / ask volume, volume at price is spread evenly over each bar's range.
  • Row size changes with each 's range; classes, not row counts, across sessions.

Native Quatick implementation and live demos

The charts below are the real Quatick engine (@quatick/quatick-charts), the same code the trading terminal runs, fed by a deterministic simulated market. Switch between demos, press Run market to stream ticks, order-book snapshots and , to pan and use the wheel to zoom. Show code exactly the calls each makes.

Live demo
One-hour sessions on 15-second bars. The last half hour has recorded depth, so its BOOK lane and LPOC appear, and walls (heavy book, little traded) are marked blue.
Loading the Quatick chart engine…
composite-profile · 0 bars · last — · 0 trades · drag to pan, wheel to zoom

How the engine draws Composite profile

Composite profile: native Quatick pipelineDATA INENGINE COMPUTESRENDERERDRAWN ON TOPOHLCV barsBid / ask per price(optional)setOrderbookSnapshot(book)(optional)1. Split into sessions2. Volume, TPO and meanresting size per row3. VPOC, TPOC, LPOC andvalue area4. Classify rowsCanvas 2DClass tints andmarkersThree POC linesStats and legendLive update cost: Closed sessions cached; the open session at most twice a second
Inputs, computation, renderer and overlay layers of the Composite profile chart type in the native engine.
StageWhat happens
in bars
Bid / ask per price (optional)
setOrderbookSnapshot(book) (optional)
Split into sessions
Volume, TPO and mean resting size per row
VPOC, TPOC, LPOC and value area
Step 4Classify
Canvas 2D
LayersClass tints and markers · Three POC lines · Stats and legend
updatesClosed sessions cached; the open at most twice a second

How data reaches the screen

How data reaches the screenYour app / broker feedChart APIEngine stores & cachesScreen (rAF)new Chart({ container, chartType })setData(series, bars)bars → data managerindex + boundssetChartTypeOptions(type, {...})sanitise against schemaclamp rangessetFootprintData(levels)FootprintStore.setAllchanged bars onlysetOrderbookSnapshot(book, { time })OrderbookModel + LiquidityHistoryrow gridaddTrades(trades)TradeTape (sorted)real trades winupdate(series, formingBar) — every tickrecompute forming barO(1)request redrawone framerender price action + overlays
The calls your code makes, what the engine stores, and when it draws. Redraws are coalesced into one animation frame.

Minimal implementation

The first above, as standalone code:

typescript
import { Chart } from '@quatick/quatick-charts';

const chart = new Chart({
  container: document.getElementById('chart')!,
  chartType: 'composite-profile',
  theme: 'dark',
  renderer: 'canvas',
  showVolume: false,
});
const series = chart.addSeries({ type: 'candlestick' });
chart.setData(series.id, bars); // [{ time, open, high, low, close, volume }] — time in seconds

chart.setChartTypeOptions('composite-profile', {
  sessionHours: 1,
  periodMinutes: 5,
  rowsPerSession: 40
});

// Real bid / ask volume per price, keyed by bar time
chart.setFootprintData({ [bar.time]: [{ price, bid, ask }, ...] });

// Live: every tick updates the forming bar (a new time opens a new bar)
feed.onTick(bar => chart.update(series.id, bar));
feed.onLevels((time, levels) => chart.updateFootprintBar(time, levels));

// Depth and trades
feed.onBook(book => chart.setOrderbookSnapshot(book, { time: chartSeconds }));  // { bids: [[price, size]], asks: [[price, size]] }
feed.onTrades(trades => chart.addTrades(trades));  // [{ time, price, size, side: 'buy' | 'sell' }]

Quatick settings reference

Loading the settings list…

See also

Related articles

  • TPO Market Profile

    Charts / Chart Types / Volume Charts

    Time-Price-Opportunity Market Profile using letter-based visualization to reveal where price spent time.

  • Volume Profile

    Charts / Chart Types / Volume Charts

    A horizontal volume distribution histogram showing trading activity at each price level over a session.

  • Liquidity Heatmap

    Charts / Chart Types / Volume Charts

    Resting order-book size at every price over time, drawn on the GPU, with executed trades as bubbles.

  • Absorption & Iceberg Map

    Charts / Chart Types / Volume Charts

    Hidden liquidity made visible: levels where more traded than the book showed, and levels that absorbed heavy flow without breaking.

  • Cumulative Delta (CVD)

    Charts / Chart Types / Volume Charts

    Candles of the running total of buy volume minus sell volume, with divergence detection against price.

  • Depth Footprint

    Charts / Chart Types / Volume Charts

    Each bar split in two: what traded at every price, and what was resting in the book at that price.

  • DOM Ladder

    Charts / Chart Types / Volume Charts

    Depth of market on the chart's price scale: resting bids and asks, your orders, traded volume and delta at every price, with recent candles beside it.

  • Order-Book Imbalance Candles

    Charts / Chart Types / Volume Charts

    Candles of how one-sided the resting book was, with what aggressive traders actually did on the same scale.

  • Orderflow Chart

    Charts / Chart Types / Volume Charts

    An enterprise-grade orderflow visualization combining footprint, CVD, depth ladder, whale detection, and time & sales.

Browse all knowledge base articles →