Skip to main content

Built-in Strategies

MZpack includes three built-in strategies for NinjaTrader 8: two trading strategies and one data export utility. All built-in strategies support Auto and Manual operating modes, the Control Panel, trading times, and logging.

Footprint Action Strategy

Footprint Action is an order flow strategy built entirely on the mzFootprint indicator. It provides 10 delta and order flow signals that can be combined using AND or OR logic to form trading patterns.

Signals

Each signal has its own category in the strategy properties, named after the signal. The first setting in that category is the toggle that enables it and carries the signal's name.

SettingDefaultDescription
Delta DivergencetrueTrend reversal signal — price makes a new extreme while delta moves in the opposite direction
Delta TailtrueBar has negative delta across all levels except the bottom (or vice versa), indicating absorption at the extreme
Delta Surge/Droptrue4-bar signal tracking consecutive increasing or decreasing delta, indicating momentum buildup
Delta Fliptrue2-bar reversal signal showing a sudden delta shift from positive to negative (or vice versa)
Delta Trapfalse3-bar signal identifying a delta reversal followed by renewed strength in the original direction
Delta SlingshotfalseTrend reversal when an extreme delta reading gets overrun by the opposite extreme delta within a lookback range
Above/Below POCfalseTrade when a bar opens and closes on the same side of its Point of Control
Stacked ImbalancesfalseMultiple imbalances stacked at consecutive price levels (configurable number and direction)
Volume SequencingfalseMultiple price levels with increasing volume, indicating large trader activity
Hammer with AbsorptionfalseAbsorption (trapped sellers/buyers) detected in the wick of a hammer candle pattern

Common Signal Controls

Every signal category repeats the same five settings below the enable toggle. They are documented once here.

SettingDefaultDescription
MandatoryfalseThe signal must validate for the pattern to validate, regardless of the tree logic. In OR mode a mandatory signal is still always required
Override filtersfalseUse this signal's own bar filters instead of the global ones in the Strategy category
Min bar Volume0Per-signal minimum bar volume. Applied when Override filters is on
Min bar Delta0Per-signal minimum absolute bar delta. Applied when Override filters is on
Min bar Delta %0Per-signal minimum bar delta as a percentage of bar volume. Applied when Override filters is on

Signal-specific Parameters

Delta Divergence, Delta Tail, Delta Surge/Drop, Delta Trap, and Above/Below POC have no extra settings — they are configured entirely with the common controls above.

Delta Flip

SettingDefaultDescription
Precision40Sensitivity of the delta-flip detection — higher values require a sharper flip, range: 1–100

Delta Slingshot

SettingDefaultDescription
Lookback bars3Number of prior bars compared with the closed bar; the closed bar itself is not included. Example: value = 2 compares the two bars before the closed bar with the closed bar, range: 1–100

Stacked Imbalances

SettingDefaultDescription
Stacked Imbalances: reversefalseReverse the direction the signal returns
Imbalances: %68Imbalance percentage threshold — the diagonal bid/ask ratio a level must exceed to count as an imbalance, range: 0.01–∞
Number3Minimum number of imbalances in the stack. Set 1 to accept a single imbalance, range: 1–∞
Volume filter0Minimum total volume in the imbalance S/R zone; 0 disables the filter, range: 0–∞
Above/below POCtrueRequire the stack to be on the correct side of the bar POC — buy stacks below it, sell stacks above it

Volume Sequencing

SettingDefaultDescription
Levels4Number of consecutive price levels with increasing volume required, range: 2–5

Hammer with Absorption

SettingDefaultDescription
Wick %35Minimum wick size as a percentage of the bar range, range: 1–100
POCtrueRequire the absorption to be below the POC for a long signal and above it for a short signal

Bar Filters

Each signal applies bar-level filters to the bars it analyzes. The bars that filters apply to depend on the signal:

