Heatmap trade bubbles and styles

Volume dots draw each aggregated trade on the heatmap as a bubble whose area follows the traded quantity. The Trades tab sets their size, a volume filter, neutral or aggressor colouring, six visual styles and the outline and text colours.

Senzoukria · Documentation · Updated September 2026


Where to find it

Where
Heatmap → "Heatmap" button → Trades tab
Default
Volume dots on, size 100%, filter 0, colour mode Neutral, style Flat
Sizing
Adaptive; frozen when Auto sensitivity (Rendering tab) is off

What it does

Every trade printed by the source is placed at its price and time on the heatmap. The bubble layer sizes each dot from the quantity relative to the recent distribution, writes the quantity inside when the bubble is large enough, and can tint the fill by aggressor. The dots are drawn on a Canvas2D overlay above the WebGL liquidity texture, so they stay crisp when you pan or zoom.

On crypto sources the quantity is normalised to the base asset before sizing: the Binance footprint wire carries quote notional, which is divided by price, while Bybit already publishes base quantity. Profiles and depth attribution use the same base units, so a bubble, a profile bar and a book level on BTCUSDT all speak BTC.

Settings

Trades tab of the heatmap settings modal
SettingDefaultWhat it changes
Volume dotsOnMaster switch of the bubble layer
Size (%)10010–400 in steps of 5; scales every bubble radius
Volume filter ≥ (lots / base unit)00–1,000,000; step 5 on futures, 0.001 on crypto. Aggregated trades below it are not drawn. Stored per instrument
Colour modeNeutralNeutral: single fill. Aggressor: buy fill for trades at the ask, sell fill for trades at the bid
StyleFlatFlat, Neon, 3D, Glass, Ring, or Buy/sell (a sphere split by the bought and sold share)
Buy / sell#4ade80 / #fb7185Fill colours used in Aggressor mode and by the Buy/sell style
Outline / textrgba(0, 0, 0, 0.55) / #0a0a0aStroke around the bubble and colour of the quantity written inside

How to use it

Start with the filter at 0 to see the full tape, then raise it until only the prints that matter remain; the "Auto setup for this pair" button in the Rendering tab sets the filter to the top 2% of recent trades for you. Use Aggressor colouring when you want to see who lifted or hit a level, and the Buy/sell style when a single aggregated bubble mixes both sides and you want the proportion. The Ring style keeps the centre transparent so the liquidity behind the print stays visible.

Limits

  • Bubbles show executed quantity as published by the source; they are not a hidden-order or iceberg indicator.
  • Turning Auto sensitivity off freezes the bubble sizing scale together with the heat anchors.
  • A colour value must be a short valid CSS string; an invalid entry falls back to the default rather than silently producing an invisible outline.
  • The filter unit follows the instrument: lots on futures, base asset on crypto.

This page in other languages

Frequently asked questions

Why are all my bubbles the same colour?
Colour mode is Neutral by default. Set it to Aggressor to split buys and sells, or choose the Buy/sell style.
Why does the filter value I set on ES do nothing on BTCUSDT?
Quantity thresholds are stored per source and instrument, and every crypto pair starts at 0. Set the filter again on the crypto pair, in base units.
Can the quantity be written in every bubble?
The text is drawn only when the bubble is large enough to keep it readable; small prints show the dot alone.

Keep reading