MZpack API 2.3.13 beta

– MZpack 3.18.12 core
– Added StopLimit method for the entry
– Added Strategy.IsUnmanaged property
– Added Strategy.RejectedToMarketOrder property
– Added OppositePatternAction.Unmanaged method when positions are managed by signals but not API. See added Position.IsActive property
– Added Signal.Positions property to manage strategy positions from signals’ code
– Fix. MZpack strategies are not present in Strategy Analyzer


How to Create Custom Indicator Using MZpack API

Users of MZpack API can create their own custom MZpack-based indicators. These indicators are actually strategies but can be used like normal NinjaTrader’s indicators or strategies. So, you must enable your indicator-strategy from Strategies tab to get indicator work.

See samples provided with MZpack Strategies package.


What is DELTA RATE in mzFootprint Indicator?

Delta Rate (mzFootprint Indicator) means the rate of delta change. This rate is measured in the chosen time interval (milliseconds) or tick interval. When delta is being changed the price is also being changed. Indicator shows this price interval. Note, only one maximal (by modulo) value of Delta Rate is shown for the bar in the Statistics Grid and on the chart.

Example: high sell/negative Delta Rate. This means that there was an intensive selling (a lot of  sell market orders have been matched with buy limit orders).

High Delta Rate shows:

  • Range of stops triggering
  • Reversals
  • Breakout

MZpack 3.18.11

What’s new

– Added Trades Volume Profile. It contains all trades on the chart. Use it in conjunction with ‘Marker size relative to’ parameter set to Iceberg/DOM pressure/DOM support to identify important price levels.

– Removed Presentation – Min shape extent/Min line length parameters for better and  proportional trades presentation.

– Added option ‘General – Small toolbar buttons’


MZpack 3.18.10

What’s new

– Added Filters – Type parameter.
Auto filtering is based on two values: Days and Trades per day.
How many big trades should be displayed in Days range is calculated as Days * Trades per day. Thus, you can see the biggest trades.
This filter is not changed live but is calculated when historical data have been loaded.
Note, that number of trades on the chart is more than calculated number if actual days loaded is greater than Days value.
Manual filtering is very fine and includes trade volume, iceberg, DOM pressure/support values, and selection option. You can use All/Any Logic.
Aggression and Smart attributes are for both types of filtering.

– Added Volume, Buy/Sell Volume, Delta, Cumulative Delta plots.

– Fix. Wrong Overall liqudity migration candles with Renko bars.


MZpack 3.18.9

– Minimal font size has reduced
– Added Duration (duration of the bar) metric to the Statistic Grid
– Fix. Cluster zones are always breaked on session end regardless of settings

– Added ‘Orderflow – Reconstruct tape: timestamps only’ parameter. If enabled Level 1 event (best bid/ask) is not used. Trades with equal timestamps are merged. Disable it to get an exact match reconstructed historical and reconstructed live data. Icebergs, DOM pressure/support are not available if enabled.


MZpack API 2.3.11 beta

What’s new

– MZpack 3.18.6 core
– Added Node.StopLossPrice, Node.ProfitTargetPrice properties. Assign it when the signal is validated inside OnCalulate() if you need signal-specific stop loss/profit target levels


New product has been added!

A new product MZpack Strategies w Divergence for NinjaTrader 8 has been added.

This product can be purchased separately from indicators products. Also, this product can be purchased as an upgrade of your MZpack Indicators package with 30% discount.

Note. MZpack Strategies w Divergence doesn’t include indicators for charting or discretionary trading! It includes API only.
Discretionary trading is available via creating relevant strategies only. These strategies must be switched to Manual mode.

The license types are LIFETIME for 1 or 2 devices.


New FREE 5-Day Market Maker Trade Challenge Starts Aug. 8th

Our partner “Compass Trade Group” Invites You To A Special Online Event.

FREE 5-Day Market Maker Live Trade Challenge Starts August 8th

“Engineering An Institutional Trade”


Learn proven algorithmic tactics, strategies and probabilities to reverse engineer trade success…transform how you see the markets.

Here’s a few Institutional Trade Strategies and Trade Exercises that will elevate your trading…learn these and many more strategies and insight during the live hands-on sessions. 

  • The Institutional Red Green “RGL” Trade Strategy…Key Strikes at Commercial Volatility
  • Cash Open Systematic Trade Process…Volatility Expansion Breaks
  • “MOCi” Market on Close Ignition Trades…Institutional Volume Auction Process
  • Opening Range “Measured Move” Liquidity Target Trade Levels

Our Goal is Simple. Fix the Trade Gap…Entries. Stops. Profit Targets.

Structure + Volume + Value + Price

Stocks. Bonds. Equities. Oil. Gold. Currencies. Crypto


Trade at the highest level…Engineering Trade Success, with the BEST Institutional Tactics, Strategies & Training Live in the Markets with a Quant Bank Trade Strategist.


See you in class!


MZpack API 2.3.10 beta

What’s new

– MZpack 3.18.5 core
– Resolve execution issues with Rithmic connection
– Protection orders can be adjusted in Chart Trader
– Added MZpackStrategyBase.OrderErrorRetry (‘Retry’ parameter in UI) – retries count for rejected orders.
– Rejected Stop loss orders (tight stops) are resubmitted OrderErrorRetry times. Position is closed if stop loss order is not accepted.
– Fix. mzVolumeProfile works not as expected in Minute accuracy mode.


MZpack Indicators 3.18.4

What’s new

– Added filter – ‘Trade: volume is multiple of’. This feature allows you to identify market participants trading with significant rounded sizes
– Selection filter has been added to Extra filters. You can choose percent of volumes or percent of numbers of trades criteria. See User Guide for details
– In Solid color mode a required level of Saturation can be chosen
– Saturation and Heatmap of trade markers are calculated inside the current chart frame to add contrast to the picture

– Displaying of version number is disabled by default