SignalMin bar VolumeMin bar DeltaMin bar Delta %
Delta DivergenceClosedClosedClosed
Delta TailClosedClosedClosed
Delta Surge/DropClosedClosedClosed
Delta FlipClosed, Closed-1Closed, Closed-1Closed, Closed-1
Delta TrapClosedClosed, Closed-1, Closed-2Closed
Delta SlingshotLookbackLookbackLookback
Above/Below POCClosedClosedClosed
Stacked ImbalancesClosedClosedClosed
Volume SequencingClosedClosedClosed
Hammer with AbsorptionClosedClosedClosed

"Closed" = the just-closed bar. "Closed-1" = one bar before. "Lookback" = all bars in the lookback range.

Signal Logic

  • AND — all enabled signals must validate in the same direction
  • OR — at least one signal must validate. Use Min # validated signals to require a minimum number (e.g., 2 of 5 enabled signals)

Each signal also has an Override filters option that lets it bypass the global bar filters when its own per-signal filters are configured.

Strategy Settings

SettingDefaultDescription
ActionTradeWhat the strategy does — Trade (evaluate patterns and submit orders) or Export (evaluate patterns and write them to CSV without trading, see Export Settings)
Trading: ONtrueMaster switch for opening positions. Turn it off to keep signals calculating and drawing without entering the market
Opposite Pattern ActionNoneWhat to do when the pattern validates in the opposite direction while a position is open — None, Close, Reverse, or Unmanaged. See Opposite Pattern Action
Suspend after tradefalseStop opening new positions once the current trade closes, until trading is switched back on from the Control Panel
Logic of signalsOrHow enabled signals are combined — And (all must agree on direction), Or (any one is enough), or Conjunction
Min bar Volume100Global minimum bar volume; bars below it are ignored by all signals that do not override filters
Min bar Delta100Global minimum absolute bar delta
Min bar Delta %0Global minimum bar delta as a percentage of bar volume
Min # validated signals0Minimum number of validated signals for an OR tree; 0 means a single signal is enough, range: 0–∞

Position Settings

Up to three entries can be configured for position scaling, each with its own quantity, profit target, and stop loss. Set a quantity to 0 to disable that entry.

SettingDefaultDescription
DirectionAnyAllowed trading direction — Long, Short, or Any
Trading Instrument: enablefalseSubmit orders on a data series other than the chart series. Patterns are still evaluated on the chart series
Trading Instrument: nameMES 12-24Instrument of the trading data series
Trading Instrument: periodMinuteBars period type of the trading data series
Trading Instrument: value1Bars period value of the trading data series, range: 1–∞
Quantity 11Contracts for the first entry, range: 1–∞
Profit target 1, ticks20Profit target of the first entry in ticks, range: 1–∞
Stop loss 1, ticks10Stop loss of the first entry in ticks, range: 1–∞
Quantity 22Contracts for the second entry; 0 disables it, range: 0–∞
Profit target 2, ticks30Profit target of the second entry in ticks, range: 1–∞
Stop loss 2, ticks10Stop loss of the second entry in ticks, range: 1–∞
Quantity 30Contracts for the third entry; 0 disables it, range: 0–∞
Profit target 3, ticks40Profit target of the third entry in ticks, range: 1–∞
Stop loss 3, ticks10Stop loss of the third entry in ticks, range: 1–∞
BreakevenfalseMove the stop loss to the entry price once the position gains Breakeven after, ticks
Breakeven after, ticks10Profit in ticks that triggers the break-even move, range: 1–∞
Breakeven shift, ticks1Ticks added to the break-even stop beyond the entry price; a positive value locks in that many ticks of profit
TrailfalseEnable the trailing stop
Trail after, ticks15Profit in ticks that activates the trail, range: 1–∞
Trail distance, ticks10Distance the trailing stop keeps behind price, in ticks, range: 1–∞
Trail step, ticks1Minimum price movement in ticks before the trailing stop is moved again, range: 1–∞

Trading Time Settings

Two independent intraday windows can be defined. Times use the chart's time zone. Leave both disabled to trade the whole session.

