Data Interface to MZpack 3

Developing of data interface to MZpack being paused for some time. But now we have new ideas on how it should be implemented. Our NinjaScript/C# interface classes will allow to build very comprehensive orderflow-based automatic strategies for NinjaTrader. Here is developers version of Volume Profile interface.

//
// MZpack data interface
// Version 1.0.0 beta 1
//
using System.Collections.Generic;

namespace MZpack
{
 public interface IVolumeProfileIndicator : ITickIndicator
 {

#if DATA
 IEnumerable<IVolumeProfile> Profiles { get; } // Volume profiles
 bool IncrementalRefresh { get; set; } // Incremental model refresh on historical data for using in strategies
 void RefreshModel(); // Refresh model after settings being changed from the code (not from UI)
 IVolumeProfile AddProfile(); // Add empty volume profile
#endif
...
//
// MZpack data interface
// Version 1.0.0 beta 1
//
using System;
using System.Collections.Generic;

namespace MZpack
{

#if DATA
 public interface IVolumeProfile
 {
 // Data series
 Dictionary<double, long> TotalVolumes { get; }
 Dictionary<double, long> BuyVolumes { get; }
 Dictionary<double, long> SellVolumes { get; }
 Dictionary<int, double> VWAPs { get; }
 Dictionary<int, double> Deviations { get; }
 Dictionary<int, double> POCs { get; }
 Dictionary<int, double> VAHs { get; }
 Dictionary<int, double> VALs { get; }

// Actual values
 double POC { get; }
 double VAH { get; }
 double VAL { get; }
 double VWAP { get; }
 double Deviation { get; }

// Statistics
 double Hi { get; }
 double Lo { get; }
 long Volume { get; }
 long BuyVolume { get; }
 long SellVolume { get; }
 long Delta { get; }
 long POCVolume { get; }
 long BuyPOCVolume { get; }
 long SellPOCVolume { get; }

// Attributes
 DateTime Begin { get; }
 DateTime End { get; }
 int BeginBarIdx { get; }
 int EndBarIdx { get; }
 bool IsDeveloping { get; set; }

// Methods
 bool AssignRange(int beginBarIdx, int endBarIdx);
 bool AssignRange(DateTime begin, DateTime end);
 void Calc();
 }
#endif

}

NinjaScript sample. VP() is a method of VP indicator. VP indicator is a wrapper for mzVolumeProfile external assembly class.

These features will be part of MZpack 3 Pro for NinjaTrader 8. See purchase page for the price and release date info. You can buy it for $249 only on pre-sale.

 

One thought on “Data Interface to MZpack 3

Comments are closed.