I'm quite new with Ninja and few days ago was excited with my "MakeMeMillions" strategy. backtested was 99% profitable (I was going to make 3.000 USD with 1 ES contract in 1 year ;-)), so I start looking for coding flawns, etc until I discovered the OHLC problem in backtesting.
So... I can't rely on the parameters or anything calculated by the backtest / optimization in Ninja, as you can't trust the results.
BUT: In Ninja 7.0 twhen you open a strategy inside a chart, there's a parameter called "Calculate on bar close". If set to false is supposed to calculate in every tick.
I set it up to false but could see no difference whatsoever, the results are exactly the same (on bar close vs incoming tick). Is this parameter only used for real data ticks, or also used backwards?
Is there any way to overcome this problem?
I'm even thinking to change the platform (Sierra or any other doing reliable intra-bar backtest / optimization)...
Ninjatrader is never going to give you backtesting results you can trust. Multicharts may be somewhat better, but I've come to the conclusion that the only way for me to get really reliable backesting is to write my own backtester (or pay a programmer to write it) to work directly with the data, which doesn't depend on the data-handling capabilities of any retail platform.
But since you've already got the strategy coded in ninja, you could try running it in replay mode, which should be much closer to reality than ninja's backtesting.
Last edited by GoldStandard; January 12th, 2011 at 06:05 PM.
Reason: to add something
I'll take a look at Multicharts. Is Sierra performimg OK on backtesting? My strategy is scalping 2 ticks, so most probably it opens and closes the position at the same bar. Besides this issue NT was great, but now NT is worth zero to me...
I'm not lazy learning another language or rewritting strategies , but I want to be sure backtest is as good as possible (at least close to reality or worst case scenario, not best case)...
The following user says Thank You to pakricard for this post:
I don't know much about Sierra, I use NT. Using a tick stratagy will not help changing to MC since the magnifier is a minute function. When it comes to backtesting it is difficult to compare platforms, some might have more functions than others but generally I do not trust backtesting results. It might be a starting point to check the profitability of a strategy through BT but the best way is to test it in replay or live sim trade and compare the results with your BT, in my case this means that I go live with real money after many months and with a money management strategy.
Concerning learning another language, the MC easylanguage is much simpler and faster than NT as shown in the mentioned video.
There is, but it makes your coding more complicated: you have to add a 2nd timeframe in your strategy, like a 1 tick bar, so you can analyze each tick as it comes in. But now you have to deal with the complexities of a multi-time frame strategy.
I know Metatrader can back test tick by tick built-in, without having to change your code. That would be a nice improvement if NT did something similar, built-in.
The following user says Thank You to shodson for this post:
Crap! Now I have to go back and retest every strategy I ever wrote on Ninja with a multi bar series. Who knows? I may have scrapped a couple of million dollar a year strategies ! But seriously people, it's 2011, how hard could it be to write a tick based backtester? Am I missing something here? We need to force the issue with our vendors. I say we boycott all of them!