The filtering problem
Most tape readers count messages that are not trades
Many feeds reuse the same message type for volume and VWAP updates. A naive decoder counts those as prints, and every number downstream inherits the error.
Filtered at the decoder
Snapshot and VWAP-update messages are discarded where they arrive, before any aggregation. Nothing downstream has to guess whether a print was real.
Bid x ask per price, per bar
Each row of a bar is split: volume that hit the bid on the left, volume that lifted the ask on the right.
Imbalance highlighting
A half-cell lights up when one side is at least 200% of the diagonal opposite and the raw difference clears a contract floor — so 2 against 0 stays quiet while 15 against 0 does not.
Delta and cumulative delta
Per-cell, per-bar and running, over any bar type the platform builds.
Any bar type
Time, range, volume and tick bars all carry a footprint, because they are all built from the same tick history.
The candle stays
Every footprint bar keeps its actual OHLC drawn alongside the cells, so you never lose the price action while reading the volume.
Specifics
At a glance
Before you ask
Questions
Why do your numbers differ from another platform?
Usually message filtering. If a platform counts snapshot or VWAP-update messages as trades, its volume runs high and its delta drifts. Ours discards them at the decoder.
What ratio should imbalance use?
The default is 200% with a minimum raw difference, which is the common convention. Widening it makes almost every cell trip the test, at which point the highlight stops carrying information.
Does it work on range and volume bars?
Yes. Every bar type is constructed from the same raw ticks rather than resampled from time bars, so the footprint is exact on all of them.
Newsletter
Get updates, offers and events
New features, launch offers and live sessions, straight to your inbox. Unsubscribe any time.