NexusFi: Find Your Edge


Home Menu

 





NT7 sluggish, hardware upgrade to improve performance?


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one Big Mike with 6 posts (3 thanks)
    2. looks_two w00dmann with 4 posts (3 thanks)
    3. looks_3 DavidHP with 3 posts (3 thanks)
    4. looks_4 Zondor with 3 posts (5 thanks)
      Best Posters
    1. looks_one NinjaTrader with 3 thanks per post
    2. looks_two Fat Tails with 2.5 thanks per post
    3. looks_3 Zondor with 1.7 thanks per post
    4. looks_4 Big Mike with 0.5 thanks per post
    1. trending_up 10,358 views
    2. thumb_up 28 thanks given
    3. group 10 followers
    1. forum 30 posts
    2. attach_file 0 attachments




 
Search this Thread

NT7 sluggish, hardware upgrade to improve performance?

  #21 (permalink)
 
DavidHP's Avatar
 DavidHP 
Isla Mujeres, MX
Legendary Market Wizard
 
Experience: Advanced
Platform: NinjaTrader
Broker: Ninjatrader / Optimus Futures / AmpFutures
Trading: ES / 6E / 6B / CL
Frequency: Every few days
Duration: Minutes
Posts: 1,611 since Aug 2009
Thanks Given: 11,336
Thanks Received: 2,744

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.


w00dmann View Post
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?


Rejoice in the Thunderstorms of Life . . .
Knowing it's not about Clouds or Wind. . .
But Learning to Dance in the Rain ! ! !
Follow me on Twitter Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
REcommedations for programming help
Sierra Chart
ZombieSqueeze
Platforms and Indicators
Better Renko Gaps
The Elite Circle
MC PL editor upgrade
MultiCharts
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Spoo-nalysis ES e-mini futures S&P 500
29 thanks
Just another trading journal: PA, Wyckoff & Trends
25 thanks
Tao te Trade: way of the WLD
24 thanks
Bigger Wins or Fewer Losses?
22 thanks
GFIs1 1 DAX trade per day journal
17 thanks
  #22 (permalink)
 
bobwest's Avatar
 bobwest 
Western Florida
Site Moderator
 
Experience: Advanced
Platform: Sierra Chart
Trading: ES, YM
Frequency: Several times daily
Duration: Minutes
Posts: 8,168 since Jan 2013
Thanks Given: 57,452
Thanks Received: 26,278


w00dmann View Post
Hi all,

I am currently using NT 7 and I want to improve performance / speed / responsiveness. I have a number of charts open at one time (viewing different timeframes at once) and a number of indicators interpreting data. I find NT's performance to be "ok", but sometimes sluggish. This is particularly true at the time when I first open NT and it's loading up all those multiple charts; and also when I start a market replay session. It's also sluggish when I have multiple workspaces open at the same time, and the problem is compounded by the number of days' worth of data I load. I know the more charts I have open and so forth, the more it taxes my computer's resources. I want to upgrade my system to improve this. Here is my current system:

-i7 920 quad core @ 2.66 Ghz
-9 GB RAM
-SSD hard drive
-Radeon 4670 video card

My question is: if I upgrade my hardware, will it result in a performance improvement in NT? If so, what should I upgrade? Based on my research, I see mixed responses on this question with some people claiming virtually NO improvement can be had by using hardware faster than what I've got - but I find that hard to believe?!?

Thanks for your help.


Zondor View Post
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:


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:
  • 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.

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.

Good luck.

Bob.

Reply With Quote
Thanked by:
  #23 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102



w00dmann View Post
Thanks guys, appreciate your feedback. It's disappointing to think that improving my computing power 100% won't result in any significant increase in performance. I've never come across an application that didn't benefit from more horsepower - Ninjatrader is indeed "odd" in this respect. I'll have to look at other performance tweaks.

That made me laugh! Thanks for the chuckle.

@ 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.

Reply With Quote
Thanked by:
  #24 (permalink)
 
NinjaTrader's Avatar
 NinjaTrader  NinjaTrader is an official Site Sponsor
Site Sponsor

Web: NinjaTrader
AMA: Ask Me Anything
Webinars: NinjaTrader Webinars
Elite offer: Click here
 
Posts: 1,713 since May 2010
Thanks Given: 203
Thanks Received: 2,686


Fat Tails View Post
@ 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.

Thanks FatTails,

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

Follow me on Twitter Reply With Quote
  #25 (permalink)
 w00dmann 
Vancouver, BC
 
Experience: Beginner
Platform: Ninjatrader
Trading: emini's
Posts: 33 since Nov 2011
Thanks Given: 15
Thanks Received: 18


Quoting 
@ w00dmann: Somebody makes a serious suggestion and all you do is laugh!

@ Fat Tails: I'm not sure how that came across, but this is what I was chuckling at:


Quoting 
No point upgrading hardware since performance issues are most likely due to sloppily and ignorantly coded indicators that are extravagantly squandering resources.

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.

Started this thread Reply With Quote
  #26 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


w00dmann View Post
@ 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.

You could show us a screenshot of your workspace and it is possible that we identify the culprits which are responsible for the increased CPU load.

No need to wait for NT8. Your machine is good enough to run NT7.

Reply With Quote
Thanked by:
  #27 (permalink)
 
learning0101's Avatar
 learning0101 
Houston, Texas
 
Experience: Intermediate
Platform: NinjaTrader,TOS,Etrade,St
Broker: NT:( tos,etrade,CS
Trading: stocks,options,futures,forex
Frequency: Never
Duration: Never
Posts: 287 since Aug 2011
Thanks Given: 3,613
Thanks Received: 222


NinjaTrader View Post
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.

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

Reply With Quote
  #28 (permalink)
 
NinjaTrader's Avatar
 NinjaTrader  NinjaTrader is an official Site Sponsor
Site Sponsor

Web: NinjaTrader
AMA: Ask Me Anything
Webinars: NinjaTrader Webinars
Elite offer: Click here
 
Posts: 1,713 since May 2010
Thanks Given: 203
Thanks Received: 2,686


learning0101 View Post
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.

Follow me on Twitter Reply With Quote
Thanked by:
  #29 (permalink)
 
madLyfe's Avatar
 madLyfe 
Des Moines, Iowa
 
Experience: None
Platform: Ninja, TOS
Broker: AMP/CQG, TOS
Trading: CL, TF, GC
Posts: 1,641 since Feb 2011
Thanks Given: 9,220
Thanks Received: 1,020


NinjaTrader View Post
- UI is multi-threaded taking advantage of every core on your PC --> Distributes the CPU processing load

does this require that an intel chip have hyper threading? maybe im confusing the act of using all cores evenly and threading.

dont believe anything you hear and only half of what you see

¯\_(ツ)_/¯

(╯°□°)╯︵ ┻━┻
Visit my NexusFi Trade Journal Reply With Quote
  #30 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,442 since Jun 2009
Thanks Given: 33,215
Thanks Received: 101,603



madLyfe View Post
does this require that an intel chip have hyper threading? maybe im confusing the act of using all cores evenly and threading.

No.

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.

Mike

We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:




Last Updated on October 10, 2014


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts