Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Cumulative delta, like any other indicators, is a reflection of the past. Yes, I know sell orders outnumbers buy orders in the last hour, but the big seller may already be done with selling and price reversion may be just around the corner. Or alternatively, another big sell order may arrive at an unknown time later with TWAP. In either case, cumulative delta simply won't tell you anything about the future. You need another edge like crystal ball to predict the future first , then you can use cumulative delta as a confirmation tool.
I am using ninja and I have always wanted to identify the volume of pulled orders using OnMarketDepth(MarketDepthEventArgs).
The adds are easy to identify when reading incoming volume. Ninja has two other possibilities "update" and "remove". Did you assume that all the updates are due to transacted volume and all the removes were cancelled volume (pulled orders)?
If you are looking to differentiate adds vs. cancels vs. transactions I can point you in the right direction. The Update, Add, Remove status has nothing to do with cancels vs. adds. This relates to if the price is being added to the DOM because it is newly created or if it is being removed because the price level just cleared.
So with Ninjatrader all the volume updates are aggregates so you have to run your own logic to break this out.
With strictly level 2 that is far far away from the transaction level, this is easy. You will need to assign a variable to hold a snapshot of the volume at whatever given level you are tracking, then when you get a new update, you just calc the delta. Like this.
And you can just keep summing your add and cancel variables through the life of that price level. As long as all the action lives in level 2 ( The price never hits the best bid / best ask) that is all there is to it.
But for anything that hits level 1, there is added complexity of differentiating transactions from cancels.
Again, with the market by price feed everything is just aggregated so we don't get any specific messaging denoting a cancel vs. a transaction so we have to break this out with some logic.
For level 1 data NT has 3 feeds. Ask, Bid, and Last. The Last is the transaction feed. Within the Last feed you can point to the bid or last with some basic < or > references to the bid or ask price to determine where the transaction hit. Unlike level 2 where we can assume any downward movement is a cancel, with level 1 you have to have a little more logic. So applying the same example as before, but with level 1 data, we would characterize it like this.
200 = starting volume
205 = + 5 Added
195 = - 10 Subtracted (Maybe cancel or transaction but we don't know)
etc...
Then you run your total sum of Subtracted volume - the total sum of Transaction volume, the difference is your canceled volume. And that is it.
If there is enough interest I might share more of my microstructure research on a new thread at some point.
Ian
In the analytical world there is no such thing as art, there is only the science you know and the science you don't know. Characterizing the science you don't know as "art" is a fools game.
That was the part that was giving me grief. Thanks for clearing that up. I have some old code kicking around. maybe i will ressurrect it. Gawd - that might have been and prolly was NT7.
I used to print out a mini dom beside price with the delta for each bid and ask level in separate additional columns.
I think cumulative delta is certainly not useless, when used in confluence/support of an existing thesis, so really for confirming what you already think. I don't think you can get much use out of it on its own... just my two cents!
I use the Orderflow Cumulative Delta on NT8 to show the direction of the market...one the NQ and MNQ...works great for scalping....in fact I give it more weight than the unirenko chart...see examples...
just another example now using NT8....added ADXHistogram and SMA histogram with the OrderFlowCumulative Delta...also corresponds with the Dynamic SR Color Zones on the Chart...almost a no brainer.....I use the SMA historgram….has to be greater/lesser than 3.5'/-3.5 to stay away from chop....once the ADX turns purple....golden opportunity..