SettingDefaultDescription
Trading time #1: enablefalseEnable the first trading window
Trading time #1: begin08:30:00Start of the first window
Trading time #1: end15:15:00End of the first window
Trading time #2: enablefalseEnable the second trading window
Trading time #2: begin15:30:00Start of the second window
Trading time #2: end17:00:00End of the second window

Risk Management Settings

Limits apply at the account level and reset overnight. See Risk Management for how they are evaluated.

SettingDefaultDescription
Daily loss limit: enablefalseEnable the daily loss limit
Daily loss limit500Maximum loss for the day in account currency
Daily profit limit: enablefalseEnable the daily profit limit
Daily profit limit2500Profit target for the day in account currency
Daily max drawdown: enablefalseEnable the trailing daily drawdown limit
Daily max drawdown1500Maximum drop from the day's peak account value, in account currency
Daily trades limit: enablefalseEnable the daily trades limit
Daily trades limit5Maximum number of filled entries per day

Export Settings

When Action is set to Export, the strategy writes each validated pattern to a CSV file instead of trading.

SettingDefaultDescription
HeadertrueWrite the column header row at the top of the file
BatchfalseAccumulate records in memory and write them in one pass instead of after each pattern
Filefootprint_action.csvOutput file name
NinjaScript OutputfalseMirror each exported record to the NinjaTrader Output window

Control Panel and Dashboard Defaults

Footprint Action re-exposes four inherited strategy framework settings on the MZpack Control Panel so they can be changed at runtime, and ships different defaults for them.

SettingDefaultDescription
Entry/Exit: markupMarkerAndTextMarker style drawn at the entry and exit price — None, Marker, or MarkerAndText
Pattern dashboard: showtrueShow the decision-tree dashboard on the chart
Pattern dashboard: legendtrueShow the legend that names the signal in each dashboard row
Pattern dashboard: positionTopEdge of the chart panel the dashboard is anchored to — Top or Bottom

Source Code

See Footprint Action Source Code for a developer-level walkthrough of the class structure, decision tree construction, all 10 signal implementations, and data export schema.


GhostResistance Strategy

GhostResistance is a reversal strategy that targets liquidity traps — situations where price pushes beyond support or resistance levels, triggering stop orders and breakout entries from trapped traders, then reverses sharply back into the prior value area.

The strategy combines absorption zones, big trade detection, bar metrics, and volume profile levels to identify these reversal setups.

How It Works

Short setup: Price spikes above resistance with aggressive buying. Absorption builds at the extreme as sellers absorb the buying pressure. Price reverses downward as trapped longs exit.

Long setup: Price drops below support with aggressive selling. Absorption builds at the extreme as buyers absorb the selling pressure. Price reverses upward as trapped shorts cover.

Confirmation Signals

GhostResistance uses AND logic — all enabled signal groups must confirm before a trade is taken. One entry per bar maximum.

Signal GroupDescription
Bar MetricsBar must meet minimum volume, delta, delta %, wick %, and optionally be a hammer pattern
AbsorptionAbsorption S/R zones from mzFootprint — configurable percentage, depth, consecutive levels, and zone volume
Big TradeSignificant trades detected by mzBigTrade — configurable minimum size, iceberg detection, and aggression (sweep) filter
Profile LevelsPrice must be approaching a volume profile level (session or weekly) from mzVolumeProfile — optional, can be disabled for pure order flow mode

Strategy Settings

SettingDefaultDescription
ActionTradeWhat the strategy does — Trade (evaluate patterns and submit orders) or Export (write validated patterns to CSV without trading)
Trading: ONtrueMaster switch for opening positions. Turn it off to keep signals calculating and drawing without entering the market
Opposite Pattern ActionNoneWhat to do when the pattern validates in the opposite direction while a position is open — None, Close, Reverse, or Unmanaged. See Opposite Pattern Action
Suspend after tradefalseStop opening new positions once the current trade closes, until trading is switched back on from the Control Panel
Wait for bar closefalseValidate the pattern only on bar close instead of on each tick. Fewer, later, but more reliable entries
Short circuittrueStop evaluating the signal tree as soon as a signal returns None. Read-only

