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 -- discounts are available after registering.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
So crickets from the Ninjatrader support team? I so need a new GUI for my trading and was looking at Ninjatrader (and Blackbird from SharkIndicators) as a secondary platform but it still seems like it is a mickey mouse operation that never seems to deal with the issues that real traders highlight. Currently using Multicharts which does not have great interactive GUI capability.
No ways will I even consider these guys until they deal adequately with professional traders. All the issues I've read and heard about Ninjatrader, especially with stability issues, seems to go unanswered. I would avoid Ninjatrader like the plague!!!!
I really think that's an unfair statement. Why not give them a chance to respond, at least they are here making themselves available with a high level contact responding in the thread.
I appreciate that you have taken the time to submit this post. I escalated this to our customer service team and they responded in our support forum. For reference, I have copied our response below.
Ray
Hello everyone,
There seems to be a bit of confusion for what is happening here.
Yes optimizations use a significant amount of memory and yes, the memory is not decommitted right away.
NinjaTrader 7 had a way of forcing garbage collection and NinjaTrader 8 just lets .NET handle it.
Peter, when you wrote in over email, you gave a us a video showing your test with the SampleMACrossover strategy where it used a large amount of tick data to build 200 volume bars. That will have a noticeable impact on memory which we do see in your video. I performed this test, and then I continued testing to see if the memory was in fact not getting decommitted. After completing your test, I downloaded the same amount of data for ES 06-20 and before I ran the same optimization backtest on that data, the memory was decommitted. This tells me that .NET garbage collection is working and there is not a memory leak.
Something else to consider with optimization backtests: By default NinjaTrader will create new instances of the strategy for each optimization iteration. A strategy can be programmed to use IsInstantiatedOnEachOptimizationIteration=false (class level variables will need to be reset in State.DataLoaded) and the optimizer will not create new instances of the strategy for each optimization iteration. The additional optimization iterations will increase the amount of memory utilized, and will increase the the time needed to complete the backtest.
AI Generate strategies do not generate code that is compliant with IsInstantiatedOnEachOptimizationIteration=false, so AI Generate runs will carry a large processing time in nature.
SampleMACrossover utilizes IsInstantiatedOnEachOptimizationIteration=false, but I thought this would be worth mentioning for others running optimization backtests.
Peter, if there is a test similar to the video provided where we can observe that memory is not decommitting after a period of time, we can look into that.
Otherwise, what you would be looking for is to have NinjaTrader implement a way to force garbage collection. We do have a feature request tracking interest behind this with the ticket ID SFT-2111. Let me know if you would like us to add a vote on your behalf.
I look forward to assisting.
Disclosure: This communication is sent to you by NinjaTrader, LLC, a software development company which owns and supports all proprietary technology relating to and including the NinjaTrader trading platform.
Its not lost on us that having this information public would be beneficial, in fact, we have revisited this question many times over the years. For a variety of business reasons, we continue to keep this data proprietary.
Ray
Disclosure: This communication is sent to you by NinjaTrader, LLC, a software development company which owns and supports all proprietary technology relating to and including the NinjaTrader trading platform.
Mike just because they are available and responding with words does not make them responsive. Responsiveness is actually fixing problems that people consistently complain about which affects their ability to trade effectively.
Translation: If we exposed this list, the list would be so long that it would be exceedingly embarrassing, and show that we have not addressed basic requests for years.
Since you are in the business of collecting commissions now, it would serve your best interests to make your platform great (it does have potential). To do so, you should be leveraging your customers input.
When I generate Account performance from an earlier date to today I only get today's data. Is there a way to obtain Acct Performance to include the replays I did in previous sessions?
Thanks
"Decommitted memory" in NT8 as it relates to Tick Replay enabled. Now this sounds like a grand idea to implement because Tick Replay as currently implemented consumes more and more memory as the day progresses. It may not be noticeable to the casual user of one or two charts, but say you are a power user and have a half dozen charts, or say 20 charts then NT8 is doomed to freeze up with sluggish unresponsive behavior. Chances are the programmers never tested it, and don't have a benchmark. In less than a day NT8 becomes useless, and untradeable. Now take single threaded NT7, with 20 charts each running GomCD in WRITE mode it can run 24/6 without a single reboot and without a hickup. Can even toss some indicators and strategies in those charts. So it would be a big leap forward for NT8 traders if TICK REPLAY had a save(write) option to write the data to a file like GomCD(nt7 only) does and DECOMMIT the memory. The saved file data is then available for recall in indicators and strategies as it is in NT7. FWIW when NT8 was in its infancy Gomi the man himself reported in writing to NT beta testing and said Tick Replay as being implemented was inefficient and inhibited NT8 from performing as well as it could. They have ignored him to date. It is sad to say NT7 can run circles around NT8 when it comes to utilizing Tick Replay. The only solution appears to be for a vendor like Gomi to write an NT8 version of ComCD with included Write mode. However, so far he is giving Ninja a chance to fix the problem as they should and we all benefit. As a long time license holder of all versions of NT I would dearly love to see NT8 live up to its wished for future and outperform 6 and 7 versions in a completely superlative fashion.....In its current form it is less than a professional piece of work.
This is not possible by design, since we clear the temporary replay account each time you start a new replay session or re-wind time during a replay session. This is to prevent executions colliding with each other which will cause trade pairing to be inconsistent.
Disclosure: This communication is sent to you by NinjaTrader, LLC, a software development company which owns and supports all proprietary technology relating to and including the NinjaTrader trading platform.