A new DOM for Ninjatrader

Since I started using Ninjatrader with version 7, I never liked their DOM. In fact, I found it next to useless. I purchased a third party DOM that was light years ahead of the inbuilt NT7 one in terms of information provided and update speed. When I migrated to NT8, the new inbuilt DOM did/does have some interesting features, but it still lacks usability for me, especially for order management. I already had looked into putting together my own dom a long time ago, but with the cost of my time, it was far cheaper to buy the third party one. Recently though, after chatting with a few people and wanting something for my order management that neither DOM does, I decided to resurrect the project. I’ve started afresh in NT8 and have a proof of concept running.

Here is a screenshot of the DOM, running alongside the NT8 one.The T&S on the left is for debug only at the moment (it is not managing the CME splits yet), but will be part of the DOM.

Proof of concept for a DIY DOM for ninjatrader

Here is a short video of it in action. It’s pre market, so things are quiet on the ES.

Things I wanted that are not available in other commercial DOM’s I have seen (or could afford 😉 )

Certain order management info (multiple entry info, etc)

On the fly calculation of cost basis if scalping in and out without closing fully

An API so I can inject markers, comments, etc., from other indicators

Ability to add/try new ideas as I think of them

The project is actually an external class, developed in visual studio. The only connection to Ninjatrader is in fact a short stub that you add to the chart as an indicator. 99% of the code is external to NT. This means this DOM is actually portable. Just write a new stub in whatever to send a tick stream to the DOM and it should work with any platform.

What do you think? Have any ideas? Let me know in the comments section below.

Any tips on how i can code something like this. I’m a newbie python programmer and there are tons of libraries and frameworks for trading. I want a DOM with more information but I don’t want to pay a company a ton of money. I would buy something like this for $200 or so but I wouldn’t mind ccoding my own. It would be a fun project with a lot of equity.

Can’t help you with Python I’m afraid. This is a coding project that is not simple, even for an experienced developer. You’d need to know c# (or vb, something else .net) for this really if integrating with Ninjatrader. A decent functional DOM that does more than just show the ladder is actually a fairly decent size project. If I could get want I wanted for $200, I’d buy it too! I would recommend taking a look at the Jigsaw DOM if you need one. It’s what I currently use for production. I’m coding this as time allows to enable me to integrate other things and ideas. Something that cannot be done with third party DOM’s. Once done, it will integrate indicators and recognise order flow. Something I currently use other indicators for. Or, at least, that is the idea…

I am an institutional algo guy (I ran across this because I am also integrating some of my software with NinjaTrader in order to be able to back test some higher frequency algos) but I am a decent C# WPF programmer (I say decent because I mainly program server side Java). If you have any interest in some help (either directly or in kind knowledge about institutional algos) and/or alpha/testing track me down on LinkedIn. I checked your profile and we are 3rd level connections so unless you have InMail it isn’t easy to connect. I am one of the moderators of the Algorithmic Traders Association: CTA & Quant Funds System Trading | Stocks, Futures, Forex, Options group; as such, I post a decent amount. If you care to, find one of my posts and pm me; I will give you my email and we can discuss things further.