Bar Metrics Settings

SettingDefaultDescription
EnabletrueInclude the bar metrics signal in the pattern
Min bar Volume100Minimum bar volume
Min bar Delta100Minimum absolute bar delta
Min bar Delta %10Minimum bar delta as a percentage of bar volume
Min wick %30Minimum wick size as a percentage of the bar range, range: 0–100
HammertrueRequire a hammer candle — the wick must be on the side the reversal is expected from

Absorption Settings

SettingDefaultDescription
EnabletrueInclude the absorption signal in the pattern. Read-only — absorption is always required
Absorption %200Minimum absorption percentage — how far the absorbing side's volume must exceed the aggressing side's
Absorption depth2How far price must bounce from the absorption level to qualify, in ticks
Consecutive2Minimum number of consecutive absorption levels forming the S/R zone
Zone volume50Minimum total volume in the absorption S/R zone

Big Trade Settings

SettingDefaultDescription
EnabletrueInclude the big trade signal in the pattern. Read-only — a big trade is always required
Trade filter200Minimum trade size in contracts for a trade to count
Iceberg filter: enabletrueRequire iceberg volume in the trade
Iceberg filter20Minimum iceberg volume, applied when the iceberg filter is enabled
Aggression filter: enabletrueRequire the trade to be aggressive — a sweep across several price levels
Aggression filter, ticks3Minimum sweep range in ticks, applied when the aggression filter is enabled

Profile Levels Settings

When enabled, the strategy only takes trades near selected volume profile levels. The bar high or low must come within the approaching distance (in ticks) of a selected level.

SettingDefaultDescription
EnabletrueRequire price to be approaching a selected profile level. Disable for pure order flow mode
RTH begin08:30:00Start of the regular trading hours session used to build the RTH profile
RTH end15:15:00End of the regular trading hours session
ETH begin17:30:00Start of the overnight (extended hours) session. Clamped to be no earlier than RTH end
ETH end08:30:00End of the overnight session. Clamped to be no later than ETH begin
Overnight POCtrueUse the overnight session Point of Control as a level
Overnight VAH/VALtrueUse the overnight session value area high and low as levels
Overnight High/LowtrueUse the overnight session high and low as levels
RTH POCtrueUse the RTH session Point of Control as a level
RTH VAH/VALtrueUse the RTH session value area high and low as levels
RTH High/LowtrueUse the RTH session high and low as levels
Overnight/RTH level approaching, ticks8How close the bar high/low must come to an overnight or RTH level, in ticks
Weekly POCtrueUse the weekly Point of Control as a level
Weekly VAH/VALtrueUse the weekly value area high and low as levels
Weekly High/LowtrueUse the weekly high and low as levels
Weekly level approaching, ticks20How close the bar high/low must come to a weekly level, in ticks

Operating Modes

GhostResistance can be configured for different trading styles:

  • Level-based trap trading — profile levels enabled with stricter absorption and big trade thresholds for selective setups near key levels
  • Pure order flow reversals — profile levels disabled, relying only on absorption and big trade activity to identify turning points
  • Conservative mode — enable Wait for bar close for bar-close confirmation with higher thresholds for fewer, higher-quality trades

Position Settings

GhostResistance supports up to 3 entries for position scaling, each with independent quantity, stop loss, and profit target. The same break-even and trail settings apply to all entries. Set a quantity to 0 to disable that entry.