Performancenachweis 378.820,52 USD. Vixx Futures

Introducing our German partner VIXX Futures

266% Performance 2021
Performancenachweis 378.820,52 USD

2021 war ein sehr erfolgreiches Jahr für mich an der Börse. Mit meinen Trading-Strategien und Trading-Setups konnte ich einen Profit von 266% erzielen. Am Anfang des Jahres baue ich mir immer einen “Puffer” auf und skaliere nach und nach meinen Prozess und mein Risikomanagement nach oben.
“Im Moment befinden sich 32 Teilnehmer in meinem Trading-Programm. Vom Wissensstand her sind wir komplett durchgemischt -es gibt sowohl Anfänger, als auch Fortgeschrittene und auch bereits profitable Trader.
Durch mein “On-Demand-Programm” finden Quereinsteiger & Anfänger schnell Anschluss und können jederzeit starten.
Du hast Fragen und möchtest Kontakt zu Teilnehmern aus dem Programm aufnehmen? Nimm Kontakt auf und verschaffe dir einen Einblick.

VIXX Futures


MZpack API 2.3.9 beta

What’s new

– MZpackStrategyBase.OnEntryPatternValidated() is virtual. Always call base method in overrider.
See how to implement one pattern validation per bar. This might be useful for OnEachTick signals tree.

public class MyStrategy : MZpack.NT8.Algo.Strategy
int validatedBarIdx = -1;

public MyStrategy(string name, MyNinjaStrategy ninjaStrategy) : base(name, ninjaStrategy)

public override void OnEntryPatternValidated(Pattern sender, DateTime time)
validatedBarIdx = MZpackStrategy.CurrentBar;

base.OnEntryPatternValidated(sender, time);

public override bool OnValidateEntryPatternFilter(object e, MarketDataSource source)
if (MZpackStrategy.CurrentBar == validatedBarIdx) // One pattern validation per bar
return false;

return true;

MZpack API 2.3.7 beta

What’s new

– Position.CancelClose() can cancel manually placed limit orders or close manually opened entries. Use it from UI (MZpack Control panel) to manage position without disabling of the strategy.

public void cancelCloseButton_Click(object sender, RoutedEventArgs e)
Strategy.Position.CancelClose("UI Cancel/Close", DateTime.Now);
(sender as Button).Content = getCancelCloseButtonText(); // Update button text

– MZpackStrategyBase.WorkingDataSeriesIdx is 0 (not a multi-timeframe strategy) by default
– Fix. Cancelling pending/working orders
– Fix. MZpackStrategyBase.GetCandle() method returns wrong candle metrics if ago value > 1


MZpack API 2.3.6 beta

What’s new

– MZpack 3.18.3 core
– Added Signal.GetDisplayName() method to display signal name in the Log and in pattern Dashboard legend:

public virtual string GetDisplayName() => string.IsNullOrEmpty(Name) ? this.GetType().ToString() : Name;

Override it in custom signals to display some usefull info about your signal
Example from built-in BarMetricsSignal class

public class BarMetricsSignal : Signal
BarMetrics barMetrics;
MinMax minMax;
int ago, ticks;

public override string GetDisplayName() => $"{barMetrics} {minMax} {ticks} ticks";

MZpack Indicators 3.18.2

What’s new

– Sigma 1/2 are decimal values

– Added ‘Statistic grid – Volume per second’ value
– Added option: ‘S/R zones: ended by ByBarTouch’
– Added option: ‘S/R zones: approaching, ticks’ – Approaching of the price to a zone in ticks to terminate zone
– Fix. S/R Zone is ended not as expected if Reconstruct tape is enabled

– Added ‘General – Crypto force instrument’. Enable this option if your data connection doesn’t mark crypto pair as a crypto instrument
– ‘Non-Crypto volumes divider’ has moved to General category


MZpack API 2.3.5 beta

What’s new

– Added Ninja ATM support. See MZpackStrategyBase.PositionManagement, MZpackStrategyBase.NinjaTraderATM_TemplateName properties
Note, that there are some limitations for Ninja ATM Strategies. Read more here
– Added Conjunction logical node
– Added new state ‘Not Calculated’ for Dashboard cells
– Added pop-up hint for Dashboard cells
– Added Strategy.IsOpeningPositionEnabled property
– Added Range.IsInSession property. Set IsInSession to True if pattern must be validated inside the current session only.
– Action can return SignalDirection.None which terminates validating of the signals/filters
– ControlPanel is disabled while loading market data
– Fix: issue with adding custom items to MZpack ControlPanel


MZpack API 2.3.3 beta

  • Added ICandle interface for easy handling such values like OCHL, Body, Size, Upper/LowerWick, IsBullish, IsBearish, IsDoji
  • Added MZpackStrategyBase.GetCandle(int ago) method that returns ICandle object
  • Added BarMetricsSignal class. This class helps to implement some intra bar rules based on Price Action



We Still Accept PayPal Payments


We’d like to start this update by stressing that we are deeply saddened by what’s occurring in the Russia/Ukraine conflict. Many of us have nothing to do with or actively oppose the Russian government’s decision to invade Ukraine. We hope for a peaceful resolution.

“Under the current circumstances, we are suspending PayPal services in Russia,” President and Chief Executive Dan Schulman said in a statement. So, we’ve forwarded all the payments to our payment partner MyCommerce located in Germany. They also support PayPal transactions.

Unfortunately, some of our loyalty features like per customer discounts don’t work as expected so far. Don’t hesitate to create a support ticket if you believe that there are price differences.

Note, that our server is located at the Dallas data center to keep all your licenses safely.
We are working on new features and improvements to our products.

New promo and sales will come shortly. Stay tuned!



MZpack API 2.3.2 beta

What’s new

– Added Node.IsEnabled property
– Added the ability to add properties of a derived strategy class using ControlPanel attribute
– ControlPanel sample updated


