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 -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Another option is to use a big VMWare ESX server, with 32 or 64 cores and 128GB of memory or more. Then from a single desktop machine you can use the Seamless Unity tool to run the virtual apps on your Windows desktop, where they appear as native/local apps and can be easily controlled and managed, cut/paste/copy to/from etc, from a single workstation.
If you find yourself driving hundreds of miles to end up right back where you started from, is the solution to get a faster car, or to consider following a different path?
For starters, you don't want your anti virus program or the windows search indexing service to be doing anything in the Ninjatrader directories. This might help a little:
I have done a lot of searches here on futures.io (formerly BMT) regarding this subject. It would seem that MSE is a suitable anti-virus program with regard to NinjaTrader, but I am not sure about other platforms. I normally use Kaspersky trading stocks/options …
The code you are using should be reviewed by someone who has an understanding of efficiency issues. Unfortunately most Ninjatrader coders have no such understanding whatsoever. This can make a huge difference, with clueless coding increasing resource usage by two or three ORDERS OF MAGNITUDE with zero benefit.
Common problems to which most coders are completely apathetic, and that are not even so much as mentioned anywhere in the Ninjatrader documentation include:
Creating on every tick new instances of objects that should only be created once, at the beginning of the program. A VERY EXPENSIVE mistake. ("inline" calls to external classes - an absolute abomination. ) See posts by @Richard in this thread:
The main thing is to remember a reference to the indicator, so that you don't have to ask ninja to look it up again. The number of DataSeries you need to look at isn't a factor.
So, your second example--just referencing myMacd.Avg[0]--is the …
Calculating on every new bar and intrabar tick (COBC false) the values of constants that never change during operation of the program.
Using in your calculations constants with an excessive amount of precision (usually sixteen decimal places) relative to the number of actual significant digits required (usually less than five decimal places).
Processing redundant intrabar ticks that have no effect on the output. (COBC false)
On COBC false, performing on every tick calculations and calls to external classes that only need to be done once per bar.
Using DataSeries objects in cases where only a few prior values need to be accessed, where an array or a small number of variables would require a tiny fraction of the resources of a DataSeries. Especially if the DataSeries is looking back to 2006!
These issues affect the operation of strategies and indicators. Especially when a badly coded strategy uses inline function calls to access badly coded indicators.
"If we don't loosen up some money, this sucker is going down." -GW Bush, 2008
“Lack of proof that something is true does not prove that it is not true - when you want to believe.” -Humpty Dumpty, 2014
“The greatest shortcoming of the human race is our inability to understand the exponential function.” Prof. Albert Bartlett
This is the "faster car" approach that has the potential to bring the entire computer, not just Ninjatrader, to a state of paralysis. You might find yourself in a total lockup situation where the only way to shut off the computer is the power switch.
Reminds me of how "doctors" regard disease: as caused by a dietary deficiency of prescription drugs.
"If we don't loosen up some money, this sucker is going down." -GW Bush, 2008
“Lack of proof that something is true does not prove that it is not true - when you want to believe.” -Humpty Dumpty, 2014
“The greatest shortcoming of the human race is our inability to understand the exponential function.” Prof. Albert Bartlett
You are correct it could cause issues.
However, I've been running with these setting for a while and never run into a problem.
Of course, when running this way, the only application I am using is Ninjatrader.
The result of the command line approach can be seen on the Performance tab of the Task Manager.
Without it NT seems to use one core. With the command line it seems to use 3 equally and one is mostly idle.
It is not a 'supported' method but few things are.
Hopefully the long awaited NT8 will address these issues and many others.
Rejoice in the Thunderstorms of Life . . .
Knowing it's not about Clouds or Wind. . .
But Learning to Dance in the Rain ! ! !
Thanks for your suggestions guys! Much appreciated. Good to know I'm not the only person struggling with NT limitations.
DavidHP, I'd like to know a bit more about your command line suggestion. If I'm understanding correctly, entering this command to fire up NT will allow it to use multiple cores and thereby "share the load" and perform snappier, whereas if one launches NT normally (eg. by double clicking the icon) then it will only use 1 core - is that correct?
Also, if I launch NT using your command line suggestion, what happens if I do start running other applications at the same time? For example, I generally have a browser window or two open when I'm running NT. Would this cause stability or "other" problems?