NexusFi: Find Your Edge


Home Menu

 





Advice on building a NinjaTrader 8 PC


Discussion in Tech Support

Updated
      Top Posters
    1. looks_one ArmKnuckle with 3 posts (0 thanks)
    2. looks_two rleplae with 3 posts (6 thanks)
    3. looks_3 trendwaves with 2 posts (1 thanks)
    4. looks_4 sam028 with 1 posts (2 thanks)
    1. trending_up 4,543 views
    2. thumb_up 9 thanks given
    3. group 5 followers
    1. forum 8 posts
    2. attach_file 0 attachments




 
Search this Thread

Advice on building a NinjaTrader 8 PC

  #1 (permalink)
ArmKnuckle
Los Angeles, CA/USA
 
Posts: 3 since Feb 2013
Thanks Given: 3
Thanks Received: 0

I am looking for advice on building a NinjaTrader 8 PC.

I need a machine built for algorithmic trading that has the power to scan/trade all of the stocks on the NASDAQ and NYSE during regular trading hours.

(I am using an 8-core 2008 MacPro (2.8 GHz Xeon E5462 x2) with Windows 7 (64-bit). It functions just fine for coding, but I am scaling up my trading in the near future. My internet connection is 60 Mbps.)

Advice on all the standard bits: CPU, RAM, SSD, operating system, etc. would be greatly appreciated.

Thanks!

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Trade idea based off three indicators.
Traders Hideout
ZombieSqueeze
Platforms and Indicators
MC PL editor upgrade
MultiCharts
Better Renko Gaps
The Elite Circle
Exit Strategy
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?
23 thanks
GFIs1 1 DAX trade per day journal
17 thanks
  #2 (permalink)
 
trendwaves's Avatar
 trendwaves 
Florida
Legendary Market Wizard
 
Experience: Advanced
Platform: NinjaTrader 8
Trading: ES, NQ, CL
Posts: 703 since Dec 2012
Thanks Given: 2,898
Thanks Received: 2,525

You might look at a Ram Disk to store your needed(recent) historical data (/db folder). Your heaviest cost will be in loading up all that data at startup and the file I/O overhead for that many symbols. Other than that the usual advice applies: the more cores/threads the better, use SSD's, ect. Based on my brief 1 year of using NT8, my advice is max out your RAM and Cores/Threads. Focus on the data bandwidth through the system/software, if NT8 runs out of RAM it goes to the drive and your performance degrades.

Here is a thread on the subject...


Be Patient and Trade Smart
Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #3 (permalink)
 
rleplae's Avatar
 rleplae 
Gits (Hooglede) Belgium
Legendary Market Wizard
 
Experience: Master
Platform: NinjaTrader, Proprietary,
Broker: Ninjabrokerage/IQfeed + Synthetic datafeed
Trading: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
Posts: 3,003 since Sep 2013
Thanks Given: 2,442
Thanks Received: 5,863


Not sure i perfectly understood your target setting.

Having all Nasdaq and Nyse symbols open at once, in NT 8, that doesn't sound like a good plan to me.
Did you actually test that already in dev ?

I would recommend to make a module and take in the necessary feed for those symbols outside of NT8 and then inject the orders into NT 8 and use NT8 for routing to your broker (if you are on IB, you may as well inject
directly in TWS).

Then you use NT 8 to look and follow and kill the trade if needed.

I am pretty sure that opening 3100 nasdaq charts with a strategy attached to it, is a receipt for disaster..

How fare are you with your concept ?
I would recommend doing a small POC (proof of concept)