MZpack API 2.3.1

What’s new

  • Added Control Panel

MZpack Control Panel contains UI elements or controls to manage your MZpack-based strategy. Now you have the ability to change the settings of a strategy on the fly.
Adding controls can be as easy as adding a couple of lines to your code. See User Guide – Control Panel topic for more info.



Trader Guide Released

MZpack Trader Guide is now based mainly on Blog articles and some videos including 3rd parties. We will update it by adding new cases and videos.

MZpack Indicators Trader Guide distributed with package setup starting from 3.18.2. You can always download the latest version from our site.


MZpack 3.18.1 Released

mzDeltaDivergence Indicator

  • Changes in parameters:
    Zigzag: deviation threshold. The threshold as Value or Percent. Value is the deviation of the price in ticks (not points!). The deviation of the price in percents is calculated inside the current session
  • Bug fixing

New mzDeltaDivergence Indicator Released


  • Price/Delta divergence
  • Statistics on the chart
  • Alerts
  • All the features of mzVolumeDelta indicator

Upgrade Plans

Owners of lifetime licenses of MZpack Indicators for NinjaTrader 8 package will get 30% discount on mzDeltaDivergence indicator. Their lifetime licenses will be upgraded up to this license MZpack Indicators w Divergence for NinjaTrader 8 after the purchase of a license for a relevant number of devices.

Owners of lifetime licenses of MZpack Indicators & Strategies for NinjaTrader 8 package will get 30% discount on mzDeltaDivergence indicator. Their lifetime licenses will be upgraded up to this license MZpack Indicators & Strategies w Divergence for NinjaTrader 8 after the purchase of a license for a relevant number of devices.

Owners of lifetime licenses of MZpack Single Indicator(s) will get 30% discount on mzDeltaDivergence indicator.

How can I get my 30% discount?

  1. Login on MZpack site using your purchase login.
    2. Choose a desired product from the Shop menu.
    3. Check the product price with the discount
    4. Make a purchase using PayPal Personalmethod. For Bank card/PayPal Business payments contact us to get a direct payment link with the discount, please.


The main features of mzDeltaDivergence indicator for NinjaTrader 8


We Need Your Feature Requests

Feature Requests are one of the most valued parts of being an MZpack customer. This is absolutely free and depends only on the MZpack community.

How to submit a feature request?

Leave your feature requests on the Forum under the Feature Request category by starting a new topic. Other users (and you) can vote for the feature by clicking the Like button. Requests with at least 20+ likes will be implemented. Most liked requests will up in the queue.  Note, that the final decision is for MZpack devs.

Stay up to date with unique FREE LIFETIME updates and improvements that you won’t find anywhere else!


MZpack Receives Code Signing Certification From GlobalSign

MZpack Receives Code Signing Certification From GlobalSign!
Our organization has been thoroughly vetted by GlobalSign, a worldwide identity provider.

Code Signing Helps Prove

Content Source:
Code Signing identifies that MZpack is coming from a specific source – IP Zhelnov Mikhail Petrovich. When software is downloaded from the internet, browsers will exhibit a warning message stating the possible dangers of downloading data, or display an “unknown publisher” warning. Code Signing removes the “Unknown Publisher” security warnings and identifies the Publisher’s name (ie. Organization Name).

Content Integrity:
Code Signing ensures that a piece of code has not been altered and determines whether code is trustworthy for a specific purpose. If the application/ software code is tampered with or altered after digitally signing, the signature will appear invalid and untrusted. Signing code is beneficial for users downloading applications and beneficial for developers. Users are assured who they are downloading software from.


Save 15% Till October 11 Before New Prices!

Dear Valued and Future Customers,

This is a notice that there will be an increase of 15% in our lifetime licenses pricing to take effect on October 11. The increase helps us ensure our commitment to providing the very best products and services for our customers.

We want to inform you because, perhaps, you are considering your purchase or upgrade of one of our products. So, you have a week to make your decision and save 15% right now.

Note, that prices for subscriptions remain. So, if you are a subscriber, nothing is changing for you.

We offer

  • The high-quality all-in-one add-ons for NinjaTrader 8: MZpack Indicators and MZpack Indicators & Strategies
  • Unbeatable prices as always!
  • Lifetime licenses – best value for the money, one-time payment
  • Subscriptions – pay automatically when you need it, cancel at any time
  • Coding service with MZpack API

You get

As always, we are committed to providing quality products and services to you and appreciate your continued support.



Using Iceberg Orders and DOM Pressure Pattern In Day Trading

You can find iceberg orders and DOM pressure functionality in mzBigTrade indicator.

Iceberg Orders

An iceberg order is a special limit order. The main size of an iceberg order is not shown in the order book. You will never know the size of the hidden part of the iceberg order, without analyzing algorithm running in real-time.
Fortunately, mzBigTrade indicator includes such searching algorithms.

Significant iceberg orders normally are exposed on reversals of local trends.
A SELL trade may trigger BUY iceberg orders.

Iceberg orders are shown with fuchsia contour.

DOM Pressure

We use the DOM pressure term to describe the behavior of liquidity on the way of a market order.

Any trade, you see in mzBigTrade indicator, is the result of matching market order, with a limit order, resting in the order book or DOM (Depth Of Market). This matching occurs at the best Bid or Ask prices, depending on the direction of the order, sell or buy.

DOM pressure can be negative or positive. Positive DOM pressure means adding the liquidity on the best Bid or Ask price right after matching. Negative DOM pressure means removing the liquidity on the best Bid or Ask price right after matching.

Positive DOM pressure always occurs at the opposite side of the order and is a resistance to the trend.

DOM pressure is shown as a triangle. Note, that expensive level 2 data, are not required for the indicator.

Example In The Video

Download .XML chart template, click Save As: MZpack – Order Flow Reversal Clusters

