See attached document. Moving a set of code that uses an external DLL to MT5 from NinjaTrader.
C# .NET and MQL5 skills required
Payment in 3 phases
33% - on phase 1
33% - on phase 2
remainder on delivery of phase 3
The level one feed (onMarketData event in Ninja) gives an event whenever:
- The inside bid moves or inside bid volume changes
- The inside ask moves or inside ask volume changes
- A trade occurs
I can see some discussion on the MQL5 site about this:
https://www.mql5.com/en/forum/16360 - discussed bid/ask changes but not trades
https://www.mql5.com/en/market/product/5333# - a commercial Time & Sales product that presumably must be matchin trades against the current inside bid/offer
Phase 1 involves calling the OnLevelOne event in Reconstructed Tape DLL, it is essential that this produces the correct matching of trades against the bid/ask.
The version of MT5 to be used is here : http://downloads.ampfutures.com/meta-trader-5-mt5
You will need to load that and create a demo account - which gives you free CQG Data. For phase 1, we will need the incoming level 1 data to match that on our stand alone product (or other plug in), which also uses CQG data.
Note that the method of getting Level 1 data is described in this post:
Code is here:
So it appears that the OnBookEvent gives us both the level 2 (market depth) and the level 1 (Time and Sales) information.