Volume dots (executions on the heatmap)

Volume dots are markers drawn on a liquidity heatmap at the price and time where trades executed, sized by the traded quantity, so that executions can be read against the resting liquidity they hit. They add the footprint's information, what traded, to the heatmap's information, what was waiting.

Senzoukria · Glossary · Updated September 2026


What a dot encodes

A heatmap by itself shows only passive size. Trades are a separate stream, and the dots are that stream drawn in the same coordinates: horizontal position is time, vertical position is the traded price, and the dot's size scales with the quantity. Colour usually marks the aggressor side, so a dot at the offer with the buy colour is a buyer lifting resting asks.

  • One dot can represent one print or an aggregation of prints in the same pixel column, depending on zoom.
  • The size scale is relative to the instrument and window; compare dots with each other, not across contracts.
  • A dot on a bright band means that band was traded into; a dot in dark space means the trade crossed a thin level.

Reading dots against liquidity

  • Large dots on a band that persists: absorption, resting orders taking the aggression without price moving.
  • Large dots followed by the band ending: a sweep, the resting size was consumed.
  • A band ending with no dots nearby: withdrawal, the size was cancelled.
  • Delta of the dots at a level, executed at ask minus executed at bid, tells which side was aggressing.

In Senzoukria

Volume dots is a toggle in the heatmap screen's settings, listed with the executed volume options the guided tour mentions: colour scale, DOM columns, liquidity tracker, executed volume. Alongside it, the BID / ASK / DELTA columns show executed volume split by aggressor and accumulated over the session, with delta defined as executed at ask minus executed at bid; positive means aggressive buying dominated.

The dots are drawn from the trade feed, so on a session where trades arrived but depth did not, dots appear over an empty heatmap rather than over inferred bands. On crypto the depth history is recorded as you watch, so dots from before the app was opened have no liquidity behind them.

Common mistakes

  • Reading dot size as an absolute quantity across different contracts or zoom levels.
  • Treating a large dot as a large participant; a dot may aggregate many small prints.
  • Ignoring the aggressor side. A big dot at the bid and a big dot at the ask mean opposite things for the same band.

This page in other languages

Frequently asked questions

How are volume dots different from a footprint?
They carry the same executed trades, but the footprint arranges them into bars and cells, bid volume and ask volume per price per bar, while the dots keep each execution at its own point in time over the heatmap. The footprint is better for per-bar arithmetic such as delta and imbalances; the dots are better for seeing what a specific resting level did when trades reached it.
Why is a dot sitting in a dark area of the heatmap?
Because the trade executed at a price where little size was displayed at that moment. Either the level was thin, or the resting order was hidden or replenished faster than the depth feed refreshed. The dot records the print; the darkness records the displayed depth. Both are correct observations of different streams.

Keep reading