Skip to main content

mzFootprint

The mzFootprint indicator displays order flow data as a footprint (cluster) chart overlaid on NinjaTrader price bars. Each bar is broken down by price level, showing bid and ask volumes, delta, imbalances, absorption patterns, and more.

Data required: Level 1 (tick data)

Key Features

  • Footprint ladder with bid/ask volumes at every price level
  • 8 footprint styles — BidAsk, Volume, Delta, DeltaPercentage, TradesNumber, Bid, Ask, None
  • Imbalance detection with configurable ratio threshold and S/R zones
  • Absorption patterns with 5 concurrent detection levels
  • Unfinished Auction highlighting
  • Bar Volume Profile with POC and Value Area per bar
  • Session/Daily Volume Profile Levels — developing POC and VA lines
  • Statistics Grid — 16 real-time metrics per bar
  • Bar Statistics — summary row with volume, delta, COT, ratio numbers
  • Cluster Zones — horizontal zones projected from significant clusters
  • Delta Divergence signals — built-in divergence detection
  • Alerts and notifications — sound, email, per-metric thresholds

Footprint Styles

The indicator supports two independent footprint columns (Left and Right), each with its own style and settings.

StyleDescription
BidAskClassical bid x ask footprint — shows volume on bid and ask sides
VolumeTotal traded volume per cluster
DeltaBid-Ask volume difference (positive = buying pressure)
DeltaPercentageDelta as a percentage of total volume
TradesNumberNumber of individual trades per cluster
BidOnly bid-side volume
AskOnly ask-side volume
NoneColumn hidden

Cluster Visualization

Each footprint column supports three cluster rendering styles:

StyleDescription
BrickSolid color fill of the entire cluster cell
HistogramPartial fill proportional to the cell's value relative to the bar/chart maximum
NoneNo color fill — text values only

Cluster Scaling

Controls how the histogram fill is calculated:

ScaleDescription
BarScaled relative to the current bar's maximum value
ChartScaled across all visible bars on the chart
AllScaled across all loaded bars

Data Sources

Each column has three independent data source settings:

  • Scale source — which data determines histogram fill size (Volume, Delta, or TradesNumber)
  • Color source — which data determines cell coloring
  • Gradient source — which data drives the gradient/heatmap intensity

Enable Auto sources to have these set automatically based on the selected footprint style.

Color Modes

ModeDescription
SolidUniform color for all clusters
SaturationColor intensity scales with value — higher values are more saturated
HeatmapMulti-color gradient from cool to hot
GrayScale HeatmapMonochrome intensity gradient
Custom4-level color thresholds — define volume breakpoints and assign a color to each level

Custom Color Thresholds

When Color mode is set to Custom, cluster color is chosen from four value bands. Each band has a threshold and a color. These settings exist separately for the Left and Right columns.

SettingDefaultDescription
Custom 'less' filter1500Clusters below this value use the "less" color, range: 0–∞
Custom '>=' filter #11500Clusters at or above this value use color #1, range: 0–∞
Custom '>=' filter #22500Clusters at or above this value use color #2, range: 0–∞
Custom '>=' filter #33000Clusters at or above this value use color #3, range: 0–∞
Custom color 'less'TealColor for clusters below the 'less' filter
Custom color #1DarkGrayColor for clusters at or above filter #1
Custom color #2RoyalBlueColor for clusters at or above filter #2
Custom color #3RedColor for clusters at or above filter #3

The value compared against the thresholds is the one selected by Color source.

Settings Reference

note

General, Orderflow, and Levels settings are shared by all MZpack indicators and are documented in Common Settings.

Filters

SettingDefaultDescription
Ticks per level1Price level aggregation — set to 2+ to merge adjacent levels
Trade min0Minimum trade size to include
Trade max-1Maximum trade size (-1 = unlimited)

Presentation

SettingDefaultDescription
Display volume filter0Hide clusters below this value
BidColor for bid-side background
AskColor for ask-side background
Bid/Ask relative scalingtrueScale bid and ask sides relative to each other
Auto-scale valuestrueAutomatically adjust font size to fit cells
Bar borderfalseShow border around each footprint bar
Bar markerfalseShow bar markers instead of candles
Bar space, px100Vertical space between bars
Bar width, px3Width of the bar marker
Bar outer margin, px8Horizontal space between bars