SettingDefaultDescription
DirectionAnyAllowed trading direction — Long, Short, or Any
Trading Instrument: enablefalseSubmit orders on a data series other than the chart series. Patterns are still evaluated on the chart series
Trading Instrument: nameMES 12-24Instrument of the trading data series
Trading Instrument: periodMinuteBars period type of the trading data series
Trading Instrument: value1Bars period value of the trading data series, range: 1–∞
Enter by limit orderfalseEnter with a limit order at the big trade POC instead of a market order
Cancel limit order typeBarsWhat measures the life of an unfilled limit order — None, Ticks, Bars, or Milliseconds
Cancel limit order value3How many ticks, bars, or milliseconds an unfilled limit order is left working before it is cancelled
Quantity 11Contracts for the first entry, range: 1–∞
Profit target 1, ticks40Profit target of the first entry in ticks, range: 1–∞
Stop loss 1, ticks20Stop loss of the first entry in ticks, range: 1–∞
Quantity 22Contracts for the second entry; 0 disables it, range: 0–∞
Profit target 2, ticks60Profit target of the second entry in ticks, range: 1–∞
Stop loss 2, ticks20Stop loss of the second entry in ticks, range: 1–∞
Quantity 30Contracts for the third entry; 0 disables it, range: 0–∞
Profit target 3, ticks80Profit target of the third entry in ticks, range: 1–∞
Stop loss 3, ticks20Stop loss of the third entry in ticks, range: 1–∞
BreakevenfalseMove the stop loss to the entry price once the position gains Breakeven after, ticks
Breakeven after, ticks10Profit in ticks that triggers the break-even move, range: 1–∞
Breakeven shift, ticks1Ticks added to the break-even stop beyond the entry price; a positive value locks in that many ticks of profit
TrailfalseEnable the trailing stop
Trail after, ticks15Profit in ticks that activates the trail, range: 1–∞
Trail distance, ticks10Distance the trailing stop keeps behind price, in ticks, range: 1–∞
Trail step, ticks1Minimum price movement in ticks before the trailing stop is moved again, range: 1–∞

GhostResistance uses the same trading time and risk management settings as Footprint Action, and re-exposes the same four Control Panel and dashboard settings with the same defaults.

Control Panel

The GhostResistance Control Panel provides runtime buttons:

ButtonAction
TradeToggle trading on/off (green = active)
Auto suspendPause trading after the next completed trade
Break EvenImmediately move stop loss to break-even on the current position
TrailToggle trailing stop on/off for the current position
CloseCancel pending orders and close the current position

Best Market Conditions

  • Rotational or range-bound sessions with defined support/resistance
  • Price action with frequent stop-runs and wicks beyond key levels
  • Avoid strong trending days where reversals fail more frequently

Source Code

See GhostResistance Source Code for a developer-level walkthrough of the class structure, indicator wiring, signal implementations, and decision tree construction.


Data Export Strategy

The Data Export strategy is a utility that exports indicator data to CSV files. It does not trade — it collects and writes data from up to four MZpack indicators for external analysis, backtesting research, or machine learning pipelines.

Supported Indicators

IndicatorData SourceExport Granularity
mzFootprintLevel 1Bar
mzVolumeProfileLevel 1Bar or Tick
mzBigTradeLevel 1Tick
mzMarketDepthLevel 2Update

Each indicator can be independently enabled or disabled for export.

Common Export Settings

The Export category applies to all four exports.

SettingDefaultDescription
HeadertrueWrite the column header row at the top of each file
TimetrueWrite a timestamp column as the first column
BatchfalseAccumulate records in memory and write them in one pass instead of after each record
Signed volumefalseGive volumes a sign — + for buy, - for sell
Delimiter;Column separator character

Every setting in the four sections below is a column toggle unless noted otherwise: enabling it adds that column to the file, in the order the settings appear. All columns are off by default except the ones listed with default true.

Footprint Export

Exported once per closed bar. Values not calculated by mzFootprint are written as empty strings or zeros — enable the corresponding indicator feature first.

