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)
Create a shortcut with the command line. (I assume you are running 64 bit).
Open the Windows Task Manager and go to the Processes tab.
Start NT like you normally do.
In the Image Name section of the screen find Ninjatrader.exe.
Right click on it and look at the Set Priority Section.
It should show Normal
Shut NT down.
Then go to the Performance Tab in the Task Manager.
Restart Ninjatrader and notice the CPU levels in the 4 windows and the CPU Usage windows.
Now do the same thing while running from the short cut you created.
You should see the Process Priority set to High instead of normal.
You should see a difference in the CPU usage and history.
IF YOU DON'T... then this may not help your system.
As far as running other processes I have not seen any issues but as Zondor indicated, this gives NT a higher priority and may cause instability issues with some machines. Test this while you are not trading for a few days to see if it creates issues for you. I am running Solid State Drives, I7 Processor with 8gb ram and have not seen any bad affects so far.
I think the real issue is with NT and this helps but is not the best solution.
Hopefully, NT8 will better handle CPU/Memory issues.
Also, as suggested, AV programs slow NT down and Windows Search Indexing Service should be disabled when running NT.
Rejoice in the Thunderstorms of Life . . .
Knowing it's not about Clouds or Wind. . .
But Learning to Dance in the Rain ! ! !
I am going to throw in with @Zondor on this, namely that your issues are probably not hardware-related, but I wanted to give a real-world example.
I am running what, by today's standards, is a fairly inferior system. It's a laptop I bought about 2 years ago for less than $500. (Experience had told me that it would be more than enough, and it has been.)
It does have a quad-core processor, but it has just 4 GB of RAM (3.5 available after Windows) and the speed is only 1.5 GHz. It does have a separate video card. The hard drive is nothing special, whatever they slapped in there; not SSD. The video is driving a separate monitor plus its own monitor. That's it.
When I start trading in the morning I do watch what I load in, but, before loading NT, I usually have MS Excel and Word, and Internet Explorer with 7 or 8 browser windows open, including streaming audio from an internet radio station. I then load in NT and another trading platform that I use for executions.
In NT, I have about 15 charts per workspace open usually, and usually 2 workspaces. There are a few indicators on the charts, but not a great many.
Generally, memory usage in Task Manager runs around 75%, sometimes closer to 80. CPU usage loafs along below 20% most of the time. I can sometimes get a slight slowdown if I get too enthusiastic in opening too many web sites that are memory hogs with a lot of snazzy graphics (and big ads that play videos), but if I stay below 80% memory usage things are fine. CPU is not a problem.
So, on my slow and underpowered little system, NT chugs along just fine, with more charts open, frankly, than I really need and more other programs open than I really need at once. I just keep all that stuff open because it's convenient and it doesn't adversely affect me.
Now, as to indicators.... @Zondor frequently beats the drum about inefficient coding in NT indicators, and I have found that he is often right. I mainly use out-of-the-box NT-supplied indicators, which are not always that well-done but my dinky system can manage them, plus indicators from people like @Fat Tails and @gomi (and sometimes @Zondor ), which of course are well-done, and a few that I have either written or tweaked to improve. Frankly, sometimes I just leave something as-is because I know the hardware can handle it (which may be a character defect, but I'm not going to change.... )
However, some indicators are so bad, in performance terms, that, if you have very many like them loaded, they will certainly gum up your performance. Also, if you have indicators you have purchased, you may have no way to know what they are doing.
This post has gone on far too long anyway, but I suggest starting to eliminate, on a test basis, either charts or indicators on charts to attempt to locate any that are slowing you down. Given that my little system can handle a whole lot of NT and non-NT stuff at once, I think that may be a better place to look than upgrading your hardware.
As to what to do about it if that does isolate the problem, well, if you're not a coder yourself that may be a good question, but at least you may be able to make some choices about what to keep and what to leave out, and what to seek a replacement for.
I hope this post helps frame the hardware issue better for you. I think it is very likely that your issues are not in your physical equipment. Try this before spending time and money on better hardware.
@ w00dmann: Somebody makes a serious suggestion and all you do is laugh!
Your hardware configuration is largely suffiicient to run NinjaTrader and no upgrade is required.
I would say that with a probability of 99% you are running badly coded indicators or bar types - free stuff or custom made stuff that you downloaded somewhere. The problem can be aggravated by hidden workspaces that are running in the background.
If you really want to solve your problem, please let us know the details of your workspaces - that is screenshots showing all indicators and indicator settings. Otherwise there is no point to discuss the matter.
I just want to officially re-iterate this also. 99% of the performance issues we resolve on our help desk are related to badly coded indicators.
For NT8, we have improved this in several areas:
- System indicators have been optimized
- We have added a "On price change" option for indicator calculations which gives you a middle ground between calculating on each tick and on bar close
- Indicators (by default) will stop calculations if they are not visible such as chart minimized or on a background workspace.
- UI is multi-threaded taking advantage of every core on your PC --> Distributes the CPU processing load
@ Fat Tails: I'm not sure how that came across, but this is what I was chuckling at:
I was chortling at the humour embedded in his comment, not the content of the comment itself. I'm sure he is correct and I appreciate the insight, as I had not considered poorly coded indicators as being a resource hog. But the latent frustration and the way the comment was worded seemed humorous to me, that's all. No offense intended.
Thanks very much for your feedback bobwest, zondor, davidhp and fat tails. This helps put my NT problem in perspective. Good to definitively know that upgrading my hardware won't do much of anything. I will take your suggestion DavidHP and see if it helps. Otherwise, will try paring back the indicators, and wait for NT 8.
HI @NinjaTrader, hey Ray appreciate your comment but I would like to know...If one has a badly coded indicator and it is not applied to a chart, can this affect the performance of NT7?
Thanks in advance
Yes, it is possible but not probable, here is the simple explanation:
When an indicator dialog window is opened, all indicators execute code in order to load all of the various properties of an indicator. If this section of code holds "bad" code, it can temporarily affect performance.
HyperThreading basically emulates more cores. It's for when software is bad at multi-threading and the hardware is better. It's an old tech and generally high-end servers with optimized software are better left with HT disabled.
It isn't required. You can determine if your system is faster or slower with it on/off by doing a benchmark. The results will be nearly identical, probably not worth the time to run a benchmark and then live with the change.