In this particular case, we can see a huge group of sell orders with buy iceberg orders, along with dom pressure. We call this a Reversal Order Flow Cluster.

The next occurred reversal order flow cluster is a smaller one. It contains fewer sell iceberg orders and dom pressure volumes. The price broke the level of the cluster and did test the second cluster. This could be your buy entry point, with the stop-loss order just below the first reversal cluster.

Use Reversal Order Flow Cluster pattern in conjunction with other MZpack indicators for better results.

Further Recommendations

Always look at the big picture first. Then drill down to the order flow and market microstructure.



MZpack 3.17.1

What’s new

– Readability of stat values has improved
– Fix. The indicator is terminated if license checking was not completed before market data coming
– Fix. The last profile on the chart rendered as not as expected if Position is RightOnChartMargin and Calculate is OnBarClose



mzBigTrade Indicator

  • Added Auto-filtering
  • Added Stacked Tape


Auto-filtering feature allows easily spot significant trades on the chart. It works in the background. Use Presentation – Max number of trades in chart frame parameter to adjust the intensity of the order flow on the chart.

When the zoom is increased for the chart, smaller and smaller trades become visible because those small trades make sense on zoomed (smaller) chart frame. Thanks to auto-filtering you can dig into order flow as soon as you need it.

Size of iceberg part of the order, dom pressure, and dom support are also considered in auto-filtering algorithm during the selection of trades.

Note, that the scale and color intensity of trades markers is calculated on all loaded market data.

Stacked Tape

To enable Stacked Tape choose Stacked  for Presentation – Marker position parameter.

The trades are organized vertically, by bar like a chain, and in the sequence in that trades come from the order flow. New buy trades are being added at the top, and new sell trades – at the bottom of each chain.

Stacked tape is extremely useful when you work with non-reconstructed tape, or when you have a lot of small trades for the traded instrument.

We recommend using stacked position on tick time frames like 20 Ticks.

Note, that stacked position is available for Bubble and Box markers only.



30% discount on the MZpack upgrade


We are thrilled to introduce your 30% discount on the MZpack upgrades.

Who is eligible for this 30% discount?
– A. Owners of Single MZpack indicator lifetime license. They will get 30% off on MZpack Indicators package for NinjaTrader 8
– B. Owners of MZpack indicator pack for NinjaTrader 8 and 7 lifetime license(s). They will get 30% off on MZpack Indicators and Strategies for NinjaTrader 8

How can I get my 30% discount?
1. Login on MZpack site using your purchase login.
2. Choose a desired product from the Shop menu.
3. Check the product price with the discount
4. Make a purchase using PayPal Personal method. For bank card payments contact us to get a direct payment link, please.


MZpack API 2.2.13 beta

– 3.16.12 core
– MZpackCustomStrategy0 sample has been optimized for OnBarClose logic
– Added BarIcebergsSignal signal
– Added RelativeToProfileSignal signal
– GetEntryPrice(…) method has modified and implemented inside base abstract Signal class.


MZpack 3.16.12

– When profile Position = RightOnChartMargin it always occupies all available margin
– Added option ‘Volume Profile – Profile: left margin, px’. Use it along with ‘Profile: right margin, px’ to control the position of the profile on the right margin


MZpack API 2.2.12 beta

– 3.16.11 core
IMarketDepthMigration interface has renamed to IBarLiquidity
– Added SortedDictionary<int, IBarLiquidity> OverallLiquidity { get; } to IMarketDepthIndicator interface
– Added Trading Times feature. The strategy doesn’t make entries outside trading times. Working orders outside trading times will be closed, pending orders will be canceled.
See TradingTimes property, User Guide, and TradingTimes sample strategy
– Added RiskManagement class. See User Guide and RiskManagement sample strategy


Liquidity Plots in mzMarketDepth. MZpack 3.16.11

mzMarketDepth Indicator

– Liquidity plots have been added. See Liquidity category.
Supported plots:

  • Plots total volume on Offer side and total volume on Bid side of the DOM (two lines)
  • Plots total volume on Offer side minus total volume on Bid side of the DOM (one line or candles)
  • Plots total volume on Bid side minus total volume on Offer side of the DOM (one line or candles)

As an example, see Liquidity Cross pattern based on OfferBid type.
A symmetrical cross can be drawn on OfferBid plots. The entry can be made after the right parts of the cross break its low and high bound.

– Fix. The liquidity scale is not as expected after changing Liquidity Migration – Overall type.


MZpack API 2.2.11 beta

  • Added public enum CancelLimitOrderType { None, Ticks, Bars, Milliseconds }
  • Entry class has extended:
    – Added CancelLimitOrderType property – Cancel or not Limit order after the value CancelLimitOrderValue of this type has reached.
    – Added CancelLimitOrderValue property – The threshold value of type CancelLimitOrderType to cancel Limit order.
    – Added LimitEntryPriceChase property – Move or not pending Limit order tick by tick as price moves away until Limit order is filled or canceled.
  • Fix. Zero prices in the log at begin of trailing an entry

MZpack 3.16.9

– Fix. Session profile is not as expected in OnBarClose mode.
– Fix. Aggregated volume profiles may terminate.


MZpack 3.16.8

– Added support OnBarClose mode with Tick accuracy for optimization of system resources.
Set Setup – Calculate = OnBarClose from indicator settings.
TPO is always calculated in OnEachTick mode. See image from the User Guide, p.43.
– Fix. Zero volume bars (gap bars) may stop the indicator.


MZpack API 2.2.8 beta


MZpack API 2.2.7 beta


MZpack 3.16.7

– Fix. Gap bars with zero volumes (range bars) might lead to error (NSE, etc.)
– Fix. Some Levels parameters (Alert, Sound,..) are not as default.

– The maximum value for ‘Show last N trade’ parameter is set to 10000. The warning message appears when you set N > 3000.


MZpack API 2.2.6 beta

– Added Exit pattern
– Visibility of pattern background and visibility of entry/exit markup are independent
– Added signals: FootprintImbalanceSignal, FootprintSRZonesSignal


MZpack 3.16.6

– Fix. Non-Crypto volumes divider is ignored when volume filters are applied.

– Fix. Sound file is not played on alert.

– Fix. VAH area is not rendered in Area mode.


API 2.2.5 beta

– 3.16.6 MZpack core
– Signals tree is being validated on each market data event if one or many signals have IsReset = true despite the previous validation state.
– Fix. Caption for FILTERS tree missed in the log.


MZpack API 2.2.4 beta

– 3.16.4 MZpack core
– Added Signal.Name property to display in Pattern Dashboard and in the log
– Strategy’s UI has reorganized. Logging options have been added to UI
– Added data access samples: DataAccess_mzFootprint, DataAccess_mzVolumeDelta


MZpack 3.16.4

– ‘Orderflow – Non-Crypto volumes divider’ parameter is back.

– Added Imbalance – Marker type: Dot or Cluster
– Imbalance markers are visible for any footprint style, and even for single-sided footprint.– Optimization of S/R Levels and Cluster zones
– Fix. Histogram in Delta cluster is not scaled as expected
– Fix. Histogram size is not as expected after changing ‘Ticks per level’
– Fix. Aggregation of clusters is not as expected for some tickers with huge ‘Ticks per level’ values

– Added option RightOnChartMargin for profile Position. The set now is: Left, Right, RightOnMargin
– Added dedicated Delta options for Stacked profiles


Veritas OrderFlow Chart Template

Indicators on the chart: mzFootprint, mzVolumeProfile, mzMarketDepth.

Download the  ‘VeritasOrderFlow’ basic chart template. MZpack 3.16.3 or later required.

Adding template to NinjaTrader
1. Close Ninja
2. Unpack downloaded .rar file (use WinRAR) and copy XML file to Documents\NinjaTrader 8\templates\

MZpack Footprint Reversal Pattern

These conditions must be met for the Footprint Reversal Pattern (Sell example):

  1. Down-bar
  2. Sell Imbalance zone is near the top of the bar
  3. Three merged POCs at the middle or higher half of the bar
  4. Sell Delta Rate at the top (optional?)

These values should be adjusted for the traded instrument

  • Imbalance, %
  • Imbalance volume filter

The mzFootprint indicator should be applied to Range bar type

Download NinjaTrader 8 chart template. MZpack 3.16.2 or later required.


Cluster Zones. MZpack 3.16.0


  • LVN feature has transformed to Cluster Zones. Added ‘Cluster Zones: filter min/filter max’ parameters. Now we can spot not only Low Volume Nodes (LVN), but High Volume Nodes (HVN), Delta ranges, Delta Percentage ranges, Trades ranges.

  • Added DeltaPercentage footprint style
  • Added ‘Statistic grid – Predicted values: show’ feature. Stat values are being extrapolated (proportional to the bar time). The gauge shows the progress of the bar. Available for time-based intraday bar types.
  • Added time gauge and bar timer feature: ‘Statistic grid – Predicted values: gauge’. Available for time-based intraday bar types.
  • Fix. Ratio Numbers are not as expected when Ticks per level > 1



Ratio Numbers in mzFootprint. MZpack 3.15.30

– Added ‘Bar Statistic – Ratio Numbers’ feature.
There are three types of ratios:
Neutral Ratio: which means the market is facilitating trade. A number between the high and low ratio (29.0 and 0.71 by default).
If the number falls between these two numbers, the market is facilitating trade.
Ratio Bounds High: which indicates the price is being REJECTED. A number above 29.0. So if the Ratio number prints below the bar (Up Bar) then lower prices are being rejected. And if the Ratio number prints above the bar (Down Bar) then higher prices are being rejected.
Ratio Bounds Low: which indicates a price level is being DEFENDED in the market. A number under 0.71 down to 0 (zero). So if the Ratio number prints below the (Up Bar) then the area is being supported by buyers. And if the Ratio number prints above the (Down Bar) then the area has sellers up there.
Read more on the forum: https://mzpack.freshdesk.com/en/support/discussions/topics/48000558972/page/2?url_locale=en

– Added BidOfferDelta for Overall Liquidity Migrations. Now price can follow OLM bars.


MZpack API 2.2.3

What’s new

  • 3.15.29 MZpack core
  • Added pattern Dashboard
  • Added Pattern/signal alerts
  • Settings have been reorganized
  • Added alert .wav files: mzpack_alert1.wav, mzpack_alert2.wav,.. mzpack_alert8.wav
  • See details in the User Guide


MZpack 3.15.29

– Performance optimization

– Added ‘Left/Right Footprint – Values: abs Delta’ option. Disable to see signed delta when Color source is Delta.
– Fix. Enabling ‘Reconstruct tape’ leads to an exception.
– Fix. In ‘Reconstruct tape’ new session/daily VP starts not as expected.
– Fix. In ‘Reconstruct tape’ mode POC/VAH/VAL lines may start from zero price
– Fix. Imbalance/Absorptions and S/R Zones are not as expected in OnBarClose mode of indicator

– Fix. Printed delta value for ladders is always 0

– Fix. Minor rendering inaccuracy of historical depth blocks.


Coinbase Connector Issue

We found that the date for market data from Coinbase connection is always in English format. But Ninja chart time is in local computer date format according to your regional settings. For example, 03.06.2021 (March 6rd) in English date format will be Jun 3rd in your local time format for European regional settings. The correct date notation must be 06.03.2021 for Europe. So because of internal filtering, live Level 1 data (those from the ‘future’) are not coming to MZpack order flow indicators.

You might see the following picture – no live plots from indicators or price marker is not moving at all.

To resolve the issue set your regional settings to English (USA) from Windows Control Panel. Then restart NinjaTrader.



MZpack 3.15.28 and API 2.2.2

MZpack 3.15.28

– Fix. Histograms of clusters are not as expected in Bar scale mode.
– Fix. Cluster size/saturation is not as expected if Scale/Color/Gradient source is Delta in Bar scale mode.

– Fix. Cumulative Delta mode is not as expected but is Candles mode on live data.

API 2.2.2
– MZpack 3.15.28 core
– Added static SignalDirection.UpgradeDirection() method. See API Help.


Wednesday, February 24, 2021. Technology Infrustructure Update at MyCommerce Processing

Our Bank cards/PayPal Business processing partner MyCommerce is making changes to further modernize their cloud platform.

Date: Wednesday, February 24, 2021
Time: 11 AM to 3 PM CET

MyCommerce will continue to take orders during the planned maintenance, but there may be temporary delays in customer fulfillment/order confirmation emails. The MyAccount customer area and the Control Panel on MyCommerce site may be temporarily unavailable.


MZpack 3.15.28 and API 2.2.2


  • Fix. Histograms of clusters are not as expected in Bar scale mode.
  • Fix. Cluster size/saturation is not as expected if Scale/Color/Gradient source is Delta in Bar scale mode.


  •  Fix. Cumulative Delta mode is not as expected but is Candles mode on live data.

API 2.2.2

  • MZpack 3.15.28 core
  • Added static Node.UpgradeDirection() method. See API Help.

Cryptocurrency Trading Features

Volumes for Cryptocurrencies (eg. BTCUSD, ETHUSD, etc.) are adjusted automatically.

  1. Check if Instrument type is Crypto for your Cryptocurrency instrument
  2. These settings are essential when adjusting charts for a Cryptocurrency instrument:
    General – Crypto decimal places
    – mzVolumeProfile: Common – Ticks per level
    – mzFootprint: Filters – Ticks per level
    – mzMarketDepth: Common – Level min height, px. Set the minimal height of level in pixels on the chart. It’s useful for instruments with tiny tick sizes

See mzMarketDepth Indicator vs NinjaTrader Order Flow Market Depth Map on BTCUSD futures

Check out pre-installed workspace ‘MZpack – Day Trading – BTCUSD’
Note: MZpack 3.15.24 or later required.




API 2.2.1

What’s new

  • MZpack 3.15.27 core
  • User Guide has updated
  • Added property MZpackStrategyBase.EnableBacktesting. See User Guide for details on strategies backtesting.
  • Added MZpack.NT8.Algo.MZpackStrategyBase.Operating property of type enum StrategyOperating { Auto, Manual }.
    In Manual operating mode, the strategy is not making entries, so you can trade manually by the signals.
  • Added additional markup for entries ‘Entry: markup’, ‘Entry: Buy marker’, ‘Entry: Sell marker’ in the Visual category of the settings
  • The Visual category has been re-organized
  • Added support for mzFootprint.Calculate = OnBarClose
  • Fix. Entry: markup = None renders marker


MZpack 3.15.27

– Loading time/performance optimization
– Support for OnBarClose calculation mode has returned for the indicator.
– Fix. VAL/VAH plots are not visible if VA: developing is not enabled.

– Added plotting zero bars with color from parameter: ‘Candle wick/Zero volume’. This is useful when Trade min/max filter is set that displays a lot of zero bars.



MZpack 3.15.26


  • Fix. POC/VAH/VAL may cause an error
  • Fix. Negative Delta value is shown as zero


  • Fix. Developing POC/VAH/VAL may cause an error

Cryptocurrency Update. MZpack 3.15.24

– Orderflow – Volumes divider has deprecated.
– Volumes for Cryptocurrencies (eg. BTCUSD, ETHUSD, etc.) are adjusted automatically.
– Added ‘General – Crypto decimal places’ parameter (1..8).
– Added workspace ‘MZpack – Day Trading – BTCUSD’

MZpack mzMarketDepth Indicator vs NinjaTrader Order Flow Market Depth Map on BTCUSD futures

– Parameter ‘Filters – Display value’ has been renamed and moved to ‘Presentation – Display volume filter’. It’s applied to the current Footprint value except for TradesNumber
– Added developing POC/VAH/VAL for chart sessions/days. Rendering of the levels has been improved.

– Add ‘Common – Level min height, px’. Set the minimal height of level in pixels on the chart. It’s useful for instruments with tiny tick sizes, e.g. for BTCUSD.
– Added ‘Realtime DOM – Volumes filter’. Volumes less than this value are not shown in Real-time DOM.

– Render optimization
– ‘TPO levels – Attach to T +’ was changed to ‘TPO levels – Attach to T -‘
– ‘TPO levels – Naked by T +’ was changed to ‘TPO levels – Naked by T -‘

– Fix. Rendering issue (from 3.15.20).

Pro Bundle Installer
– Application renamed: MZpack 3 API for NinjaTrader 8
– Shortcut to API samples/signals folder has been added to the Windows start menu.

– Added functions into ITickIndicator interface:
double VolumeToCryptoCurrency(long volume);
long VolumeFromCryptoCurrency(double volume);
string VolumeToString(long volume);


MZpack API 2.1.2

– Fix. The pattern is not validated as expected if a logical node has no signal nodes.
– Property SignalsTree.DefaultDirection has deprecated.
– Logging of full Core/API versions in the trace file.


API 2.1.1

– Added DOMBlockSignal class. It tracks large limit orders (blocks) in the DOM. The signal generates LONG direction for bid blocks and SHORT direction for offer blocks.
– Added BigTradeSignal class.
– Added GetEntryPrice(object args) method. Use it to return custom entry price in overrider for built-in signals.
– Property HasPrice added to the base Signal class. Entry price can now be controlled for all built-in signals.
– Extended IMarketDepthIndicator interface. Added overall liquidity migration by bar index: SortedDictionary<int, IMarketDepthMigration> OverallMigrations.
– Added IMarketDepthMigration interface.


MZpack 3.15.22

– Added option: Imbalance – Marker position (Inner, Center, Outer)

– Volumes are divided by General – Volumes divider parameter now

– Fix. Bar marker has a minimum height for instruments with a very small tick size, eg. BTCUSD
– Fix. DOM pressure/support values are not divided by General – Volumes divider parameter

– Weekly profile: the first day of the week is Sunday.
– Fix. Wrong duration of Weekly profile at the beginning of the year.


MZpack 3 API 2.0.0 beta released

What’s new

  • MZpack 3.15.21 core
  • API cleanup. Strategies code is shorter and  easier to understand now
  • New Pattern concept: Signals and Filters decision trees with logical (AND/OR), and signals nodes, localization
  • Added built-in signals: TradesClusterSignal, DOMImbalance. More signals/filters will come
  • Added visualization for validated patterns
  • Added partially view mode for mzBigTrade, mzFootprint, mzMarketDepth indicators
  • Samples have been updated
  • API online Help has been updated

Version hisotry


Interpretations for Some of mzBigTrade Indicator Order Flow Patterns

Here are the interpretations for some of mzBigTrade Indicator Order Flow patterns.

Solid colored triangles are DOM pressure.
Green triangles mean DOM support.
Red triangles mean DOM resistance.
A. Selling. But with DOM support and Iceberg orders.
B. Aggressive (dotted contour) buy trades (with slippage) with DOM resistance at the top.
C. DOM liquidity pulling (grey dotted triangle) but with aggressive buy trades – avoid this on local highs.
D. Huge Aggressive sell trade – stop loss trigger, selling culmination.
E. See C.
F. See A.
Ignore small amounts of DOM events (small triangles).
For long targets spot trade cluster such in A case.
See User Guide for more information, please.

PREVIEW of MZpack Pro API Update

Here is the PREVIEW of MZpack Pro API Update.  The release is scheduled for the beginning of December 2020. Stay tuned.

All these new improvements give you unlimited flexibility to build order flow strategy from precoded blocks. Only a minimum amount of coding required.

What’s new (only major features)

– API cleanup. Strategies code is shorter and very easy to understand now.
– New Pattern concept:
Added Signals and Filters decision trees with logical (AND/OR) and signals nodes.
Added built-in bar and price ranges control – localize your patterns easily.
– Added built-in signals: TradesClusterSignal, DOMImbalance, etc. More signals/filters will come.
– Added visualization for validated patterns.
– Added partially view mode for mzBigTrade, mzFootprint, mzMarketDepth indicators.
Now you can control from the strategy code which particular plots of an indicator should be visible. Eg. you can make visible only particular footprint bars or particular big trades from which a signal has been validated. This allows keeping the picture clean.
– Samples have been updated

Normal Visible Mode of Indicators

The same chart. New Partially Visible Mode of Indicators. Focus on meaningful plots only!



MZpack 3.15.21

– Fix. Indicator error might occur when Statistic Grid is visible
– Fix. Invalid cluster rendering in some cases for Forex pairs if Ticks per level > 1


Optimizing VolumeProfile and TPO Charts in MZpack

Comprehensive order flow indicators like MZpack with a lot of features require significant CPU resources. The performance issue is aggravated by the fact that NinjaTrader 8 can utilize only one CPU thread per instrument. No matter how many CPU cores your system has – only one core will be used for processing market data for this particular instrument (even it is opened on ten charts). The purpose of this was synchronizing data and orders handling on all your charts, but in reality, this may lead to significant delays. And you guessed it, this greatly reduces the performance of the platform.

In this article, we will show how to create beautiful MZpack charts like this one on the screenshot in the header with around 1% CPU load and a very short overall loading time.

The idea is to use Minute profile accuracy for huge periodical profiles. Minute accuracy doesn’t require tick replay mode, requires much fewer CPU resources, and has significantly less loading time. As what about TPO profiles, those can be used with Minute accuracy mode even for very short periods like session.

The Required Steps

  1. Open a new clean chart. We use 5 Min ES chart in this example.
    Add two Data Series: 1st Data Series with Tick replay enabled and Days to load = 5 and 2nd Data Series with Tick replay disabled and Days to load = 30.
    We recommend using equal time periods for both data series.
    Now you have two panels with added data series.
  2. Add mzVolumeProfile indicator to your chart. By default, it will be attached to the 1st data series. We used Weekly periodical profiles and Monthly profile as a stacked VP.
  3. Choose 2nd Data Series as Input series for your mzVolumeProfile indicator.
    Choose Minute for Profile accuracy. Then click Apply. The profile now is attached to 2nd data series.

  4. Add mzFootprint indicator. It will be attached to the 1st Data Series by default.
  5. Send 2nd Data Series to the panel containing 1st one. Now you have both Data Series on the same panel.

The result

The resulting image will look like this. Our Footprint indicator covers the latest 5 days of the chart. Whereas mzVolumeProfile indicator is applied to all 30 days.

The micro-dynamic of order flow can be observed by zooming in the chart.

Adding More Indicators

Add 2nd mzVolumeProfile indicator doing the same steps if you need more plots. Eg. we added another mzVolumeProfile to plot monthly WVAP with standard deviations.
Also, you can add more order flow indicators, like mzBigTrade or mzVolumeDelta to your 1st Data Series with Tick replay enabled.


The common method of adding mzVolumeProfile indicator with Minute accuracy:

  1. Add mzVolumeProfile with Tick accuracy on your Data Series with Tick replay enabled
  2. Move added mzVolumeProfile indicator to Data Series with disabled Tick replay
  3. Change Profile accuracy to Minute
The Workspace

Download NinjaTrader 8 zipped workspace: MZpack Mixed VP-Footprint


MZpack 3.15.19

