Broker: Tradestation/Tradestation, NinjaTrader, FXCM and Tallinex
Trading: ES, CL, EUR/USD, TF
Posts: 181 since Aug 2009
Thanks: 103 given,
56
received
Hello
some really weird strange thing happened today. I have been paper trading very well for the past 4 weeks using market profile in ninja 6.5. yesterday I switched over to the CL 05-11 contract in my ninja 6.5 inside a virtual machine (vmware) using windows XP and I noticed the levels really did bad! Today I started trading live and did not do so well---MP levels did terrible. Then I check the same program on Ninja 7 on windows 7 and it had different levels off by as much as 20 to 30 ticks!
I thought maybe it was the market profile program, but I check just the data and it was the data with the problem.
I opened a chart of 6.5 and a chart of 7 of CL 05-11. On 6.5 the time frame is 9am to 1:30pm est and on 7 it is Nymex RTH for session. This is the same setting set back 50 days on 5 min chart.
The last 2 days are fine, but anything before that is off by 5 to 20 ticks!!!!!!!!
no wonder my MP levels are screwed up. Does anybody know if they are changing the way zenfire historical data is formatted and if it is now different in ninja 6.5?
I tried AMP futures as well as Mirus and both are the same, so I know it is not the broker, but the way the data is interpreted.
anyway, if anybody can shed some light on this topic I would appreciate it
You've probably checked, but make sure the MP indicator setting are the same in both 6.5 and 7, make sure the market open and close times are the same in the indicator and / or on your charts.
The following user says Thank You to webart for this post:
This has nothing to do with the data provider, but with NinjaTrader's rollover settings.
From your charts I conclude that you use merged backadjusted contracts and that you used the NinjaTrader default settings for rollover day, which is March 21.
Now merged non-adjusted, merge backadjusted and continuous futures contracts are artificial constructs that serve a certain purpose, but cannot be used for everything.
If you want to use merge backadjusted contracts, you need to carefully select
- the rollover day (I use volume cross-over)
- the method to calculate the offset
NinjaTrader 6.5. uses a technically false method to calculate the offset. With NinjaTrader 7.0 this has changed, the method is correct. What is still a problem with NinjaTrader 7.0 are the default rollover dates, which are mostly good for financial futures, but somewhat off for commodities.
For CL I suggest a rollover date March 18, as volume had already moved to the new contract. NinjaTrader 7.0 calculates the offset from daily data. Which daily data do you use? I calculate my offsets from the difference of the settlement prices prior to rollover day. Kinetick EOD has those settlement prices. You can also look the settlement prices up at the CME website and enter them manually.
If you do not care about rollover date, offsets and settlement prices, you will obviously get different data sets for the merged part of your chart.
Market Profile uses a volume distribution, so I am afraid that you will only get accurate results, if you do not merge contracts, but use single month contract data.
The following 2 users say Thank You to Fat Tails for this post:
Broker: Tradestation/Tradestation, NinjaTrader, FXCM and Tallinex
Trading: ES, CL, EUR/USD, TF
Posts: 181 since Aug 2009
Thanks: 103 given,
56
received
thanks Fat Tails. is merging contracts something I need to do even though I am now only trading and only looking at CL 05-11. not sure if this method is to try to combine CL 04-11 with CL 05-11 to a continuous contract.
the 2 pictures show CL 05-11 from ninja 7 and 6.5 not including CL 04-11 at all and the data is not the same.
All I want to do is have both single month contracts (CL 05-11 having nothing to do with CL 04-11) show the same values. sorry if I am not understanding as I usually just turn on data and it works:-)
You cannot select merge policy with NT 6.5. Merging contracts automatically is a new feature of NT 7.0
With NT 6.5. you always have unmerged contracts, unless you merge them manually. When merging manually you need to specify the rollover date, but cannot select any offset. The method used to determine the offset is at least unorthodox, I would say incorrect. This means that the mergebackadjusted contracts created with NT 6.5 are of limited value.
With NT 7.0 you can select both rollover date and offset and this will be applied automatically, if policy MergeBackAdjusted is selected. You can select a global merge policy under options and an individual merge policy under instrument settings. The latter will override the former.
The following user says Thank You to Fat Tails for this post:
Broker: Tradestation/Tradestation, NinjaTrader, FXCM and Tallinex
Trading: ES, CL, EUR/USD, TF
Posts: 181 since Aug 2009
Thanks: 103 given,
56
received
Hi Fat Tails,
just to be sure, are we talking about a single month contract of crude oil like April or May---or are we talking about making continuous contracts? Merging April and May together?
I guess I am getting confused with the word Merge and offset----it sounds like trying to make a continuous contract.
I am not trying to make continuous contracts. my whole thing is that the 1 min data on the May crude contract for Ninja 7 is giving different historical values than Ninja 6.5(only before 03/18/11. anything after is same and real time is same) Ninja 6.5 is wrong.
I talked to Mirus and they were stumped. Told me just to use Ninja 7. Right now, I am using Ninja 7 just for charting.
This has to be a problem with the data server for Ninja 6.5 because I cannot imagine that all the market profile peoples data was off all these years whenever a contract rolls over---especially true for people not experts with Ninja
maybe we are talking about the same thing and I am not understanding.
thanks
Spencer
You will get the same data displayed with NinjaTrader 6.5 and NinjaTrader 7.0 if you use single month contracts. For NT 6.5, single month contracts will always be displayed, unless you manually merge prior months into your current contract. For NT 7.0 you need to select "DoNotMerge" under Options -> Data and make sure that Global Merge Policy is selected under instrument settings.
Continuous contracts and merge backadjusted contracts are not the same!
MergeBackAdjusted Contracts
1st step: You determine the rollover date. 2nd step: You compare the settlement prices on the day prior to rollover for the new and old front month contract and calculate the offset, which is offset = settlement new - settlement old. 3rd step: You add the offset to all prices of your old front month contract until the end of the session prior to rollover day. 4th step: You substitute all data of the new contract month prior to the end of this session with the artificial data series.
NinjaTrader will do this automatically, if you enter the rollover date and make sure that your daily data contains the settlement prices.
It is important to know that you now have an artificial data series until rollover date and the real data afterwards.
The MergeBackAdjusted contract should be used for backtesting intraday strategies, as it takes correctly into account the rollover cost. It also should be used for establishing Fibonacci ratios.
Continuous Contracts
Continuous Contracts are not built in the same way. Typically the contracts are built by adding two or more weighted data series. This preserves absolute price levels, but will distort relative swing sizes and not take into acount rolling cost. In NinjaTrader you can load continuous contracts via ##-## (for example ES ##-##), if supported by your data provider. A continuous contract has no contract months, and there are hundreds of different ways to calculate it. The actual formula is chosen by your data provider. You cannot build a continuous contract with NinjaTrader.
Differences
-> You cannot backtest on a continuous contract, as it distorts rollover cost.
-> If you go back 10 years, the continuous contract will still display price more or less correctly.
-> If you go back 10 years, the mergebackadjusted contract may well have moved into negative territory.
So continuous contracts should only be used by investors or long term positions traders, who know about that rollover cost problem.
You cannot have both with futures, prices that are near-correct on an absolute scale, and swings that are non-distorted. Each type of contract has its applications.