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)
hi,
as you know i intensively watch all NT 7 -related stuff these days to create i biger picture of NT7 for me.
i found this statement on NT-forum today and wondered a bit - but i am no expert to interpret or classify this.
can some techies here give a statement / explaination to these words from Dierk please ?
Well, this is not new news. The problem is the underlying Ninja architecture, which was never designed to deal with multiple threads. At first thought, you would think that each chart could use its own thread, but generally that does not fly, because normally the entire GUI is handled in a single thread. There is a lot of other work that could be handled in parallel though, but the software has to be designed correctly, and I suspect Ninja would need a major overhaul (much bigger than the NT7 changes).
For backtesting, they are able to partition each scenario, and run each in parallel with a different thread, then they collate the results and present the info back on the main thread.
so what does this mean i fact of choosing a CPU for a pure trading-machine ?
in my understanding of this now i better invest in a big sized core2 + good+fast mainboard + parts than in a big 4core if i dont need power for backtesting.
is that right ?
as said - talking about a pure trading-PC. No backtesting, no frills.
what do you think is the point with running some strategys ?
lets say i run 6 of them on the same instrument - not loaded in charts, only in the strategy-tab - will their action be calculated on other cores then my manual action in the charttrader ?
or is it meant that basicly ALL real tradingfunctions use 1 core +
only backtesting-function is enabled to use multiple cores ?
Not positive on the strategies, but I suspect they all run in the same thread just like charts. Try it and find out.
In terms of a trading PC, the answer is still it depends. Are you only running Ninja? Do you run other trading related items (i.e. your data feed may be another process depending what you use, or another charting program...). Do you run some non-trading items? While Ninja may only use one core for the most part, other programs may be able to make use of the other cores.
I have not looked at benchmarks recently, but 2 core CPUs may have better bang for your buck.
Personally, I use 4 core CPUs, but I have a lot running on there at the moment (and Ninja is the only program I have seen stall out when it gets busy).
Yeah its only multi core for the number crunching part of the backtesting, even when its organising the backtest data its still single core. I have an 8 Core machine (2 x Quad Xeons) and it still take 10 - 15 minutes to organise 2 years of tick data during the start of the back test, its painfully slow and shows 13% CPU usage at that time. And the same thing happens again when changing from one equity curve to another in backtesting. Once its starts the number crunching its multicore, which is great.
Your best bet is to get the quickest clock speed machine you can get, and maybe overclock it a little. Or you could split your charts onto a couple of boxes or maybe break your box up into a few VPSs
Exactly, some aspect of the process are mono-thread only, and it's on an algo point of view hard to do it differently, some process are by nature not multithreadable (huh, is that an english word ?).
Yes and no - as someone currently writing a Ninja Competitor.
Processing power for algos is not a problem. Seriously. Unless you run crazy stuff there the requirements are minimal. Problem is pretty much the UI - especially in Ninja. UI + drawing are single threaqded, per design in Winforms, dual threaded in WPF (actual drawing is done on a second thread by the OS).
Getting the architecture right is a problem - I am fighting with it for 2 months now, but I think I am there now. NInja does everything in one thread, which - maxes it out. I hope to be able to run one thread per window (though my window is a work area that can have multiple charts on it etc.), plus decpple strategies / order handling into background threads. But this is a SIGNFICANT impact on architecture, and NInja simply is not done like that (and given the tremendous other amount of idiocies there, it does not wonder me). It is quite a lot of work to get it right
I have been doing tests with a time and sales window, and I must say - the problem really is the drawing. Plus, in case of Ninja the non-wpf-approach which basically does the drawing in the single CPU thread. My WPF appraoch pretty much killed the time and sales without tricks - thanks to WPF offloading drawing to a second thread AND using the graphics card to do the rendering. But this is a lot newer. Maybe NinjaTrader 8 is a total rewrite in 3-4 years I would not bet on it