– Added displaying of the price range for Delta Rate
– Optimization of S/R zones rendering
– Fix. Cluster scale is not correct when Scale source = TradesNumber and Ticks per level > 1
– Fix. Level can’t be attached to a footprint bar when adding


MZpack 3.15.18

– Delta Rate of Change has been added to the Statistics Grid and Notifications
Delta Rate value is attached to the bar and is shown in Statistics Grid, but is calculated continuously. Only the maximal (modulo) value of Delta Rate is shown for the bar.
Delta rate: type. Tick or Millisecond
Delta rate: value. Value of Delta rate measure interval in ticks or milliseconds

– Legend of the Statistics Grid can be adjusted Left or Right


Transfer of MZpack License Update

Hey Traders!

As you probably know, MZpack license is linked to your PCs with product activation. But if you change machines or its hardware parts, you are able to transfer your license within 24 business hours by creating a support ticket.

This service was free previously. But because of the very high volume of transfer requests License transfer rules have been updated. Starting from Sep 21th 2020 you will be able to transfer your license by purchasing this transfer service (one purchase per license key).

Read more on the License Transfer Service page, please.


User Guide Update

User Guide has been updated, mzFootrpint Indicator, p.12


  • Ticks per level. Sets the level of aggregation for individual price levels, if price levels should be merged together. ‘Ticks per level’ parameter is not available if Orderflow – Reconstruct tape is enabled.
  • Trade min. Minimal single or reconstructed trade volume cumulated by Footprint.
  • Trade max. Maximal single or reconstructed trade volume cumulated by Footprint.
  • Display value. All values and its corresponding clusters less than this parameter will not be shown

Download User Guide


MZpack 3.15.16 – Working Times Explained – TPO Fix

– ‘Profile accuracy’ = Tick: if Tick Replay is disabled, you will see a warning message and historical plots are not shown
– ‘Profile accuracy’ = Minute: if Tick Replay is not disabled you will see a warning message and data (historical and real-time) are not processed
– Fix from 3.15.14: in Minute accuracy TPO open/close are not 100% exact

Working Time

‘General – Working time’ option is used to define the working time interval of the indicator. Set ‘Start time’ as a beginning and ‘Stop time’ as the end of time interval when indicator will process market data. You can specify the time of day only but not the date.

In mzVolumeProfile set ‘Chart Profile mode’ = Continuous if Working time is enabled. In this mode, a new profile is created at the beginning of each time interval.

Bars closed before Start time will be excluded from processing. Bars opened after Stop time will be excluded from processing. If the time of the bar falls into the Working time interval (even partially), this whole bar will be processed.

Note, that time of the bar on the chart is its CLOSE time. Next images illustrate how Working time is applied to such bars markup when Profile accuracy = Minute.


MZpack 3.15.15 beta

– Added TPO levels for Custom profiles.

In Custom profile mode ‘Attach to’ value can be ‘All’ only, and the last added custom profile has T index = 0.


MZpack 3.15.14 beta

– Added ‘TPO levels’ functionality

TPO levels consist of three groups of levels. Each group can be attached to all chart profiles or to a profile with a given T index. The last (current) profile of the chart has T index = 0, the previous profile has T index = 1, etc.
TPO levels include a set of significant profile levels: Open, Close, High, Low, IB High, IB Low, TPO POC, TPO VAL, TPO VAH. Each level can be Extended or Naked. The naked level can be terminated by any profile, next profile, or a profile with a given T index.

Some TPO levels can be used with volume profiles.

– Fix. Trades number is divided by value divider in the Statistic grid.
– Fix. Values fonts of Footprints are used for Bar Statistic text.

– Fix. In Iceberg opposite mode wrong colors are used for drawing, some items of the histogram may be invisible.


MZpack 3.15.13 beta

– Added header letters in TPO Split mode when letters are displayed as blocks. See image.
– Fix. Wrong TPO prints spreading among chart bars may occur in Minute accuracy (since 3.15.11).
– Fix. TPO POC is at VAL when there is the only period in the market profile.

– Fix. Volumen position = OutsideRight, the value is on the left

All versions have been updated: 32 bit, Single Indicators, Trial.


MZpack 3.15.12 beta

– In Volume mode when Show = Icebergs only iceberg volumes are shown. This allows cleary to see iceberg buy/sell imbalance in three different ways: Total, Stacked, Opposite. Enable ‘Orderflow – Reconstruct tape’ option while using Icebergs.
– Added ‘Bar Delta alert’ option. Alert is triggered once on the absolute delta of the bar.

– Added global volumes divider, see ‘Orderflow – Volumes divider’ parameter. Now you can adjust volumes processing in any MZpack indicator in one click.
Use 1 million for the Crypto market.
– Fix. Overflow of a volume value might occur in the Crypto market.


MZpack 3.15.11 beta

– Added new Filtering modes for Historical DOM: AdaptiveLess and AdaptiveMore
Both modes use initial percent as a starting point for filtering.
AdaptiveMore calculates minimal DOM order size to display starting from the point when DOM was initialized.
Later the percent will be changed automatically to maintain minimal DOM order size for displaying.
AdaptiveLess mode is similar to AdaptiveMore except that minimal DOM order size to display will be slightly adjusted in time.
Both modes allow seeing clear historical DOM picture automatically adapting to future orders’ sizes.

– Fix. VWAP can be broken on establishing data connection because of a data gap.

– Changes in Orderflow – Calculation modes.
The UpDownTick mode uses UpDownTick calculation for historical and real-time data now.
The BidAsk mode uses BidAsk calculation for historical and real-time data (as usual).
Added Hybrid calculation mode.
The Hybrid mode uses UpDownTick calculation for historical data and BidAsk calculation for real-time data, which is much accurate.
Read more on how to use it in Indian Market.
– Added workspace for the Indian market: MZpack – BANKNIFTY – NIFTY – Default Settings