General

Two settings are hidden in the shared General category and re-exposed by mzFootprint.

SettingDefaultDescription
Optimize render performancefalseSkip rendering detail when a frame would exceed Maximal render time, ms, keeping the chart responsive on heavy footprints
Maximal render time, ms100Render time budget per frame for this indicator instance. 20–50 ms is a good starting point, range: 1–200

Footprint Columns

The Left and Right columns are configured independently — every setting below appears twice in the properties grid, once under Left Footprint and once under Right Footprint. Defaults are identical for both columns except Footprint style: the Left column defaults to Bid, the Right column to Ask.

SettingDefaultDescription
Footprint styleBid (left) / Ask (right)What the column shows — BidAsk, Volume, Delta, DeltaPercentage, TradesNumber, Bid, Ask, or None
Cluster styleBrickCluster fill style — Brick, Histogram, or None
Cluster scaleBarWhat the histogram fill is scaled against — Bar, Chart, or All
Auto sourcestrueSet Scale, Color, and Gradient source automatically from the chosen footprint style
Scale sourceVolumeData that determines histogram fill size — Volume, Delta, or TradesNumber
Color sourceVolumeData that determines cluster color
Gradient sourceVolumeData that drives gradient and heatmap intensity
ClusterSteelBlueBase cluster color, used in Solid and Saturation color modes
Negative DeltaRedCluster color when the delta-driven color source is negative
Positive DeltaDarkGreenCluster color when the delta-driven color source is positive
Cluster borderDimGrayStroke drawn around each cluster cell
Color modeSaturationHow color is applied — Solid, Saturation, Heatmap, GrayScaleHeatmap, or Custom. See Custom Color Thresholds
Values: showtruePrint the numeric value inside each cluster
Values: alignCenterValue placement inside the cell — Inner or Center
Values: divider1Divide displayed values by this number to fit them into narrow cells, range: 1–∞
Values: decimal places1Decimal places shown after dividing
Values: abs Delta/DeltaPercentagetruePrint Delta and Delta % without a sign. Disable to see signed values when Color source is Delta
Values: colorDimGrayColor of the value text
Values: fontMontserrat, 12ptFont of the value text

Bar Volume Profile

Per-bar volume distribution analysis.

SettingDefaultDescription
POCstrueShow Point of Control
POCs count1Number of POC levels to display (1–10)
Primary POC borderYellow, 2pxStyle of the primary POC marker
Other POCs borderDarkOrange, 2pxStyle of secondary POC markers
Min width, px0Minimum pixel width for POC marker
VAtrueShow the Value Area
VA, %68Percentage of bar volume the Value Area covers, range: 1–100
VALightSkyBlueValue Area fill color. A second setting with the same label, listed after VA, %
VA opacity, %70Value Area fill transparency, range: 1–100

Volume Profile Levels

Session or daily developing POC and Value Area lines.

SettingDefaultDescription
ModeSessionSession or Daily profile calculation
POC: enablefalseShow session/daily POC line
POC: developingtrueShow developing POC (updates on each bar)
POC: lineOrange, 8pxPOC line style
VA: enablefalseShow session/daily Value Area lines
VA: developingtrueShow developing VA
VA: %68Value Area percentage
VA: lineRoyalBlue, dotted, 6pxVA line style

Imbalance

Imbalance detection highlights clusters where the bid/ask volume ratio is disproportionate, indicating aggressive buying or selling.

SettingDefaultDescription
ShowtrueEnable imbalance detection
Only ImbalancefalseShow only imbalanced cells (hide everything else)
Imbalance, %200Ratio threshold — e.g., 200% means one side must be 2x the other
Filter0Minimum volume on the imbalance side
Sell/Resistance zoneRedColor for sell-side (bid) imbalance
Buy/Support zoneMediumSeaGreenColor for buy-side (ask) imbalance
Highlight valuestrueColor the text values of imbalanced cells

How Imbalance Works

mzFootprint calculates diagonal imbalance. A diagonal imbalance at the Ask side means the volume of filled Buy orders is greater by a given percentage than the volume of filled Sell orders at the price level just below:

Formula: (AskVolume / BidVolume_below - 1) × 100

Example: 71-lot Ask at 2384.50 vs 19-lot Bid at 2384.25:

