DOM on Chart
DOM on Chart renders the live order book (Depth of Market) as a visual overlay directly on the price chart. Bid orders are shown on one side and ask orders on the other, updating in real-time via WebSocket. This gives you immediate visual context about resting order liquidity without switching to a separate DOM widget.How It Works
The indicator subscribes to the order book feed via WebSocket and receives periodic snapshots of resting limit orders at every price level. For each level, it knows the total resting volume on the bid side (buyers waiting) and the ask side (sellers waiting). This data is rendered as a vertical overlay on the right portion of the chart, aligned with the price axis:- Bid volume (buy orders) is shown extending leftward from the price axis.
- Ask volume (sell orders) is shown extending rightward from the price axis (or in the opposite visual direction, depending on display mode).
Indicator Type
Overlay — rendered on the price axis side of the chart. Does not occupy a separate subchart panel.Settings
Visibility
Colors
Depth and Sizing
The
depthLevels parameter controls how deep into the order book the visualization extends. For most symbols, 5000 levels covers a significant price range. Reduce this value on very liquid symbols where thousands of levels exist near the spread, or increase it on illiquid symbols where you want to see the full book.
widthPercent determines how much horizontal chart space the overlay occupies. At 25% (default), the DOM overlay takes up the right quarter of the chart area. Increase for better volume resolution; decrease to preserve more chart space for price action.
Display Mode
Each display mode offers a different visual representation of the same underlying order book data:
Cumulative Mode
When enabled, each price level shows the sum of all volume from the best price to that level, rather than just the volume at that specific level. This produces a monotonically increasing curve that shows total available liquidity at each price point.
- Cumulative off (default): each bar represents volume at exactly that price level. Large individual orders stand out clearly.
- Cumulative on: each bar represents total volume available up to that price. Shows the overall depth profile and how quickly liquidity drops off.
Update Frequency
Lower values provide more real-time updates but increase network and rendering load. Higher values are smoother on performance but show a less current snapshot.
Price Grouping
When set to 0 (default), the indicator automatically groups price levels based on the current chart zoom level. Zoomed in shows individual tick levels; zoomed out groups levels to prevent visual clutter.
Set a specific value to override the automatic behavior. For example,
groupStep: 10 on BTCUSDT groups every 10 price levels ($10 each) into a single bar.
Visual Enhancements
When
useGradient is enabled, levels closer to the best price are rendered in a more saturated color, while deeper levels fade. This creates an intuitive visual depth effect.
When showLabels is enabled, volume values are displayed as text labels on levels that exceed a significance threshold. This avoids cluttering the chart with labels on every level while ensuring large resting orders are clearly labeled.
Volume Filters
The highlight filter is one of the most useful features for spotting large resting orders (walls):
- Set
filterHighlightVolumeto a value that represents a significant order for the symbol (e.g., 100 BTC for BTCUSDT). - Levels exceeding this threshold are rendered in the highlight color, making walls immediately visible.
Currency Display
- BASE: shows volume in the asset being traded (e.g., BTC). More intuitive for understanding order sizes.
- USDT: shows volume in dollar terms. Better for comparing across different assets.
Reading the DOM Overlay
Identifying Walls
A wall is a single price level (or narrow zone) with disproportionately large resting volume. Walls appear as a long bar that extends far beyond its neighbors. They represent:- Bid walls: large buy orders below the current price. Can act as support — price may bounce off the wall. However, walls can also be spoofed (placed and cancelled).
- Ask walls: large sell orders above the current price. Can act as resistance — price may be rejected at the wall.
Book Shape Analysis
The overall shape of the DOM overlay reveals the liquidity landscape:- Symmetric book: roughly equal bid and ask volume at comparable distances. Balanced market with no directional lean.
- Bid-heavy book: significantly more volume on the bid side. Suggests support below, but could also indicate that large buyers are placing passive orders to accumulate.
- Ask-heavy book: significantly more volume on the ask side. Suggests resistance above.
- Thin book: very little volume on either side. Low liquidity environment where price can move quickly with small orders.
Dynamic Changes
Watch for these real-time patterns:- Wall removal: a large wall that suddenly disappears was likely cancelled (spoofing) or filled. If filled, it is a significant event.
- Wall migration: a wall that moves closer to the current price suggests the entity is adjusting their entry point — potentially more aggressive.
- Liquidity vacuum: a gap in the book (no resting orders for several price levels) indicates a potential fast-move zone.
Combining with Other Indicators
Alerts
DOM on Chart supports the following alert event:
This alert can notify you when a significant wall appears in the book, even if you are not actively watching the chart.
Performance Notes
DOM on Chart renders a potentially large number of elements (up todepthLevels bars per side) and updates them at pollIntervalMs frequency. For optimal performance:
- Use
groupStep> 0 to reduce the number of rendered elements on very liquid symbols. - Increase
pollIntervalMsif you notice rendering lag. - Set
filterMinVolume> 0 to skip rendering trivially small levels. - Use
histogrammode for the lightest rendering cost.areamode with gradients is slightly more GPU-intensive.
Limitations
- Snapshots, not continuous: the DOM overlay shows periodic snapshots, not a continuous feed. Fast-changing orders between snapshots may not be visible.
- Spoofing risk: large visible walls may be spoofed orders that will be cancelled before execution. Do not rely on a single wall as a definitive signal.
- Top of book only: the overlay shows resting limit orders. Iceberg (hidden) orders are not visible.