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

Controls at the top of the heatmap canvas
ControlDefaultWhat it does
Contract button (Rithmic / Databento)Last heatmap contractReads "{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 unknownSwitches the exchange and the pair; the choice is remembered per market
Time span20 s5 s, 10 s, 20 s, 1 min, 5 min, 15 min, 1 h, 4 h — "limited to the data received"
Heatmap buttonOpens the settings modal (Rendering, Liquidity, Trades, Markers, Profiles, DOM ladder, Presets)
◈ IntelligenceClosedOpens the evidence panel for the current instrument
LIVEHidden while liveAppears 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.

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.

Keep reading