(71 / 19 - 1) × 100 = 274%

With the default 200% threshold, this cluster is flagged as an imbalance.

Absorption is a diagonal imbalance combined with level rejection. The Depth parameter (in ticks) defines how far the price must bounce from the absorption level to qualify.

S/R zone logic:

  • Imbalance levels on the Ask side create a support zone
  • Imbalance levels on the Bid side create a resistance zone
  • For absorption, the logic is reversed: Ask-side absorption creates resistance, Bid-side absorption creates support
  • The more volume traded and the more consecutive levels in a zone, the stronger that zone is
  • Zones can be canceled at session end (Break on session) or when price crosses and stays beyond the zone

Imbalance Markers

When footprint values are not visible (zoomed out), markers indicate where imbalances occur:

SettingDefaultDescription
Marker: visibilityNoValuesWhen to show: None, NoValues, or Always
Marker: typeDotShape: Dot or Cluster
Marker: positionOuterPlacement: Inner, Center, or Outer
Marker: min width, px0Minimum marker width in pixels; a value above 0 keeps imbalance markers visible on compressed charts, range: 0–20

Imbalance S/R Zones

Project horizontal support/resistance zones from consecutive imbalance levels:

SettingDefaultDescription
S/R zones: enablefalseEnable S/R zone projection
S/R zones: consecutive levels2Minimum stacked imbalance levels to form a zone
S/R zones: volume filter0Minimum volume for qualifying levels
S/R zones: ended byByBarHighLowZone termination rule: ByBarHighLow, ByBarClose, ByBarPOC, or ByBarTouch
S/R zones: approaching, ticks0Price may terminate a zone from this distance in ticks instead of having to reach it; 0 requires price to reach the zone
S/R zones: break on sessiontrueEnd zones at session boundaries
S/R zones: opacity, %25Zone fill transparency, range: 1–100
S/R zones: alertfalseSound alert when price reaches a zone
S/R zones: alert on bar closefalseFire the alert only on bar close instead of on each tick
S/R zones: support zone soundimbalance_support_zone.wavSound played when price reaches a support zone
S/R zones: resistance zone soundimbalance_resistance_zone.wavSound played when price reaches a resistance zone

Absorption

Absorption detects levels where aggressive orders are being absorbed by passive limit orders. The indicator supports 5 independent absorption levels, each with its own threshold, depth, and colors.