SettingDefaultDescription
ExporttrueEnable the footprint export
TemporalityHistoricalWhen data is collected — Historical or Realtime. See Temporality
Filefootprint\Output folder, relative to the strategy data folder
OpentrueBar open price
ClosetrueBar close price
HighfalseBar high price
LowfalseBar low price
RangeTicksfalseBar range in ticks
RangeLevelsfalseBar range in price levels (clusters)
DirectionfalseBar direction — up or down
DurationMsfalseBar duration in milliseconds
VolumesfalsePer-level total volume ladder
BidsfalsePer-level bid (sell) volume ladder
AsksfalsePer-level ask (buy) volume ladder
DeltasfalsePer-level delta ladder
TradesNumbersfalsePer-level trades count ladder
TradesNumberfalseTotal number of trades in the bar
VolumetrueBar total volume
BuyVolumefalseBar ask-side volume
SellVolumefalseBar bid-side volume
DeltatrueBar delta — buy volume minus sell volume
VAHfalseBar value area high price
VALfalseBar value area low price
POCfalseBar Point of Control price
POCVolumefalseVolume at the bar POC
BuyPercentagefalseBuy volume as a percentage of bar volume
SellPercentagefalseSell volume as a percentage of bar volume
DeltaPercentagefalseDelta as a percentage of bar volume
MinDeltafalseLowest intra-bar cumulative delta reading
MaxDeltafalseHighest intra-bar cumulative delta reading
DeltaChangefalseChange in delta from the previous bar
DeltaCumulativefalseSession cumulative delta at bar close
DeltaRatefalseDelta rate — delta per unit of time
DeltaRateHighfalseHighest intra-bar delta rate
DeltaRateLowfalseLowest intra-bar delta rate
AbsoluteDeltaAveragefalseAverage absolute per-level delta in the bar
AbsoluteDeltaTotalfalseSum of absolute per-level deltas in the bar
COTHighfalseCommitment of Traders high
COTLowfalseCommitment of Traders low
RatioNumbersfalseRatio Numbers metric — volume of the level adjacent to the highest-volume level divided by that level's volume, an exhaustion measure
VolumePerSecondfalseBar volume divided by bar duration in seconds
UnfinishedAuctionHighfalsePrice of an unfinished auction at the bar high, 0 if none
UnfinishedAuctionLowfalsePrice of an unfinished auction at the bar low, 0 if none
BuyImbalanceCountfalseNumber of buy imbalances in the bar
SellImbalanceCountfalseNumber of sell imbalances in the bar
BuyAbsorptionCountfalseNumber of buy absorptions in the bar
SellAbsorptionCountfalseNumber of sell absorptions in the bar
BuyStackedImbalanceCountfalseNumber of buy imbalances that belong to a stack
SellStackedImbalanceCountfalseNumber of sell imbalances that belong to a stack
BuyStackedAbsorptionCountfalseNumber of buy absorptions that belong to a stack
SellStackedAbsorptionCountfalseNumber of sell absorptions that belong to a stack
BuyStackedImbalanceMaxConsecfalseLongest run of consecutive buy imbalances in the bar
SellStackedImbalanceMaxConsecfalseLongest run of consecutive sell imbalances in the bar
BuyStackedAbsorptionMaxConsecfalseLongest run of consecutive buy absorptions in the bar
SellStackedAbsorptionMaxConsecfalseLongest run of consecutive sell absorptions in the bar
DeltaDivergencefalseDelta divergence on the bar — 1 for buy divergence, -1 for sell divergence, 0 for none
SessionOpenfalseSession open price
SessionClosefalseSession close price
SessionHighfalseSession high price
SessionLowfalseSession low price
SeesionVAHfalseSession value area high price
SeesionVALfalseSession value area low price
SessionPOCfalseSession Point of Control price
note

SeesionVAH and SeesionVAL are spelled that way in the NinjaTrader property grid.

Volume Profile Export

