Beruflich Dokumente
Kultur Dokumente
7 for
NinjaTrader 8
Rev 1.0
USER GUIDE
WWW.MZPACK.PRO
CONTENT
Links........................................................................................................................................2
Introduction .............................................................................................................................3
Installing MZpack 3 for NinjaTrader 8 ......................................................................................4
Quick Start. Indicators Setup, Chart Templates and Workspaces ............................................6
Performance Notes .................................................................................................................7
Forex market support ..............................................................................................................8
mzFootprint Indicator ...............................................................................................................9
Explaining Imbalance/Absorption ....................................................................................... 13
Alert Levels ........................................................................................................................ 14
mzBigTrade Indicator ............................................................................................................ 15
Iceberg Algorithms ............................................................................................................. 18
DOM pressure ................................................................................................................... 19
Market-Limit orders ............................................................................................................ 20
Aggressive trades .............................................................................................................. 21
Smart/Predatory trades mode ............................................................................................ 22
Reconstruct tape mode ...................................................................................................... 23
mzVolumeProfile Indicator ..................................................................................................... 24
Profile accuracy ................................................................................................................. 29
Stacked Profiles ................................................................................................................. 31
mzVolumrDelta Indicator ....................................................................................................... 33
mzMarketDepth Indicator ...................................................................................................... 37
General Settings.................................................................................................................... 43
Sound Files for Alerts ............................................................................................................ 45
MZpack 3 Pro API ................................................................................................................. 46
Building Strategies with MZpack 3 Pro .................................................................................. 47
Sample Trading Strategies .................................................................................................... 49
Simple E-minI S&P500 futures scalping strategy ............................................................... 49
Links
WWW http://www.mzpack.pro
MZpack Trading Room in Skype https://join.skype.com/B48OjcjNeodD
MZpack YouTube channel http://www.youtube.com/channel/UCqabMIgUEjk3Bkee8G-
oSMg
Facebook https://www.facebook.com/mzpackninjatraderindicators/
VKontakte https://vk.com/mzpack
Newsletters subscription and feedback form http://www.mzpack.pro/en/contact-mzpack-
ninjatrader-indicators-team/
Introduction
On what information and data the MZpack indicators for NinjaTrader are based
Tick-by-tick trades
Proprietary Market Microstructure Events set
Level I & Level II
CME MDP 3.0
MZpack trading tools can be used in variety of appliances from scalping to day trading. Also
momentum and swing traders can use MZpack to spot entries and manage trades/exits.
MZpack 3 for NinjaTrader 8 works on historical data with Tick Replay option checked. But
some of futures like Iceberg orders and Smart/Predatory trades searching and mzMarketDepth
indicator work in real-time only because NinjaTrader 8 does not provide Level I & Level II on
historical data.
1. Close NinjaTrader 8 if it was opened. Un-zip downloaded zip-archive and run MZpack 3
installer. Turn off Windows Smart screen and antivirus if required.
2. After MZpack 3 installation finished run NinjaTrader 8 (64-bit). NinjaTrader 8.0.6.1 (64-
bit) version or later required.
3. Make sure Show Tick replay option enabled (menu Tools – Options – Market data -
Show Tick Replay)
4. Open a chart. Turn on Tick Replay option for historical Bid/Ask data support.
5. Open Indicators window (Ctrl+I) and add an MZpack indicator. Click Ok.
6. Activating window will be shown. Enter license key and click Activate button or click
Start Trial button if it enabled and if you don’t have a license key.
Performance Notes
Please note: setting Days to load parameter of Data series to a big value will increase chart
loading time and memory consumption. The most resource consuming indicator is mzBigTrade.
This set of indicators can be used for Forex pairs: mzFootprint, mzVolumeProfile, mzBigTrade,
mzVolumeDelta. To turn on Forex support choose 10.Orderflow – Calculation mode –
UpDownTick.
In mzFootprint use Daily for ‘Profile mode’ if your Forex data provider doesn’t support trade
sessions.
https://www.youtube.com/watch?v=5u0Z5e5kbiU
mzFootprint Indicator
Indicator settings
…
03. Presentation
Bid. Color for prints on Bid side.
Ask. Color for prints on Ask side.
Delta. Show Delta value above or under bars
Bar distance, px. Distance between next two bars on chart. This space is used to
render Footprint
Bar marker. Turn it on to replace default chart view style by Open-Close bar
markers
Bar outer margin, px. Set interbar space.
Control right margin. Control right chart margin automatically to fit Footprint.
Chart right margin, px. Override Ninja’s margin settings.
04. Filters
Trade volume. Minimal single trade volume cumulated by Footprint. Tape
reconstruction is not applied in Footprint.
Display value. All values and its corresponding clusters less than this parameter
will not be shown
05. Bar Volume Profile
POC. Show Point Of Control for each bar
POC. POC line
VA. Show bar Value Area
VA, %. Value Area percentage
VA. Value Area line
VA opacity, %.
06. Session/Daily Volume Profile
Profile mode. Profile mode for volume-based levels: Session, Daily. Use Daily for
Forex market.
POC. Show developing Point Of Control for each session
POC. Session POC line
VA. Show session developed Value Area
VA, %. Session Value Area percentage
VA. Session Value Area line
07. Patterns
Imbalance. Show diagonal Bid-Ask imbalance
Only Imbalance. Show only imbalances
Imbalance, %. Imbalances percentage
Imbalance filter. Filter by traded volume on imbalance side
Bid. Color for Bid imbalance
Aks. Color for Ask imbalance
Imbalance font
Absorption. Show absorptions
EXPLAINING IMBALANCE/ABSORPTION
mzFootprint calculates diagonal Imbalance. Diagonal imbalance e.g. at Ask means that volume of
filled Buy orders is greater by given percentage than volume of filled Sell orders at price just below
that Ask price. See fig. 71-Lot at Ask @2384.50 is by 274% greater than 19-Lot at Bid @2384.25:
(71/19 - 1) * 100 = 274%.
Absorption is a diagonal imbalance but with level rejection. Absorption depth (in ticks) means
how far price bounces from the level of absorption.
ALERT LEVELS
To drag a level click mouse left button on level value or on level drag spot (if value is not visible)
and move cursor. Then click again. Drag spot is the small bright box on a level.
To open level properties click left mouse button on level line. To hide properties click on chart or
press Esc.
mzBigTrade Indicator
Indicator settings
01. Filtering
Order type: Market, Market-Limit. Indicator can’t detects both order types at the
same time. It collects only choosen type of orders type on live data or Market
Replay. But once collected orders can be displayed on historical data and you
can jump from one order type to another.
Trade volume. Only trades with volume equal or greater than this value will be
displayed
Iceberg volume *. Only trades with iceberg orders volume equal or greater than
this value will be displayed
DOM pressure volume *. To display DOM pressure check ‘Show DOM
pressure’ option. Set ‘Market’ for Order type parameter to take effect.
Market-Limit volume (limit part) *. To display limit part of Market-Limit order
check ‘Show Market-Limit’ option. Set ‘MarketLimit’ for Order type parameter to
take effect.
Logic. Trade volume/Iceberg volume filtering logic
a. OR. One of two conditions must be true
b. AND. Both of two conditions must be true
Iceberg algo *. Iceberg detection works on live data only
a. Hard
b. Soft
c. Fuzzy
d. None
Fuzzy time, ms *. Interval to cumulate DOM liquidity after big trade in Fuzzy
mode.
Aggression/Sweep, ticks. Show trades with range equal or greater to this value
Smart/Predatory only *. This feature works on live data only
02. Visualization
Marker. Big trade marker
a. Line
b. Bubble
c. Box
d. Bar
Position. Position of big trade marker
a. First. First tick of the trade
b. Last. Last tick of the trade
c. Hi. Highest price of the trade
Email address
09. Levels defaults. Default settings for new alert levels added to the chart
Level. Level line
Value position. Left, Right, None
Value color
Value font
Alert. Alert on conditions
Aler on. Condition for alert
a. LevelCross
b. LevelTouch
Rearm. Rearm alert after it has been fired
Rearm interval, sec. Alert will be rearmed after this period of time. Set to zero to
rearm alert immediately after it has been fired
Sound. Alert sound
Add/remove: Left mouse +. Keyboard key to add or remove a level
Modify: Left mouse +. Keyboard key to modify a level
10. Orderflow
Spread trades. How to process trades inside current spread. Split – 50/50
Bid/Ask split, LastKnowSide – add to last known trade side, Ignore – ignore
spread trades
Reconstruct tape. To spot single trades turn it off. Turn it on to see aggregated
trades.
mzBigTrade 'Recon. tape' apply. How to apply 'Reconstruct tape' option for
mzBigTrade indicator
ICEBERG ALGORITHMS
Iceberg search algorithms work only on live data when your indicators are in real time mode.
Limit iceberg orders are what professional traders used to trade. The main size of iceberg order
is not shown in the order book. You will never know size of the hidden part of limit order without
analyzing trading algo running in real time.
Hard
Hard algo uses Level II data but run on ‘Order Filled’ events only.
Soft
In these mode orderflow core detects liquidity volume in DOM right after each trade. Now we
can explicitly see liquidity pressure.
Fuzzy
In 'Fuzzy' mode indicator cumulates all liquidity being added in 'Fuzzy time' interval or before
next trade.
You can filter trades by volume, iceberg volume and DOM volume. Popup trade info contains
these volumes
DOM PRESSURE
When we see new liquidity was added right after a trade against trade direction we call this
DOM pressure. See pic. 50 Lots were added at best bid after 65-Lot sell trade. Therefore, in
order to reduce the price, someone must sell 50 lots more. In this example DOM pressure is a
kind of support for the price. In case of buy trade DOM pressure will be a resistance.
MARKET-LIMIT ORDERS
Big or ‘smart’ money and institutional traders often act by Market-Limit and Stop-Limit orders.
Market-Limit orders are executed at the best price available on the market. If the Market-Limit
order can only be partially filled, the order becomes a limit order and the remaining quantity
remains on the order book at the specified limit price. Learn more at CME Group Wiki
In case of buy Market-Limit order limit part of the order will be a support for the price whereas
for sell Market-Limit order limit part will be a resistance.
AGGRESSIVE TRADES
An aggressive trade eats liquidity on two or more price levels to get filled. An aggressive trade
can be initiative market order or triggered market stop-loss orders.
Smart/Predatory option is for predatory algorithmic trading or ‘smart money’ trading detection.
Trading algorithm absorbs exact quantity of conrtacts available in order book by the price or in
some price range. Microstructure pattern: pay attention on smart trades imbalance in small
ranges or brackets to find momentum direction before it will start. We recommend to use this
feature on range or volumes bars.
In current version MZpack 3 does not support inside bar trades aggregation as this was
implemented in MZpack 2 for NT7. But you can see all trades volumes under cursor in popup
info box. This feature will be implemented soon as an option.
MZpack Order flow core is able to reconstruct single (tick) trades into aggregated trades. Turn
‘Reconstruct tape’ option on (default setting) to see aggregated trades. You can change this
option on-the-fly.
mzVolumeProfile Indicator
Volume Profile with automatic and custom ranges and VWAP. Developing profile support.
Indicator settings
01. Profile
Profile mode
a. Bar. Automatic per bar volume profile
b. Session. Automatic per session volume profile
c. Custom. Custom ranged volume profile
d. Composite. Cumulative volume profile for all chart data
e. Bars. Build profile each N bars
f. Daily
g. Weekly
h. Monthly
i. Quarterly
j. Yearly
Profile each N bars. N value for Bars profile mode
Session break. Break profile by session time for Bars profile mode
Profyle type
a. Volume. Total volume histogram
b. BuySell. Buy and sell volumes histogram
c. Delta. Bid/Ask delta histogram
d. None
Profile accuracy. Tick, Minute. See details below.
Delta. Display delta histogram over profile ladders
Composite refresh, ms. Interval for re-calculation of Composite profile. Use
10000+ values for yearly composite profiles.
Value Area, %
Width, %. Width of profile histogram
Position. Profile histogram position
a. Left
b. Right
Color. Profile histogram color
VA color. Value Area color
Buy. Buy volume histogram color
Sell. Sell volume histogram color
Positive Delta. Color for positive delta
Negative Delta. Color for negative delta
Show border
A custom range profile will be a developing profile if it contains the last bar of chart.
For faster calculation of profiles (especially Composite profiles) on big data series (e.g. 20+
days) tunr Tick Replay option off.
PROFILE ACCURACY
Profile update and calculation accuracy affects on how long it takes to calculate profiles on
loaded data. For big periods of data use Minute accuracy. In this mode, you don’t need
expensive historical tick data. For 1-20 loaded days of data (e.g. for day trading) use Tick
accuracy.
Tick
Set Profile accuracy to ‘Tick’ to get highest resolution of the profile. Profile values will be
calculated on each new tick. Calculation option will be set to ‘OnEachTick’ automatically.
Minute
Set Profile accuracy to ‘Minute’ to reduce chart load time. Every profile on the chart will be
updated each 1 minute. For this accuracy, Bid/Ask and Delta values calculated as this: Bid
volume for down and neutral bars, Ask volume for up bars. Volume of each new 1 minute bar
will be added to the profile at middle price of the bar. Calculation option will be set to
‘OnBarClose’ automatically.
IMPORTANT. Bars period type for the chart must be ‘Minute’. For daily chart choose 1440 Min
bar type.
STACKED PROFILES
You can add up to three independent Volume Profiles at right margin of the chart. Profiles
support cumulation and shifting functions.
To build cumulated profile choose one of the profile modes: Sessions, Bars, Days, Weeks,
Months. To specify number of last profiles to be cumulated set ‘Profile N last’ parameter.
Example. Sessions[2] builds volume profile for two last sessions.
To build a profile for arbitrary period choose one of the profile modes: Session, Bar, Daily,
Weeklu, Monthly, Quarterly, Yearly.
Example. Daily[1] builds volume profile for one day ago. Monthly[0] builds volume profile for
current month.
In Extended mode for POC/VAH/VAL levels those start at profile start on the chart and continue
to correspondent stacked profile.
All profiles arranged automatically on chart right margin. Increase margin value in chart
properties to free more space for Stacked profiles.
mzVolumrDelta Indicator
The mzVolumeDelta indicator combines Buy/Sell volume indicator and Delta indicator with
iceberg search algorithms.
Indicator settings
1. Common
Mode. Indicator mode
a. Volume
b. Delta
Bar width. Histogram or candle width
a. Auto
b. Custom
Bar width, px. Bar width in pixel if Custom width selected
2. Volume mode
Show
a. Volume
b. Icebergs
c. Both
Align. Histogram align modes
a. Total
b. Stacked
c. Opposite
Reconstruct tape on 1 Tick chart
Iceberg algo.
a. Hard
b. Soft
c. Fuzzy
Fuzzy time, ms. Interval to cumulate DOM liquidity after trade in Fuzzy mode.
Bar color scale. Maximal value for color coding will be as selected
a. Chart. Color scale calculated among all bars visible on chart
b. All. Color scale calculated among all loaded bars
Buy volume. Color for Buy volumes
Sell volume. Color for Sell volumes
Color mode
a. Solid. Selected solid color for all data
b. Saturation. Saturation depending on volume/delta values
c. Heatmap. Heatmap colors by volume/delta values
d. GrayScaleHeatmap. Gay scaled heatmap colors by volume/delta
values
Bar border. Stroke for bars border
mzMarketDepth Indicator
The mzMarketDepth indicator displays limit orders resting in the order book (or Depth Of
Market) and shows its volumes on chart as historical data. This awesome order book
NinjaTrader indicator can be placed on any type of chart from 1 tick to 30 minutes or more,
range, tick, volume bars etc.
Indicator settings
Volume font
Show cumulative. Show line for volumes cumulated level by level.
Cumulative Bid. Line for cumulative Bids
Cumulative Offer. Line for cumulative Offers
Width, px. Maximal histogram width in pixels
Control margin. Control width of right side margin of the chart
03. Historical DOM
Show. Show historical DOM on chart
Filtering mode. Filtering mode applied to historical DOM
a. Absolute. Use filter values in contracts
b. Percentage. Use filter values in %
Display volume, %. Display only limit-orders with given % of volumes. E.g. if
value is 60% and size of maximal limit-order in the order book is 100-Lot, then
only 41-Lot limit-orders or greater will be displayed. If maximal limit-order will
become 200-Lot, then only 81-Lot limit-orders or greater will be displayed
Extreme volume, %. Given % of volumes from bigger end treated as extremal
Display volume, contracts. Display limit-orders with volume greater than or equal
to this value
Extreme volume, contracts. Limit-orders with volume greater than or equal to this
value treated as extremal.
Color mode
a. Solid. Selected solid color for all data
b. Saturation. Saturation depending on volume/delta values
c. Heatmap. Heatmap colors by volume/delta values
d. GrayScaleHeatmap. Gay scaled heatmap colors by volume/delta
values
Saturation preset. 4 levels of saturation for DOM blocks
Hold levels. Keep displaying levels out of Depth of market scope. Actually we
don’t know is still there some liquidity or not, but we can keep and display last
quantities for analysis
Hold higher volume. Keep displaying maximal limit-order volume inside current
bar on a price level. You can spot liquidity spikes by this way.
Volume font
04. Liquidity migration.
Show. Show liquidity migration
Added volume filter. Mark limit-orders being added to order book with total size
greater or equal to this value
Removed volume filter. Mark limit-orders being removed from order book with
total size greater or equal to this value
Added offer. Color for ‘added liquidity’ mark on offer
Added bid. Color for ‘added liquidity’ mark on bid
By default mzMarketDepth indicator autoscales chart to fit DOM on the chart. If you don’t want
this uncheck Auto scale option in Visual section from NT8 built-in settings window.
On this ES chart two mzMarketDepth indicators with different filters have been placed. One
indicator is for Europe session and another one for American session. Time on chart is UTEC-5
(EST USA & Canada). See Indicators’ general parameters section to learm how to use
Strat/Stop time option.
General Settings
15. General
Show price line
Price line. Stroke for price line
Start time. Indicator start time
Stop time. Indicator stop time
Chart refresh, ms. Chart refresh interval in milliseconds. Valid range is 100-1000
ms. Use higher values to reduce the impact on graphics during heavy load
periods from stock exchange.
Hint. Display indicator’s hint if available
Warning. Display MZpack warnings
Version. Display MZpack version information on the chart
Log. Log errors in trace files Documents\NinjaTrader 8\trace\.
Offten we need to set different settings for different trade sessions for an indicator. To do
that please:
As a result one indicator will work e.g. on Europe session only and the other one on
American session only.
By default all indicators configured for continuous usage: Start time is 00:00:00 and Stop
time is 23:59:59.
List of sound files placed by setup in NinjaTrader sounds folder. To use sound for alert type file
name with extension in the Sound parameter of an indicator.
Use MZpack 3 Pro API to build NinjaScript/C# Add-ons (strategies and indicators) for
NinjaTrader 8. Pro version has no indicators which you could place on the chart from UI, but
only indicators API.
You can find all MZpack 3 Pro API samples inside MZpack 3 Pro installation folder under ‘\API
samples’ folder.
MZpack 3 Pro has built-in sample strategies. You can’t change or remove them. Download
source code for built-in samples in zip-archive. DON’T IMPORT THIS FILE INTO NINJA.
You can find MZpack 3 Pro API interfaces files inside MZpack installation folder under ‘\API’
folder. Only API for mzVolumeProfile indicator is currently available.
MZpackStrategyBase is base abstract class for any strategy based on MZpack API.
2. Implement CreateIndicators() method to create set of indicators for your custom strategy and
return them in the list as a result.
return indicators;
}
if (BarsInProgress == 0)
{
lock (Sync) // Sync event handler
{
// Place strategy logic here
}
}
}
In this yet simple scalping strategy we will use some knowledge about Market Microstrucuture and
Dynamic volumes based day levles (dynamic volume POC, VAL/VAH, VWAP and deviations).