Per-level settings (repeated for #1 through #5):

SettingDefault (#1)Description
ShowfalseEnable this absorption level
Absorption, %68Ratio threshold for absorption detection
Depth1How far price must bounce from the absorption level to qualify, in ticks
Filter0Minimum volume filter
S/R zones: consecutive levels2Stacked levels required for a zone
S/R zones: volume filter0Volume filter for zone qualification
Sell/Support zoneCyan, 3pxSell-side absorption zone color
Buy/Resistance zoneOrange, 3pxBuy-side absorption zone color

Global absorption settings:

SettingDefaultDescription
Only AbsorptionfalseShow only absorption cells
Min width, px0Minimum on-screen width of the absorption marker; a value above 0 keeps absorption visible on compressed charts, range: 0–20
S/R zones: enablefalseEnable absorption S/R zones
S/R zones: ended byByBarHighLowZone termination rule
S/R zones: approaching, ticks0Price may terminate a zone from this distance in ticks instead of having to reach it; 0 requires price to reach the zone
S/R zones: break on sessiontrueEnd zones at session boundaries
S/R zones: opacity, %25Zone fill transparency, range: 1–100
S/R zones: alertfalseSound alert when price reaches a zone
S/R zones: alert on bar closefalseFire the alert only on bar close instead of on each tick
S/R zones: support zone soundabsorption_support_zone.wavSound played when price reaches a support zone
S/R zones: resistance zone soundabsorption_resistance_zone.wavSound played when price reaches a resistance zone

Unfinished Auction

An unfinished auction occurs when a bar closes with non-zero volume at the high or low — indicating the market did not fully auction that price level.

SettingDefaultDescription
ShowfalseEnable unfinished auction highlighting
ColorIndigoCell background color
Opacity, %30Background transparency
BorderIndigoCell border style
Min width, px0Minimum on-screen width of the unfinished auction marker; a value above 0 keeps it visible on compressed charts, range: 0–20

Bar Statistics

Summary statistics displayed below each footprint bar. Each metric is a separate toggle.

SettingDefaultDescription
VolumetrueShow total bar volume
DeltatrueShow bar delta — ask volume minus bid volume
Absolute Delta AveragefalseShow the average absolute delta across the bar's price levels
Min/Max DeltatrueShow the lowest and highest intra-bar delta readings
Delta %trueShow delta as a percentage of bar volume
COTtrueShow COT High and COT Low
Ratio Numbers: enablefalseShow the NEUTRAL / REJECTED / DEFENDED ratio
Ratio Numbers: bounds low0.71Lower boundary of the NEUTRAL band, range: 0–∞
Ratio Numbers: bounds high29.0Upper boundary of the NEUTRAL band, range: 0–∞
Ratio Numbers: NEUTRALGrayColor when the ratio is inside the bounds
Ratio Numbers: REJECTED/DEFENDEDRoyalBlueColor when the ratio is outside the bounds
Values are x1000trueDisplay values divided by 1000
Values divider1Additional custom divider applied to displayed values, range: 1–∞
Negative DeltaRedText color for negative delta
Positive DeltaGreenText color for positive delta
FontMontserrat, 12ptFont of the statistics row

COT (Commitment Of Traders)

COT High and COT Low measure the cumulative delta from key price events:

  • COT High — cumulative bid/ask delta starting from the moment the price makes a new high (or repeats the previous one). It reveals the buy/sell balance after a new high is reached.
  • COT Low — the same logic applied at new lows.

Trading interpretation: A new high acts as a market test, and COT High is the reaction. If the price stays at highs while COT High is negative and growing in absolute value, this indicates strong support by buy limit orders.

Ratio Numbers

Ratio Numbers classify bar activity into three states based on the Ratio Numbers: bounds low and bounds high settings above.

Calculation: For an up-bar, the ratio is bid volume above bar low divided by the bid volume at the bar low. For a down-bar, the ratio is ask volume below bar high divided by the ask volume at the bar high.

Interpretation:

RatioStateMeaning
0.71–29.0NEUTRALMarket is facilitating trade at this level
> 29.0REJECTEDPrice is being rejected — below an up-bar means lower prices rejected; above a down-bar means higher prices rejected
< 0.71DEFENDEDPrice level is being defended by limit orders — below an up-bar means buyers supporting; above a down-bar means sellers defending

Statistics Grid

A detailed grid displaying up to 16 real-time metrics per bar, rendered alongside the footprint.

Metrics

Each metric is one row of the grid. Most metrics have three settings: show adds the row, project draws qualifying cells onto the price chart, and project threshold is the value a cell must exceed to be projected (see Projecting Values on Chart). All project thresholds accept a range of 0–∞ and default to 0.

SettingDefaultDescription
Trades: showfalseNumber of trades in the bar
Trades: projectfalseProject the Trades cell onto the chart
Trades: project threshold0Trades value above which the cell is projected
Volume: showtrueBar volume
Volume: projectfalseProject the Volume cell onto the chart
Volume: project threshold0Volume above which the cell is projected
Buy volume: showfalseBar ask-side volume
Sell volume: showfalseBar bid-side volume
Delta: showtrueBar delta
Delta: projectfalseProject the Delta cell onto the chart
Delta: project threshold0Absolute delta above which the cell is projected
Delta %: showtrueDelta as a percentage of bar volume
Delta %: projectfalseProject the Delta % cell onto the chart
Delta %: project threshold0Delta percentage above which the cell is projected
Absolute Delta Average: showfalseAverage absolute delta across the bar's price levels
Absolute Delta Average: projectfalseProject the Abs Delta avr cell onto the chart
Absolute Delta Average: project threshold0Value above which the cell is projected
Delta Cumulative: showtrueSession cumulative delta
Delta Cumulative: projectfalseProject the Cum Delta cell onto the chart
Delta Cumulative: project threshold0Value above which the cell is projected
Min Delta: showfalseLowest intra-bar delta reading
Min Delta: projectfalseProject the Min Delta cell onto the chart
Min Delta: project threshold0Value above which the cell is projected
Max Delta: showfalseHighest intra-bar delta reading
Max Delta: projectfalseProject the Max Delta cell onto the chart
Max Delta: project threshold0Value above which the cell is projected
Delta change: showfalseDelta change from the previous bar
Delta change: projectfalseProject the Delta chng cell onto the chart
Delta change: project threshold0Value above which the cell is projected
Delta rate: showfalseMaximal delta rate in the bar. See Delta Rate
Delta rate: typeTickInterval the rate is measured over — Tick or Millisecond
Delta rate: type value100Size of that interval, in ticks or milliseconds. Changing it reloads historical data
Delta rate: show in barfalseDraw a vertical line on the bar at the price range where the maximal delta rate occurred
Delta rate: projectfalseProject the Delta rate cell onto the chart
Delta rate: project threshold0Value above which the cell is projected
COT High: showfalseCOT High value
COT High: projectfalseProject the COT High cell onto the chart
COT High: project threshold0Value above which the cell is projected
COT Low: showfalseCOT Low value
COT Low: projectfalseProject the COT Low cell onto the chart
COT Low: project threshold0Value above which the cell is projected
Volume per second: showfalseVolume arrival rate
Volume per second: projectfalseProject the Vol/sec cell onto the chart
Volume per second: project threshold0Value above which the cell is projected
Bar duration: showfalseElapsed time of the bar

Grid Appearance

SettingDefaultDescription
ShowfalseEnable the statistics grid
Show legendtrueDisplay the row labels column
Legend positionLeftLabel placement — Left or Right
Grid in front of FootprinttrueRender the grid above the footprint instead of behind it
Predicted values: showfalseShow extrapolated values for the bar in progress. See Predicted Values
Predicted values: gaugefalseShow the bar-progress gauge with a countdown to bar close
Values are x1000trueDisplay values divided by 1000
Values divider1Additional custom divider applied to displayed values, range: 1–∞
Cell height, px24Height of one grid row
Cell color scaleChartWhat cell color intensity is scaled against — Chart or All
Cell bordertrueDraw a border around each cell
Cell borderBlackStroke of the cell border. A second setting with the same label, listed after the toggle
Auto-scale valuestrueShrink the text to fit the cell
Auto-scale barstrueScale in-cell bars to fit the cell
FontMontserrat, 12ptGrid font
AlignCenterHorizontal alignment of the cell text
Values colorDimGrayText color of the cell values
BackgroundWhiteSmokeGrid background color

Delta Rate

Delta Rate measures the rate of delta change over a chosen time interval (milliseconds) or tick interval. When delta changes, the price also changes — the indicator shows the price range at which the delta rate occurred.

Only the maximal (by absolute value) Delta Rate is recorded and displayed per bar in the Statistics Grid and optionally on the chart as a vertical line.

High Delta Rate indicates:

  • Stop-loss triggers cascading
  • Price reversals
  • Breakouts

Predicted Values

Statistics values are extrapolated proportionally to bar time. A gauge shows the progress of the bar with a countdown to bar close. This feature is available for time-based intraday bar types only.

Projecting Values on Chart

Each Statistics Grid metric has a project toggle and a project threshold setting. When enabled, cells exceeding the threshold are projected directly onto the chart, highlighting bars where that metric is significant.

Example: Enable Volume: project and set Volume: project threshold to highlight bars with notable volume directly on the price chart.

Cluster Zones

Cluster zones project horizontal zones from significant volume clusters into the future, acting as potential support/resistance levels.

Each footprint column (Left/Right) has independent cluster zone settings:

SettingDefaultDescription
Cluster Zones: enablefalseEnable zone projection
Cluster Zones: on bar closefalseOnly create zones after the bar closes
Cluster Zones: filter min0Minimum absolute cluster value to qualify, range: 0–∞
Cluster Zones: filter max2Maximum absolute cluster value; -1 means unlimited. The default of 2 selects low volume nodes, range: -1–∞
Cluster Zones: ignore bar high/lowfalseExclude clusters sitting at the bar high or low
Cluster Zones: ended byByBarHighLowTermination rule: ByBarHighLow or ByBarTouch
Cluster Zones: break on sessiontrueEnd zones at session boundaries
Cluster Zones: styleLineDisplay: Zone, Line, or None
Cluster Zones: boxfalseDraw a box around the zone
Cluster Zones: colorRoyalBlue, solid, 4 px, 50 % opacityStroke of the projected zone or line

Use Cases

Cluster Zones can identify different types of significant price levels depending on filter settings:

  • Low Volume Nodes (LVN): Set a small filter min and filter max range to isolate low-volume clusters — areas where price moved quickly and may act as future breakout/breakdown levels
  • High Volume Nodes (HVN): Set a large filter min threshold to capture high-volume clusters — areas of price acceptance that often act as magnets or support/resistance
  • Delta/Delta Percentage ranges: Filter by delta values to find clusters with strong directional bias
  • Trades ranges: Filter by number of trades to spot institutional or retail activity clusters

Signals

Built-in delta divergence signal detection (licensed builds only).

SettingDefaultDescription
Delta Divergence: enablefalseEnable divergence signals
Delta Divergence: volume threshold-1Minimum volume (-1 = any)
Delta Divergence: delta threshold100Minimum delta for signal
Delta Divergence: alertfalsePlay sound on signal
Delta Divergence: soundmzpack_alert4.wavSound file for the divergence alert

Delta Divergence is a trend reversal signal triggered on bar close:

  • LONG signal: Price makes a new low with a bullish candle and positive delta
  • SHORT signal: Price makes a new high with a bearish candle and negative delta

Example: A bearish bar making a new high with -135 delta. When the next bullish bar closes, the signal fires for a short trade.

For full divergence analysis, see the dedicated mzDeltaDivergence indicator.

Reconstruct Tape Mode

The MZpack order flow core reconstructs individual tick trades into aggregated trades. The settings below (group Orderflow) control reconstruction behavior.

SettingDefaultDescription
Reconstruct tapetrueReconstruct tape using timestamps and Level 1 (best bid/ask) events. Required for Iceberg detection, DOM pressure, and DOM support
Reconstruct tape: timestamps onlyfalseUse only timestamps for reconstruction — Level 1 (best bid/ask) events are ignored, including for live data, and trades with equal timestamps are merged. Enable to get an exact match between reconstructed historical and reconstructed live data. Iceberg detection, DOM pressure, and DOM support are unavailable when enabled

Note: Iceberg detection, DOM pressure, and DOM support require Reconstruct tape to be enabled with timestamps-only mode disabled.

Use Cases for ES

The following presets demonstrate common mzFootprint configurations for E-mini S&P 500 (ES). Each use case lists only settings that differ from defaults.

Classic Bid/Ask Footprint

Standard order flow reading — see bid/ask volumes at every price level with visual emphasis on delta.

SettingValue
Left: Footprint styleBidAsk
Left: Cluster styleBrick
Left: Color modeSaturation
Left: Color sourceDelta
POCstrue
POCs count1
VAtrue
VA, %68

The default starting point for footprint analysis. Saturation mode highlights clusters where delta is strongest. POC and Value Area show where the most volume traded within each bar. Look for price rejection at Value Area boundaries.

Delta Heatmap

Instantly spot aggressive buying and selling clusters across the chart.

SettingValue
Left: Footprint styleDelta
Left: Cluster styleBrick
Left: Color modeHeatmap
Left: Scale sourceDelta
Left: Color sourceDelta
Left: Gradient sourceDelta
Display volume filter50

Delta-only view with heatmap coloring turns each cell into a heat signature. Hot cells = aggressive activity. Filter out noise below 50 contracts. Useful on 5–15 min charts to find bars with hidden aggression that candlesticks don't reveal.

Volume Clusters with Custom Thresholds

Highlight institutional volume levels on ES using fixed thresholds.

SettingValue
Left: Footprint styleVolume
Left: Cluster styleBrick
Left: Color modeCustom
Custom 'less' filter500
Custom '>=' filter #1500
Custom '>=' filter #21000
Custom '>=' filter #32000

Four color tiers make institutional activity stand out: cells under 500 get a muted color, 500+ first highlight, 1000+ second, 2000+ brightest. Adjust thresholds based on current ES average volume — these values work for regular trading hours.

Imbalance Detection

Find price levels with aggressive one-sided order flow.

SettingValue
Imbalance: Showtrue
Imbalance, %300
Imbalance: Filter10
Imbalance: Highlight valuestrue
Imbalance: Marker: visibilityAlways
Imbalance: Marker: typeDot

A 300% threshold (3:1 ratio) ensures only strong imbalances are flagged. Filter of 10 removes noise from thin price levels. Dot markers visible at any zoom level. Stacked buy imbalances at bar lows indicate support; stacked sell imbalances at bar highs indicate resistance.

Imbalance S/R Zones

Project support and resistance zones from consecutive imbalance levels.

SettingValue
Imbalance: Showtrue
Imbalance, %200
Imbalance: Filter10
S/R zones: enabletrue
S/R zones: consecutive levels3
S/R zones: volume filter10
S/R zones: ended byByBarClose

Three consecutive imbalance levels required — produces fewer but higher-quality zones. ByBarClose termination is more conservative than ByBarHighLow: a zone survives wicks and only ends on a decisive close through it. Green zones = support, red zones = resistance.

Absorption Pattern Detection

Detect where passive limit orders absorb aggressive market orders — exhaustion and reversal points.

SettingValue
Absorption #1: Showtrue
Absorption #1: Absorption, %100
Absorption #1: Depth2
Absorption #1: Filter20
Absorption #2: Showtrue
Absorption #2: Absorption, %200
Absorption #2: Depth1
Absorption #2: Filter50
Absorption: S/R zones: enabletrue
Absorption: S/R zones: ended byByBarHighLow

Two absorption levels work together: Level #1 (100%, depth 2) casts a wider net for moderate absorption, Level #2 (200%, depth 1) catches only strong absorption events with 50+ contracts. Absorption at bar extremes often precedes reversals. S/R zones project these levels forward.

Unfinished Auction

Find bars with incomplete price auction — potential continuation or revisit levels.

SettingValue
Unfinished Auction: Showtrue
POCstrue
POCs count1
POC: enabletrue
POC: developingtrue

An unfinished auction means the bar closed with volume still at the high or low — the market did not fully reject that price. These levels often get revisited. Combine with developing session POC to see whether unfinished levels align with the session's value center.

Cluster Zones — High Volume Nodes

Project horizontal S/R zones from high-volume clusters.

SettingValue
Left: Footprint styleVolume
Left: Cluster styleHistogram
Cluster Zones: enabletrue
Cluster Zones: filter min500
Cluster Zones: ignore bar high/lowtrue
Cluster Zones: on bar closetrue
Cluster Zones: ended byByBarHighLow
Cluster Zones: styleZone

Zones project from clusters with 500+ contracts, excluding bar highs/lows (which are often just wicks, not genuine support/resistance). "On bar close" prevents false zones from forming mid-bar. High-volume clusters act as magnets — price tends to revisit them.

Delta Divergence Signals

Detect potential trend reversals using delta divergence.

SettingValue
Delta Divergence: enabletrue
Delta Divergence: volume threshold5000
Delta Divergence: delta threshold200
Delta Divergence: alerttrue

A LONG signal fires when price makes a new low but the bar closes bullish with positive delta above 200 contracts — sellers failed to drive the close lower. Volume threshold of 5000 ensures the signal occurs on bars with enough participation to be meaningful. Works best on 5–15 min timeframes.

Statistics Grid for Scalping

Real-time metrics dashboard for ES scalping — monitor volume, delta, and pace at a glance.

SettingValue
Showtrue
Show legendtrue
Grid in front of Footprintfalse
Cell color scaleChart
Values are x1000true

Enable these metrics: Volume, Delta, Delta %, Delta Cumulative, Delta Rate, Volume per Second.

Six key metrics per bar: Volume and Delta for size, Delta % for context, Cumulative Delta for session trend, Delta Rate for speed of flow, Volume per Second for tempo. Grid behind footprint keeps clusters readable. Color scale per chart view — hot cells show where the action is relative to visible bars.

Performance Tips

mzFootprint is a tick-level indicator processing market data on every tick. To keep charts responsive:

Reduce loading time:

  • Use Tick Replay for maximum historical precision (requires additional PC resources)
  • Set Days to load to the minimum value you need
  • Remove unused indicators from the chart — use the visibility toggle (eye button) to temporarily hide indicators you need only periodically
  • Close unused shadow workspaces

Optimize live rendering:

  • Set MaximalRenderMs to 20–50 ms (under General > Optimize render performance). The chart may flash briefly but will remain responsive
  • Set Ticks per level to 2 or more for instruments with many price levels
  • This indicator supports OnBarClose mode for further optimization of system resources

Non-Bid/Ask Data Support

Some markets (Forex, cryptocurrencies, NSE/Indian stock market) do not provide historical bid/ask data. Without it, all historical trades appear on the Bid side only.

Solution: Set Orderflow > Calculation mode to UpDownTick for these instruments.

Hybrid mode (NSE): NSE market data providers do not transmit historical bid/ask data. Use Hybrid mode, which applies UpDownTick calculation for historical data and BidAsk calculation for real-time data (100% accurate attribution for live trades).

Recommendation: For Forex pairs, use the relevant futures contract (e.g., 6E for EURUSD) to enable all order flow features including DOM analysis.

Notifications

Each bar metric can raise a sound alert when it crosses a threshold. Thresholds are compared against the absolute value, so one threshold covers both directions. Alerts fire once per bar and reset on each new bar.

SettingDefaultDescription
On bar closefalseEvaluate all alerts below only on bar close instead of on each tick
Trades number: alertfalseAlert on the number of trades in the bar
Trades number: threshold0Trades count that triggers the alert
Trades number: soundbeep.wavSound file for the trades alert
Volume: alertfalseAlert on bar volume
Volume: threshold0Volume that triggers the alert
Volume: soundbeep.wavSound file for the volume alert
Buy volume: alertfalseAlert on bar ask-side volume
Buy volume: threshold0Buy volume that triggers the alert
Buy volume: soundbeep.wavSound file for the buy volume alert
Sell volume: alertfalseAlert on bar bid-side volume
Sell volume: threshold0Sell volume that triggers the alert
Sell volume: soundbeep.wavSound file for the sell volume alert
Delta: alertfalseAlert on bar delta
Delta: threshold0Absolute delta that triggers the alert
Delta: soundbeep.wavSound file for the delta alert
Delta %: alertfalseAlert on bar delta percentage
Delta %: threshold0Absolute delta percentage that triggers the alert
Delta %: soundbeep.wavSound file for the delta % alert
Abs Delta avr: alertfalseAlert on the average absolute delta of the bar
Abs Delta avr: threshold0Value that triggers the alert
Abs Delta avr: soundbeep.wavSound file for the absolute delta average alert
Cumulative Delta: alertfalseAlert on session cumulative delta. This alert is not reset on a new bar
Cumulative Delta: threshold0Absolute cumulative delta that triggers the alert
Cumulative Delta: soundbeep.wavSound file for the cumulative delta alert
Delta chng: alertfalseAlert on the delta change from the previous bar
Delta chng: threshold0Absolute delta change that triggers the alert
Delta chng: soundbeep.wavSound file for the delta change alert
Delta rate: alertfalseAlert on the maximal delta rate in the bar
Delta rate: threshold0Absolute delta rate that triggers the alert
Delta rate: soundbeep.wavSound file for the delta rate alert
COT High: alertfalseAlert on the COT High value
COT High: threshold0Absolute COT High that triggers the alert
COT High: soundbeep.wavSound file for the COT High alert
COT Low: alertfalseAlert on the COT Low value
COT Low: threshold0Absolute COT Low that triggers the alert
COT Low: soundbeep.wavSound file for the COT Low alert
Left cluster: alertfalseAlert on a cluster value in the Left footprint column
Left cluster: threshold0Cluster value that triggers the alert
Left cluster: soundbeep.wavSound file for the left cluster alert
Right cluster: alertfalseAlert on a cluster value in the Right footprint column
Right cluster: threshold0Cluster value that triggers the alert
Right cluster: soundbeep.wavSound file for the right cluster alert
Imbalance: alertfalseAlert when an imbalance is detected
Imbalance: soundbeep.wavSound file for the imbalance alert
Absorption: alertfalseAlert when an absorption is detected
Absorption: soundbeep.wavSound file for the absorption alert
Imbalance/Absorption: send emailfalseAlso send an email when an imbalance or absorption alert fires
Imbalance/Absorption: email address(empty)Recipient address for those emails
note

The cluster, imbalance, and absorption alerts carry the price at which they triggered; the bar-metric alerts do not.

tip

See Sound Files for the full list of pre-installed sounds and how to add custom WAV files. S/R zone alerts have their own sounds, configured in the Imbalance and Absorption sections.