DOM Profile (session depth memory)
The DOM Profile draws the live order book as horizontal bars against the price axis and remembers every price level seen during the session, so levels that left the L2 window remain visible as faded bars. On by default, it shares its memory with the DOM ladder and is fed by the same depth stream as the chart.
Senzoukria · Documentation · Updated September 2026
Where to find it
- Where
- Chart → Indicators → Overlays → DOM Profile
- Default
- On; Bar width 180 px; Opacity 65 %; Remember far levels on; Min size 0
- Memory
- Up to 4 000 levels per side; trimmed to 3 600 by distance from the current price
- Refresh
- Memory rebuilt at paint cadence (33 ms, 30 Hz); every depth event is still recorded
What it does
Each price level of the last received book is drawn as a bar anchored at the right edge of the chart area, at the exact height of its price. Bid and ask are stacked at the same level: the dominant side is painted at the chosen opacity and the other at 43 % of it. Levels no longer in the live book but seen earlier in the session are drawn from memory at 60 % of the subdued alpha, with their last known size in a dimmed label, which is what keeps the profile readable as far as the ladder does.
The memory works in two paths. Per depth event — measured on Rithmic at 37–65 per second in regime, with bursts to 174 — the levels of the payload are written into two maps (price → last volume) with no allocation. Per painted frame the memory is trimmed, the live book is excluded, and the arrays of remembered levels are rebuilt. If neither the memory nor the live prices changed, the previous output is reused. The chart owns the memory instance; the DOM ladder reads the same instance, so both show the same remembered levels in one window.
Bars are normalised on the levels visible on screen, not on the whole book, so a large far level cannot crush the visible bars. When a tick row is under 4 px, ticks are bucketed by powers of two and each row shows its largest level; above that, one row per tick.
Settings
| Setting | Default | What it changes |
|---|---|---|
| Bar width | 180 px (40–800) | Maximum bar length for the largest visible level |
| Opacity | 65 % (10–100) | Alpha of the dominant side; the other side uses 43 % of it |
| Bid / Ask | #089981 / #F2385A | Bar colours |
| Size labels | on | Size printed at the right of each row when the row is tall enough |
| Min size | 0 = all (0–500) | Hides live levels below this size; remembered levels below it are hidden too |
| Remember far levels | on | Keeps and draws levels that left the live L2 window during the session |
How to use it
Leave the overlay on to see resting liquidity ahead of price without opening the ladder. Read the dominant colour at a level as the larger resting side. Faded bars are history: a level the feed showed earlier and has since dropped from its aggregated window, at the size last seen. They are not a claim that the order is still there.
Rows whose coverage is partial — below the known bid floor or above the known ask ceiling of the feed — are drawn at 45 % alpha so a truncated book is not mistaken for a thin one. Use Min size to remove noise on instruments with many one-lot levels.
Limits and pitfalls
- Aggregated L2 feeds publish a window of roughly 10–20 levels per side; everything beyond is memory, and memory is capped at 4 000 levels per side by distance from the current price.
- A popout window has its own memory registry; the ladder there stays live-only.
- The session bid/ask executed profile shown in the ladder's VOL BID / VOL ASK / DELTA / TOTAL columns is built from the chart bars, not from the depth stream, with the same 45-minute session cut as the Volume Profile and a capacity of 8 192 ticks.
- Depth data are billed and entitled by the provider; no book means no profile, and the overlay cannot certify that the feed is complete.
Related pages
This page in other languages
Frequently asked questions
- Why do some bars look washed out?
- Two reasons: faded bars are remembered levels that are no longer in the live book, and rows at 45 % alpha sit outside the feed's known coverage (bid floor or ask ceiling).
- Does the DOM ladder show the same memory?
- Yes, in the main window. The chart registers its memory instance per depth key and the ladder reads it; a popout does not have access to it.
- Is the profile updated on every depth event?
- Every event is recorded into memory, but the drawn arrays are rebuilt at most 30 times per second, the same cadence as trade flushes.