Quote from rsi80:
Does anyone know of any reasonably priced charting package which utilizes the multi-threaded capabilities of a quad core CPU?
It seems that neither NinjaTrader 7 nor TWS charting supports multi-threaded charting.
Thanks.
Most older programs were written with one or more of the following limitations:
⢠Written in a non-current language making it difficult to take advantage of current architecture improvements
⢠Written before Multi-core processors
⢠Written with a single-threaded architecture
⢠Architecture and version 1 designed by non-professional programmers or Visual Basic programmers
⢠Only designed to view a few charts at the same time.
Maybe the nicest way to put it is that these programs were written with different requirements than some of us would like.
For example many of these programs were written to view pretty charts. This is great but when you try to extend this to multiple real-time charts on todayâs multi-core processors you can run into the problem that the original architecture is not multi-threaded. Just as important is that the charting packages used may not be designed to run in real-time. If you have charting that was designed by someone that does not understand real-time graphics you donât have much of a chance. The graphics of a RT tick (ok, most of donât look at tick charts) chart can take up most of the CPU cycles. Also remember that the UI updates on one-and-only-one thread so multi-threading only helps with the background calculations.
I wrote an auto-trading platform for myself because nobody makes anything close to what I wanted. Like much of the high performance programming today it is written in Java, so I started out with a big advantage (standard libraries across operating systems and huge open source community). It was designed to run systems, not to view pretty charts. On my old dual-core laptop (1.8 GHz) watching 1000 symbols each with their own system, and only one chart, so I can see what is going on inside the systems, I run around 15 â 30 percent CPU utilization, and most of that is the DTN (tick data) DLL. On my low-end i7 quad-core laptop I havenât even bothered to test it. Of course I rarely watch more than 100 symbols at a time.
If I just want to look at charts I use AmiBroker. Seems fine with 10 1 minute charts and DTN data feed on an old 2.4 GHz single core desktop.
So for charting AmiBroker (large user community) or one of the other more recent programs (I have never tried Ninja Trader because it does not do what I want). Or, if you have more advanced needs, there are some open source projects that may not be as easy to use and may require some programming, that may fit your needs. Check the auto-trading fourms.
Note: I agonized over whether to use C++, my preferred language at the time, or Java because of the speed advantage of C++ at the time, but now that Java has caught up with, and in some cases surpassed C++ in speed, Iâm glad I chose Java. I assume C# has many of the same advantages (except cross platform).