SettingDefaultDescription
ExportfalseEnable the volume profile export
GranularityBarOne record per Bar or per Tick
TemporalityHistoricalWhen data is collected — Historical or Realtime
Filevolumeprofile\Output folder, relative to the strategy data folder
OpenfalseProfile open price
ClosefalseProfile close price
HighfalseProfile high price
LowfalseProfile low price
RangeTicksfalseProfile range in ticks
MIDfalseMidpoint between the profile high and low
DurationMsfalseProfile duration in milliseconds
TradesNumberfalseTotal number of trades in the profile
VolumefalseProfile total volume
BuyVolumefalseProfile ask-side volume
SellVolumefalseProfile bid-side volume
DeltafalseProfile delta
VAHfalseValue area high price
VALfalseValue area low price
POCfalsePoint of Control price
POCVolumefalseVolume at the POC
TickPOCfalseTick POC price — the POC computed at single-tick resolution
TickPOCVolumefalseVolume at the tick POC
VWAPfalseVolume weighted average price
_1StdDeviationPosfalseVWAP plus one standard deviation
_1StdDeviationNegfalseVWAP minus one standard deviation
_2StdDeviationPosfalseVWAP plus two standard deviations
_2StdDeviationNegfalseVWAP minus two standard deviations
DeltaPercentagefalseDelta as a percentage of profile volume
BuyPOCVolumefalseAsk-side volume at the POC
SellPOCVolumefalseBid-side volume at the POC
VAVolumefalseTotal volume inside the value area
TPO_POCfalseTPO Point of Control price
TPO_VAHfalseTPO value area high price
TPO_VALfalseTPO value area low price
TPOLettersCountfalseNumber of TPO letters in the profile

Big Trade Export

Exported once per detected trade.

SettingDefaultDescription
ExportfalseEnable the big trade export
TemporalityHistoricalWhen data is collected — Historical or Realtime
Filebigtrade\Output folder, relative to the strategy data folder
HighfalseHighest price of the trade
LowfalseLowest price of the trade
VolumefalseTrade volume
IcebergVolumefalseIceberg volume within the trade
DirectionfalseTrade side — 1 for buy, -1 for sell
RangeTicksfalsePrice range swept by the trade, in ticks
POCfalsePrice level of the trade that took the most volume
POCVolumefalseVolume at the trade POC
DomPressureVolumefalseDOM pressure volume associated with the trade
DomSupportVolumefalseDOM support volume associated with the trade
Smart/PredatoryfalseWhether the trade was classified as smart/predatory — 1 or 0
TicksNumberfalseNumber of ticks the trade consists of; greater than 1 for a reconstructed trade
TicksfalseThe individual ticks of the trade

Market Depth Export

Exported on each order book update. Market depth has no Temporality setting — it is real time only.

SettingDefaultDescription
ExportfalseEnable the market depth export
Fileorderbook\Output folder, relative to the strategy data folder
MarketDepthfalseConfigured depth of the order book
RealMarketDepthfalseActual number of levels the data feed delivered
BestBidfalseBest bid price
BestOfferfalseBest offer price
RealtimeBidsfalseBid sizes per level
RealtimeOffersfalseOffer sizes per level
RealtimeBidsWithPricesfalseBid sizes paired with their price levels
RealtimeOffersWithPricesfalseOffer sizes paired with their price levels
RealtimeBidVolumefalseTotal bid volume across the book
RealtimeOfferVolumefalseTotal offer volume across the book

Output File Location

By default, exported files are saved to:

Documents\NinjaTrader 8\mzpack\strategy\...\Data_Export\data\<instrument>_<id>.csv

Indicator settings are saved to XML and restored automatically on the next run. Values that are not calculated or not supported by the indicator are exported as empty strings or zeros.

note

Enable the relevant indicator features before exporting. For example, enable volume profile POC in the mzVolumeProfile settings to export POC values.

Temporality

Each indicator export can run in one of two temporalities:

ModeDescription
HistoricalExports data from loaded historical bars (requires backtesting mode)
RealtimeExports data as it arrives during live trading

Source Code

See Data Export Source Code and Drawing Objects Export Source Code for developer-level walkthroughs of the export strategy implementations.