I run an algorithmic robot on 21 futures in parallel, it runs on various machines,
- intel 20 core (i7-6950 / 128 RAM / 1TB SSD
- intel 6 core (i7-4960X / 32 RAM / 250 GB SSD
- AMD vishera 8 core (FX 8350 (very hot !!) / 64 GB RAM / 1 TB SSD

all of the machines perform equally (using NT7) , no lag noticed

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #4 (permalink)
ArmKnuckle
Los Angeles, CA/USA
 
Posts: 3 since Feb 2013
Thanks Given: 3
Thanks Received: 0

Thanks for your reply. You have brought up some points that I would like to explore further.

My algorithm is 85-90% complete. I have been learning C# over the past 6 months, having just switched from StrategyDesk (TD Ameritrade). NinjaTrader is very robust, comparatively.

Being that I am new to NT8, I am still trying to figure out the best way to trade. My plan, up to this point, has been to follow the NinjaTrader instructions. As an example, I was going to assign the full NASDAQ list to my strategy in the “Strategies” tab. I would enable all of the symbols, and proceed with trading throughout the day.

I am currently in the backtesting phase. My computer runs out of RAM (16 GB) when I load more than 800 symbols. This bottleneck brought me here seeking PC spec advice.

I am new to scanning a large number of stocks. I, also, do not know anything about how to “make a module and take in the necessary feed for those symbols outside of NT8 and then inject the orders into NT 8 and use NT8 for routing to your broker.”

I am VERY interested in the module you are describing. Any info that you could provide would be a huge help! (It is so new to me, I do not know the proper terminology.)

I am currently with TD Ameritrade because of the free data feed. I will be switching to IB, when I start to trade.

I am still trying to learn the specifics about which data feed to get when I switch to IB (IQFeed vs. Nanex). And, if Nanex is the correct one, how do I get that feed into NinjaTrader 8. So much still to learn…

Reply With Quote
  #5 (permalink)
 
rleplae's Avatar
 rleplae 
Gits (Hooglede) Belgium
Legendary Market Wizard
 
Experience: Master
Platform: NinjaTrader, Proprietary,
Broker: Ninjabrokerage/IQfeed + Synthetic datafeed
Trading: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
Posts: 3,003 since Sep 2013
Thanks Given: 2,442
Thanks Received: 5,863

The issue you are describing is exactly what i was afraid of. I also think that a bigger machine will only move the issue to the next level, i simply think it may not be the best approach.

I think that IQfeed has even a memory issue if you subscribe 3000 symbols, @sam028 would be able to comment on that.

How complex is your algorithm ? (do you need dozens of exotic indicators from NT ?)
Does it require real-time feed and generate real-time signals ? (as compared to EOD)

It is important to design your system correctly, so that when you extend it, it doesn't fall over.

What i built is also in c#, it takes in IQfeed tick data real-time, calculates all kinds of things, generates the orders and manages the orders. Orders are injected into NT and i can then watch and (if i want) change or kill trades.

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #6 (permalink)
 
trendwaves's Avatar
 trendwaves 
Florida
Legendary Market Wizard
 
Experience: Advanced
Platform: NinjaTrader 8
Trading: ES, NQ, CL
Posts: 703 since Dec 2012
Thanks Given: 2,898
Thanks Received: 2,525

I was going to mention that concern as well, but felt it best to let the discussion progress a bit. I like the proof of concept suggestion, grow the concept organically, start with 10 symbols and see if you can get that working. You will learn a lot just doing that.

We are running roughly 50 symbols from IQ Feed through NT8 at a 1 tick interval, startup (and restarts) is the challenge (ie. the Ram Disk suggestion). Once up and stable resource usage is minimal, not a problem at all. That didn't happen by magic, it took a lot of time and hard work to get to this point. You really have to take the time up front and design all this correctly to avoid throughput bottle necks. I think somewhere between 50 and 100 symbols you are going to hit a wall, my initial thought was every N-symbols you will have to add another server.

Be Patient and Trade Smart
Visit my NexusFi Trade Journal Reply With Quote
  #7 (permalink)
 
sam028's Avatar
 sam028 
Site Moderator
 
Posts: 3,765 since Jun 2009
Thanks Given: 3,825
Thanks Received: 4,629

I also think it's not realistic.
As far as I know IQFeed limit is 500 symbols in real time for example, for more you may use something like NxCore (which won't work with Ninja without creating a custom data feed).
Assuming receiving 3000 symbols data in parallel most trading platform won't be able to deal with the huge amount of data involved.

@rleplae: the problem I had is with parallel historical data download where the IQFeed client is crashing with more than 1000
download in parallel (now I limit my queries so there's never more than 512 download in parallel).

Success requires no deodorant! (Sun Tzu)
Follow me on Twitter Reply With Quote
Thanked by:
  #8 (permalink)
ArmKnuckle
Los Angeles, CA/USA
 
Posts: 3 since Feb 2013
Thanks Given: 3
Thanks Received: 0


rleplae View Post
I would recommend to make a module and take in the necessary feed for those symbols outside of NT8 and then inject the orders into NT 8.

I am trying to understand this sentence from some months ago. How to make a module to be calculated outside of NT8, only to inject the results of the calculation back into NT8 once trade decisions have been made?

Is the module in a different, more advanced language? If so, what language? A different app maybe. I am keenly interested in understanding what you meant by a "module".

Thanks in advance.

Reply With Quote
  #9 (permalink)
 
rleplae's Avatar
 rleplae 
Gits (Hooglede) Belgium
Legendary Market Wizard
 
Experience: Master
Platform: NinjaTrader, Proprietary,
Broker: Ninjabrokerage/IQfeed + Synthetic datafeed
Trading: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
Posts: 3,003 since Sep 2013
Thanks Given: 2,442
Thanks Received: 5,863


ArmKnuckle View Post
I am trying to understand this sentence from some months ago. How to make a module to be calculated outside of NT8, only to inject the results of the calculation back into NT8 once trade decisions have been made?

Is the module in a different, more advanced language? If so, what language? A different app maybe. I am keenly interested in understanding what you meant by a "module".

Thanks in advance.

You can do this in c# (or any other language you feel comfortable with)

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote




Last Updated on August 7, 2017


© 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