# Level Delta Heatmap

> A heatmap built from every single trade that shows where aggressive buyers and sellers left volume at each price – over the whole history, per candle or tick by tick. Pro plan.

Updated: 2026-11-03T07:11:01.000Z · https://chartrider.com/docs/indicators/level-delta-heatmap/

## What you see
Rows across the chart, one per price level (the bin size in ticks adapts to your zoom). Each row shows how much was bought or sold aggressively at that price: green where buyers dominated, red where sellers did, brighter where more volume traded.

- **History rows** (default): every row sums up the market's complete trade history at that price, drawn across the whole chart, so levels from months ago stay visible above and below today's candles. With **Developing** the rows show the state after each candle – what was known at that time, without hindsight; **Up to now** shows today's state everywhere.
- **Per candle**: each candle gets its own column of rows from its own trades.
- **Ticks**: a tick-accurate heatmap of the last hours (cells of milliseconds × ticks, or every single print), with lines from where open interest was opened to where it was closed when you hover.
- **Order anatomy**: when 50 candles or fewer are in view, every candle shows at which millisecond and price its trades happened, computed live from the trades.

The legend shows the row under the crosshair with its value, and the open interest of the candle.

## How it works
ChartRider records every trade of the market with its aggressor side and price. The rows add up aggressive buys and sells per price level. **When the price runs through a level** you choose whether buys and sells keep adding up (**Net**) or the level starts again at zero (**Reset**) – with Reset only levels that have not been crossed since keep their value.

**Show** switches between delta (buys − sells), only buys, only sells or total volume, and two layers from open interest: **Opened** (new positions – often traders who get trapped when the price moves away) and **Closed** (stops, covering, liquidations).

**Filled / hatched money** splits the volume left at a level by where it traded inside its candle: filled where longs bought low or shorts sold high, hatched where longs bought high or shorts sold low – the side that is more likely to be trapped. **Who sent whom** colours it by the New York session that put it there (Asia, London, New York, after hours or the 8 phases) and marks the session that collected it when the price came back through the level. The **Probability index** ranks the hatched levels above and below the current price as possible targets, weaker when filled levels lie in between and with distance.

## How to read it
- Strong rows that the price has not crossed again often act as support or resistance when it returns.
- Large hatched levels mark positions that are under water – the price often comes back to them.
- Switch to Developing before judging a level in the past, so you only see what was known then.
- History needs tick data; for markets with a short tick history the rows start at the first recorded day.

## Settings

Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy.

