Well........I guess it was inevitable.........found a problem with Ninja 7......it seems that it occurs around contract rollover....it has to do with the new feature that Ninja has that attempts to merge past contracts without having historical data.
Everything was fine all day then suddenly my data went crazy.....that chart didn't look the same as it had just a few minutes before.....what a mess.......called my broker......did some trouble shooting......reset instruments.....reset data base......still messed up. Got ahold of Ryan at Ninja and he finally figured it out......he had to set the contracts on "do not merge" in order to view just the front month contract.
They say a "real" version on Ninja 7 will be out in about a month........you might want to wait until then to try it.....unless you want to deal with crap like this.
Last edited by Big Mike; October 18th, 2010 at 07:22 PM.
Reason: clarified title, moved to platforms
The following 3 users say Thank You to Jeff Castille for this post:
Once I decided to give Ninja 7 a shot I poured every waking moment into getting switched over.......all my years of indicator research, new templates, setting up the DOM, the Time and Sales......on and on.....and this happens. Very discouraging........
The thing about it is........just because they release an "official" version of Ninja 7......doesn't mean these kinds of things will not continue to happen.........getting the bugs out is an ongoing operation.
Even though this particuliar issue has been resolved.........I think I'll be on Ninja 6.5 tomorrow.
Had a response from NinjaTrader support. The data displayed for the first two intraday sessions is still the old contract, non backadjusted. Things like this only happen on rollover date. I saw a post from @aviat72 who suggested to roll on Saturday only, LOL.
Essentially you cannot use NT to trade on rollover date. So when you want to roll, just declare yesterday rollover day, and everything should be fine. Eventually reload a bit of data for the new contract. Still better than NT 6.5, because all contracts use a flawed method for backadjustment, whereas NT 7.0 at least allows you to display data correctly in the end.
The following 4 users say Thank You to Fat Tails for this post:
I have noticed that the volume transition tends to happen at or near the weekend before the contract expiry. Since that is what we are truly trying to track it seems to make sense and works with NT.
I think the fundamental problem is that the NT architecture is open and very generic, and does not have contract specific specializations available. From the software point of view what they need is specialized versions of rollover logic which incorporate the nuances associated with different instruments; this easily follows from a good object oriented design methodology. But I think their hands are full and these issues are lower in their priority scheme.
I am on a free trial of MarketDelta right now. It does not have the customization capabilities of NT. However it has a lot of trader related logic in built in to it. I am thinking of signing up for a subscription of iRT since it gets me everything.
Contract specific specializations? There are not so many options for rollover dates. You have the financials with known rollover dates, so you will these dates as defaults. For many of the commodities there are no strict rules, and if you look at traders or data suppliers, they all use different rollover dates. This is true for CL as well. The only rule needed here is rollover based on volume or open interest.
Basically this means that you watch volume and enter your rollover day, once you have decided to roll. This is not so difficult. The problem is that NinjaTrader does not load historical data for the old and new front month as expected and thus false or no offsets are applied or data for the wrong contract is displayed. This is not contract related, but applies to all futures contracts.
So they do not need any specifics for contract, but they just need to clean up their code.
The following 2 users say Thank You to Fat Tails for this post:
Yesterday before floor session open I saw volume was higher for the front month. I switched to CL 12-10 but the chart looked nasty. I did not really know what to do, so I changed the setting to "do not merge". Then the intraday chart looked correct to me.
What would have been the right decision if I had not changed from "merge back adjusted" to "do not merge"?
Which rollover date (yesterday or last friday) and which offset (difference between last settlements?) would have been correct?
First, there is a bug, which affects the way data is displayed on rollover day. So what you can always do is roll earlier, but take the offset from the session prior to rollover day.
Case: Rollover Date Yesterday
So yesterday, after deciding that you want to declare it rollover day, you could have entered an earlier data for rollover, for example Friday. Then calculate the offset - which is applied to the whole DataSeries of the old front month - but do not calculate it from the Thursday settlement price (as would be necessary for rollover on Friday), but calculate it from Friday's settlement price, as appropriate for rollover on Monday. Now you have a correct chart for Monday. Friday's data already shows the new contract, which is not bad, as you have the correct values for yesterday's high and low.
Different Case: Rollover Date Today
You screenshot shows the default rollover date of NinjaTrader, which is today. Depending on your datafeed, the offset is downloaded from NinjaTrader servers or calculated from your daily data base. If you calculate the offset from the CME settlement prices, the correct value would be 83.80 - 83.08 = +0.72. If you calculate the offset from the close prices, you get 83.75 - 82.83 = 0.92 I would definitely opt for the first value. The NinjaTrader value is close but not identical.
I just checked Kinetick data: It has the correct daily settlement values. So I do not know, where the value of 0.69 comes from. Just delete it and enter +0.72 instead.
NinjaTrader's default settings are not correct for CL
Anyhow yesterday's volume for the new front month was already much higher than the old front month volume. So volume crossover was yesterday, and you should have latest rolled yesterday. This is possible by entering rollover date and offset manually. As long as the bug persists, you have to use the method described above, rollover date earlier with correct offset.
This is a bit weird, but practicable. Once they kill the bug, should be working as expected with manual settings.
The following 4 users say Thank You to Fat Tails for this post: