Skip to main content

IFootprintIndicator

IFootprintIndicator provides programmatic access to the mzFootprint chart indicator. It exposes footprint bar data, trading sessions, S/R zones, cluster zones, and all indicator settings.

Namespace: MZpack Inheritance: IFootprintIndicator : IOrderFlowIndicator : ITickIndicator : IIndicator Source: MZpackBase/mzFootprint/IFootprintIndicator.cs

Key Data Properties

PropertyTypeDescription
FootprintBarsDictionary<int, IFootprintBar>All footprint bars indexed by bar index
SessionsList<ISession>Trading sessions defined by Trading Hours

Key Data Methods

MethodReturn TypeDescription
GetSession(DateTime time)ISessionGet the session containing the specified time
LiveSRZones(SRZoneType type, TradeSide side)List<ISRZone>Get active S/R zones by type (Imbalance or Absorption) and side
LiveClusterZones(int footprint)List<IClusterZone>Get active cluster zones for a footprint index (0 = left, 1 = right)
EndedClusterZones(int footprint)List<IClusterZone>Get ended cluster zones for a footprint index
RefreshModel(RefreshModelArgs args)voidForce a model refresh

Footprint Configuration Properties

PropertyTypeDescription
FootprintPresentationFootprintPresentation[]Left and right footprint presentation modes
LeftFootprintStyleFootprintStyleStyle of the left footprint column
RightFootprintStyleFootprintStyleStyle of the right footprint column
TicksPerLevelintNumber of ticks per price level (level aggregation)
TradeFilterMindoubleMinimum trade size filter
TradeFilterMaxdoubleMaximum trade size filter
DisplayValueFilterdoubleMinimum value to display in cells

Bar Statistics Properties

PropertyTypeDescription
ShowBarVolumeboolShow total volume per bar
ShowBarDeltaboolShow delta per bar
ShowBarMinMaxDeltaboolShow min/max delta per bar
ShowBarDeltaPercentboolShow delta as percentage
ShowBarCOTboolShow COT (Commitment of Traders)
ShowBarAbsoluteDeltaAverageboolShow absolute delta average
ShowBarRatioNumbersboolShow ratio of buy/sell trade counts
ShowBarPOCboolShow bar POC level
ShowBarPOCCountintNumber of POC levels to show
ShowBarVAboolShow bar Value Area
BarVAPercentagefloatValue Area percentage (e.g. 0.70 for 70%)

Session Properties

PropertyTypeDescription
ShowSessionPOCboolShow session POC level
SessionPOCIsDevelopingboolPOC updates in real-time
ShowSessionVAboolShow session Value Area
SessionVAIsDevelopingboolValue Area updates in real-time
SessionVAPercentagefloatSession Value Area percentage

Imbalance Properties

PropertyTypeDescription
ShowImbalanceboolEnable imbalance detection
ImbalancePercentagedoubleImbalance ratio threshold
ImbalanceFilterdoubleMinimum volume for imbalance
ImbalanceMarkerFootprintImbalanceMarkerMarker style
ImbalanceMarkerTypeFootprintImbalanceMarkerTypeMarker type
ShowImbalanceSRZonesboolShow imbalance-based S/R zones
ImbalanceSRZonesConsecutiveLevelsintMinimum stacked levels to form a zone
ImbalanceSRZonesVolumeFilterdoubleVolume filter for S/R zones

Absorption Properties

PropertyTypeDescription
ShowAbsorptionboolEnable absorption detection
AbsorptionPercentagedoubleAbsorption ratio threshold
AbsorptionDepthintDepth of absorption analysis
AbsorptionFilterdoubleMinimum volume for absorption
ShowAbsorptionSRZonesboolShow absorption-based S/R zones
AbsorptionSRZonesConsecutiveLevelsintMinimum stacked levels to form a zone

Example: Access Footprint Data

IFootprintIndicator footprint = ...; // from strategy or chart

// Get footprint bar for the current bar
IFootprintBar bar = footprint.FootprintBars[CurrentBar];

// Read bar-level data
long delta = bar.Delta;
double poc = bar.POC;
long volume = bar.Volume;
long buyVol = bar.BuyVolume;
long sellVol = bar.SellVolume;

// Iterate over price levels
foreach (var kvp in bar.Volumes)
{
double price = kvp.Key;
long levelVolume = kvp.Value;
long buyVolume = bar.BuyVolumes[price];
long sellVolume = bar.SellVolumes[price];
}

// Get current session
ISession session = footprint.GetSession(DateTime.Now);
double sessionPOC = session.POC;

// Get live imbalance S/R zones
List<ISRZone> buyZones = footprint.LiveSRZones(SRZoneType.Imbalance, TradeSide.Ask);

See Also