| Setting | Type | Default | Description |
|---|---|---|---|
| Heatmap | Switch | On | Shows or hides the heatmap without removing the indicator. Off / On. |
| Layout | Choice | History rows – whole history across the chart | History rows across the whole chart, rows per candle, or the tick-accurate heatmap. Options: History rows – whole history across the chart, Per candle – each candle's own trades, Ticks – tick-accurate heatmap with origin → destination. |
| Ticks: show | Choice | Heatmap – cells of n ms × x ticks | Ticks layout: cells of time × price, or every single trade as a print. Options: Heatmap – cells of n ms × x ticks, Prints – every trade at its time and price. |
| Ticks: lookback before the right edge (hours, 1 … 168) | Number | `12` | Ticks layout: how many hours before the right edge are loaded. (min 1, max 168) |
| Ticks: bins follow the zoom (cells of about 3 px) | On/off | on | Ticks layout: cell size follows the zoom (about 3 pixels). |
| Ticks: time bin (ms, 0 = every timestamp) – without zoom bins | Number | `1000` | Ticks layout without zoom bins: time per cell in milliseconds. |
| Ticks: price bin (ticks) – without zoom bins | Number | `1` | Ticks layout without zoom bins: price ticks per cell. |
| Ticks: origin → destination on hover (open interest, FIFO) | Choice | On hover | Ticks layout: lines from where open interest was opened to where it was closed, on hover. Options: On hover, Off. |
| History rows show | Choice | Developing – state after each candle (no look-ahead) | Developing shows the state after each candle without hindsight; Up to now shows today's state everywhere. Options: Developing – state after each candle (no look-ahead), Up to now – latest state across the chart (hindsight). |
| When the price runs through a level | Choice | Net – buys and sells keep adding up (can flip red/green) | Whether a level keeps adding up when the price runs through it, or starts again at zero. Options: Net – buys and sells keep adding up (can flip red/green), Reset – the level starts again at 0. |
| Show | Choice | Delta (buy − sell, red/green) | Delta, only buys, only sells, total volume, or the open interest layers opened and closed. Options: Delta (buy − sell, red/green), Long – aggressive buys, Short – aggressive sells, Total – buys + sells, Opened – new positions by open interest (trapped when the price moves away), Closed – stops, covering, liquidations by open interest. |
| Bin size (ticks, 0 = auto) | Number | `0` | Height of a row in price ticks; 0 picks it from the zoom. |
| Order anatomy inside the candles at close zoom (≤ 50 candles: millisecond columns × ticks, live from the server) | On/off | on | With 50 candles or fewer in view, shows the trades inside each candle by millisecond and price. |
| Normalize (history rows) | Choice | Strongest row in view | History rows: brightness relative to the strongest row in view, overall, or a fixed maximum. Options: Strongest row in view, Strongest row overall, Fixed maximum. |
| Normalize (per candle) | Choice | Rolling window (past columns only) | Per candle: brightness relative to a rolling window, the column, the cell or a fixed maximum. Options: Rolling window (past columns only), Per column, Per cell (buy/sell ratio), Fixed maximum. |
| Rolling window (columns) | Number | `100` | Per candle: number of past columns for the rolling normalization. |
| Fixed maximum (base volume) | Number | `100` | Volume that counts as full brightness with a fixed maximum. |
| Contrast | Slider | `0.6` | Contrast: lower values make weak rows more visible, higher values stress the strongest ones. |
| Opacity | Slider | `0.8` | Opacity of the heatmap. |
| Long / positive color | Color | `#22c55e` |  |
| Short / negative color | Color | `#ef4444` |  |
| Total color | Color | `#60a5fa` |  |
| Filled / hatched money (developing) | Choice | Off | Filled / hatched money on top of the heatmap or instead of it. Options: Off, On top of the heatmap, Instead of the heatmap. |
| Filled color (longs low, shorts high) | Color | `#facc15` |  |
| Hatched color (longs high, shorts low) | Color | `#3b82f6` |  |
| Who sent whom: colour filled/hatched by the session that injected it | Choice | Off | Colours filled / hatched money by the session (or phase) that put it there. Options: Off, By session – Asia, London, New York, after hours, By phase – 8 New York phases (killzones, lunch, PM …). |
| Injected in (origin) | Choice | All sessions | Only money put there in this session or phase. Options: All sessions, Asia (session), London (session), New York (session), After hours (session), Asia 18–02 (New York time), London KZ 02–05 (New York time), Pre-NY 05–07 (New York time), NY KZ 07–10 (New York time), London Close 10–12 (New York time), Lunch 12–13:30 (New York time), NY PM 13:30–16 (New York time), Close 16–18 (New York time). |
| Collected in (marks where the price came back through the level) | Choice | All sessions | Marks where the price came back through a level, for this session or phase. Options: Off – no marks, All sessions, Asia (session), London (session), New York (session), After hours (session), Asia 18–02 (New York time), London KZ 02–05 (New York time), Pre-NY 05–07 (New York time), NY KZ 07–10 (New York time), London Close 10–12 (New York time), Lunch 12–13:30 (New York time), NY PM 13:30–16 (New York time), Close 16–18 (New York time). |
| Money | Choice | Both – filled and hatched | Filled and hatched money, or only one of them. Options: Both – filled and hatched, Filled only, Hatched only. |
| Probability index from the current tick | Choice | Off | Ranks hatched levels as targets from the current price, absolute or relative to the view. Options: Off, All levels – absolute 0–100 %, same at any zoom, Viewport – strongest target in view = 100 %. |
| Barrier weight (filled levels in between) | Number | `1` | How strongly filled levels between the price and a target lower its rank. |
| Distance half-life (ATR, 0 = off) | Number | `10` | Distance in ATR after which a target's rank halves; 0 switches distance off. |

## Outputs

This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`.
