Actually, NinjaTrader 7 backtesting is much faster than 6.5. Below are several benchmarks we posted on our website some time ago. NinjaTrader does not impose any throttling of data transfer rates. I would imagine that this is a function of your internet line quality? If you are connected to your data provider after an optimization/backtest is complete, you click on a chart and on this chart, the start date is older than the available data in your local cache then yes, NinjaTrader will try to get the data. The logic for this is explained (Historical & Real-time Data) go to the section “When does NinjaTrader load historical data?”. You can bypass this logic if you ensure that you are disconnected during backtesting. Then when a chart is clicked, it will only load the data available from your local cache which of course is a lot faster than loading from the market data service. I am not sure why you felt the need to reset the data base…but for NinjaTrader 7, resetting the database has absolutely no impact on historical data since historical data is now stored separately in files.
Backtesting of our SampleMACrossOver strategy on 50 tick ES series on approximately three months of historical data
Version 6.5 - Peak RAM usage of 1.2 GB, 550 MB retained in memory after backtest completion in about 4 minutes
Version 7 - Peak RAM usage never exceeded 110 MB and backtest completion in about 40 seconds
Backtesting of our SampleMACrossOver strategy on 50 tick ES series on approximately 1 year of historical data
Version 6.5 - Failed with out of memory exception
Version 7 - Peak RAM usage of 140 MB with a completion time of less than 3 minutes
NinjaTrader my comments below:
"when the static SupeDOM is enabled is liable for the patent fee thus you cannot use the dynamic SuperDOM and bypass the patent fee" - your logic does not make any sense here...
I am coder or at least used to be one, therefore I know you can do anything with code what you want. It is always just a question of time and money, having said that the 2 DOMs shall not be exclusive if the code is smartly written, meaning static DOM being enabled does behave as you expect it such complains when no credit available, in the same time there is no good reason to disable the dynamic DOM.
"our goal is to have a happy long term customer base but of course, we can’t please everyone." - partially agreed however if you read this thread through, your company has pissed off a lots of people who paid a good money for your product.
I am sure everyone who currently decided not to use NT at all or just for certain functions, has started with a lots of ambition, plans and took a while to get on the other side of the fence...
The following user says Thank You to atata for this post:
NinjaTrader entered into a licensing agreement with Trading Technologies. As part of their standard licensing terms, I have to charge 0.10 per side for any futures trade executed through any part of the NinjaTrader application when the static SuperDOM is enabled independent if it is used or not.
This is not a "coding" issue but a "licensing requirement".
No, it isn't my line quality, perhaps its yours,? I'm an ISP, I have 8mbit here and 10mbit at the office, NT data is always slow for me.
Yes you can go through all the menus and turn off the historic data, but then when you actually want to load the historic data you then have to either do it manually or go back in and change that setting. Just a little toggle button to turn on and off historic data quickly and easily would be a big improvment on functionality for the user I think.
I didn't say RESET the database at all, I said REPAIR.
WHY did I have to repair it ? Geez, well, the first time because 12 months of tick data became 3 days after the backtest, and the second time after loading the tick data the last 24 hours of my live chart for that instrument dissappeared and reloading the historic data didn't fix it .... the repair and restart did, not fun while in the middle of a live trade, which I was.
Yes NT7 is faster when doing the number crunching in back testing, it uses 4 cores of my CPU, but once that number crunching part stops, it drops back to 1 thread to move all the data around, and with a useful amount of tick data it is simply too slow still. Granted there is some improvment over 6.5, it is still a frustrating expereince using it. My PC here is a 3Ghz Core Quad extreme, 1TB HDD 3.2 Gig usable RAM.
Sorry I think you need to speed up and fix up the NT database. Anyway real system needs to be optimized on years of tick data if it has even a hope of surviving an unkown future ... it just isn't possible to do that with NT still. Your back test results use a max on 1 year tick data, how about testing it on useful amounts of tick data.
I am sorry to know that the data download has always been slow for you. I would not know why that would be the case and would be happy to have my IT Manager work with you to understand why this is so. My original intent in addressing you was the statement you made in your original post that the data download is throttled at 25 kbits which was an inaccuracy. NinjaTrader historical data servers are hosted at Interactive Data 7 Ticks (http://7ticks.com/index.php/productsandservices/content/id/Trading+Infrastructure+Services) and I just heard back from them that they have not had any performance issues relative to our servers as of late. To be sure, we ran some tests this morning and are getting 1.73 Mbps.
Yes, there is an option to do this however, the easier approach that I posted before is to either make sure you are not continuously requesting more data than you have in your local cache or simply disconnect when you run your backtest. This will ensure that NinjaTrader does not attempt to load data from the market data source.
The point I was making was that that any action (Repair or Reset) on the database has no impact on historical data since historical data is stored separately from the database in NinjaTrader 7. Whatever issue you experienced here, I am more than happy to help resolve. Please send an email to our support, attention to “RayD” and I will assign it to someone on my team that will follow up directly with you.
You are right, it’s faster. You had stated in your original post that “nothing has changed” which is I felt does not reflect the facts. The single threaded operation you speak of likely is the exploration of individual backtest results at the conclusion of an optimization while viewing the chart tab? In this case, each time you select a backtest result the backtest is executed again for that specific set of optimized parameters so each trade of the backtest can be plotted on the chart. If you have an extremely large data set and/or a comprehensive strategy that can generate a lot of trades then you are right, it will take time and I don’t dispute that it does not meet your personal requirements. However, just viewing the “Summary” tab for each backtest results is instant since each of the results summary data are stored in memory.
<quote>The point I was making was that that any action (Repair or Reset) on the database has no impact on historical data since historical data is stored separately from the database in NinjaTrader 7. </quote>
Part of my procedure to fix things, is to delete the data from the historic data manager and then reload it, so I guess that's what fixed the problem rather than the DB repair.
Nothing has changed in the sense that I went to do some back testing in NT and ended up with data problems again and it is still very slow. Even with just 2 years of tick data, try running an optimization then click on an equity graph, there is a very long delay for that graph to load, click on another one, another long delay, click on the chart, another long delay ... it's painfully slow in that area.
Yes, fair enough in that NT7 has changed over NT6.5. NT7 dosn't crash everytime you try and backtest a decent amount of data like NT6.5 does and the number crunching is quicker, however based on my 1 night of backtesting on a new NT7 install, I was dissapointed to end up in the same old position with data missing issues.
I've paid alot of money over the last 3 and half years, in that time it has been almost immpossible to use the software for backtesting productively. Alot of time and money for alot of problems and software that wouldn't do what it was suppose to do over that period, I was really hoping to come back to it now and have a painless experience.
AS for contacting support, I've already been through these data issues with them about 20 times over the years, I don't have time to start another round at the moment. Anyway in the past I think everytime the solution has been for me to do even more work on my side deleting, uninstalling and resetting stuff and loosing old backtest results etc in the process.
I used to backtest with a tick dataseries but gave up on that a long time ago. I never blamed Ninja, it's just more data than my computer had the memory to deal with. I now use a 1 tick range bar instead. I've had no problem with that, and can't think of any reason the results would be any less valid.
The following user says Thank You to fluxsmith for this post: