Heatmap overview: sources, contract choice, time span and HUD
The Heatmap module paints resting liquidity by price and time from a live depth feed, with trades, key levels, a book ladder and optional markers. This page explains where the data comes from, what the controls row does and how to read the HUD.
Senzoukria · Documentation · Updated September 2026
Where to find it
- Where
- Sz menu → Heatmap
- Source
- Follows the app data source: Rithmic, Databento CME, NinjaTrader bridge, Quantower bridge, or crypto (Binance / Bybit)
- History
- Fine ring of 5 minutes at 100 ms (3,000 columns × 1,024 price levels), plus coarser levels at 1 s, 10 s and 60 s above it
- Default span
- 20 s
What it does
The heatmap turns each order-book snapshot into a column of cells, one per price level, whose brightness follows the resting size. Snapshots arrive every few milliseconds from the connected source; the engine bins them into 100 ms buckets and keeps five minutes of that fine history in a ring buffer. Above it, three coarser levels fold the same data into 1 s, 10 s and 60 s buckets, which is what a 15 min, 1 h or 4 h span actually draws. Trades are drawn on top as bubbles, the best bid and ask as lines, and a volume profile, key levels and a DOM ladder sit at the right edge.
Because the feeds deliver full snapshots rather than deltas, a book reconstructor diffs consecutive books level by level. A size increase is recorded as an add; a decrease is split between what the tape printed at that price (execution) and what simply vanished (a pull). Pulls are only classified inside a band of 50 ticks around the best bid and ask, and a snapshot with fewer than 3 levels on either side is treated as truncated and produces no add/pull deltas.
Controls row
| Control | Default | What it does |
|---|---|---|
| Contract button (Rithmic / Databento) | Last heatmap contract | Reads "{symbol} · {exchange} ▾"; opens the symbol picker ("Choose the heatmap contract"). The venue is derived from the contract |
| Market and pair (crypto) | Follows the data source, Bybit if unknown | Switches the exchange and the pair; the choice is remembered per market |
| Time span | 20 s | 5 s, 10 s, 20 s, 1 min, 5 min, 15 min, 1 h, 4 h — "limited to the data received" |
| Heatmap button | — | Opens the settings modal (Rendering, Liquidity, Trades, Markers, Profiles, DOM ladder, Presets) |
| ◈ Intelligence | Closed | Opens the evidence panel for the current instrument |
| LIVE | Hidden while live | Appears after you pan into the past; jumps back to the live edge |
HUD
The HUD in the bottom-left corner prints the symbol first, then two rates and an age: “{symbol} · 12.4 snap/s · 3.1 trd/s · âge 80 ms”. Rates are measured over a one-second window, so a dead feed falls to zero within a second while a quiet market simply decays. When the “Diagnostic HUD” setting is on (off by default) a second segment adds the frame rate and the number of re-centrings with the worst re-centring time; a count of frame errors is appended only when there has been at least one.
Per-instrument thresholds
Appearance settings are shared across instruments, but the five quantity thresholds (low floor, trade volume filter, minimum volume eaten, big order threshold and ladder minimum size) are stored per source and instrument. A crypto pair starts every one of them at 0, so a floor tuned in lots on MNQ can never silently blank a BTC book. The "Auto setup for this pair" row in the Rendering tab fills them from the recent tape and book.
Limits
- Market data is billed by the provider; the heatmap displays what the subscription publishes and nothing more.
- The 4 h span is the maximum you can request; the visible window is bounded by the data actually received since the module opened.
- On a Rithmic source the Rithmic attribution stays in the top-left corner; it is a compliance requirement, not a setting.
- A subscription refusal is shown in plain language with a Retry button; the broker's raw message is kept inside the notice for support.
Related pages
This page in other languages
Frequently asked questions
- Why does the heatmap show a crypto pair when I expected CME?
- The module follows the data source stored by the app. Select Databento CME or Rithmic in the data source selector, then reopen the heatmap; the contract button will name the futures contract.
- How far back can I scroll?
- The fine ring keeps 5 minutes at 100 ms resolution. Beyond that the coarser levels take over — 1 s, 10 s and 60 s buckets — which is what the 15 min, 1 h and 4 h spans draw. In every case the window is bounded by the data actually received since the module opened; nothing is back-filled from history.
- Does the heatmap reconstruct the book from order-by-order data?
- No. It diffs aggregated snapshots. Side attribution and add/pull tints are inferred from that diff and are never presented as MBO observations. The Liquidity tracker column, Rithmic only, is the part fed by the order-by-order stream.