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)
Here are my two cents. Note that I am only now starting to look into NT8 (I was worried about stability in the beginning), although I have a long experience with NT7. I also have some experience with SierraChart, and am a semi-retired programmer.
My first thought is to just go to the SierraChart website, download a free trial, sign up for a free data trial, and work with it for a while until you can decide if it gives you what you want. Site is here: Sierra Chart
Now some warnings: you will probably start tearing your hair out after about a half hour of navigating the website. This is because, although it is logical once you understand it, it is very hairy until you do. I would add that about the same is true about the documentation (very complete, very hairy) and, for that matter, the platform itself.
With that said, it is fast as hell (although it takes a good time to load up charts). It has probably some version of almost everything you have ever wanted (you will pay a little more -- about 10 bucks/month) for what they call "numbers bars" -- footprint charts (which may be what you mean by "ladder charts", and some of the volume profile stuff, although some VP is in the base version. It is cheap (I think about $25/month without data feed, then you can add in your or their data for something more.) It has something they call, as I recall, FlexRenko, which some UniRenko users have said is the equivalent of UniRenko (I don't use any renko, so I can't say.) Finally, almost every broker (probably not NT ) will connect to it. IB does.
I do not know if it will meet all your requirements. I do not trade the DOM, and while I admire Peter and his work, I do not use Jigsaw, so you will have to see about that.
It does have a robust programming interface if you want to write your own code, but be warned that the documentation was written by the same guy who wrote all the other documentation, so don't expect it to be easy to learn. Also, there are user-coders who occasionally kick in some code, but nothing like on NT. There are a few third-party guys also, but not as many.
Unlike NT, it is written in C++, which runs rings around C# in terms of performance (note to C# enthusiasts: I like C# too, but don't comment me about this, this is what I do for a living ). I assume that it is multi-threaded, and has been for a while, from the way it acts and from the obvious fact that whoever codes it (and writes their docs, etc.) is hardcore. Multi-threading is not simple, mind you, but it is the best choice if you are hard-core enough .
None of this will matter if it doesn't support the functionality you want, but you might check it out.
Other than that, it is quite possible that the third party code you are using in NT is in fact the cause of your problems. The move to multi-threading blew quite a few minds among the NT coding community, as did a number of other changes, some of which (such as properly disposing some objects) used to cause serious memory issues and performance slowdowns. I don't know what you can do about that, other than one-by-one adding in an indicator and testing it, a time-consuming process, as you have said.
I just remembered that Jigsaw has a free-standing platform that runs on its own -- which you probably know about, but it doesn't need NT. I don't know if that is a workable arrangement for you, since it may mean essentially running two platforms at once.
Lastly, although I said a lot in favor of SierraChart, I am moving back to NT, which I am more familiar with and just like better. But SierraChart is still something to look at, and you can look for free.
I hope all this gives you something to work on.
Bob.
Update: I also should say that, since I have come back to NT, I am impressed by it quickness, compared to the old NT. I do think it is likely that it can support what you are looking for, and that some of the third-party code is likely at fault.
You might want to check out some of @gomi's work, which includes volume profile and volume ladders, and who is well-known and trusted in the community. He has some third-party commercial indicators out for NT and Sierra, and I believe he has a free trial. There is a review thread on his current stuff here:
GOMI, original creator of GOM MP, has created a fully recoded enhanced multi-platform professional MP (volume based) and Order Flow for delta insights.
The new GomMPPro builds upon the open source GomMP hosted on nexusfi.com, and includes multiple …
Also, he may see this and may have an opinion about your performance issues.
Using what @rleplae said earlier you need to eliminate an area at a time. Data loaded (e.g. too much tick data, too many days, etc.) Then run with and without different parts of the setup. MS .Net stopwatch tools can help with limited profiling checks, e.g. live and historical processing. Certainly look carefully at how 3rd party code is running.
But... most of all, if your memory usage is extensive then it will all be irrelevant anyway, because even if the cores are showing busy they will likely be stalled for >80-90% of their usable cycles waiting for instruction and data memory fetches through the L1, L2 and L3 MMU cache systems, all of which total no more than a few Mb. Large scale use of any sparse access object oriented code including C#->CLR will cripple any hardware system unless moderated carefully, check your working set size for NT in the Task Manager/Resource Monitor tools.
As an opposite example I can run 100's charts in dozens of workspaces with shedloads of custom drawing indicators in 3-5% cpu on an i3 laptop even with 3 USB slave screens and 40 symbols active - because my NT7 or NT8 memory footprint is no more than 300Mb so cache busts are acceptable. Beyond this if you are actively using many Gb of Ram then coding efficiency will hardly improve things as the cores are not doing a fat lot of processing anyway, and beyond that if you are seeing Hard Page faults then the system is in lala land.
That said I understand your frustrations, as an avid NT7 fan (but open mind as yet on NT8 teething troubles) it can be tough but is rewarding once mastered.
Interesting. My memory usage for NT8, which is an entirely different beast to NT7 though is typically around 3Gb. I would not have thought that an issue for a 64bit machine with 64Gb of ram. I do have some long term (1 year, 1.5 year) 1 minute charts, but not sure what I can do to optimise memory usage. Again, I need those charts to trade. Again @NinjaTrader, what would be useful would be if NT had a debug log option that output memory usage for various components/chart windows.
Forgot to mention latest versions of Chrome and Firefox are memory gobblers par-extraordinaire, just left static they can still be taking a lot of resources, modern beasts that they are, so check no extra contention there as well.
Not directly relevant but as an aside I use a couple of third party browser platforms and find it much less consumptive to trigger them on remote machines through custom software lan links or 3rd party viewers such as GotoMypc and Splashtop - hard to believe but true, the video viewers are usually cache efficient and low footprint.
With hardware and software we are always going around in repeating historical architectural models, a bit like generational cycles but shorter.
3 Gb sounds like a lot of memory usage to me. Someone with more experience with NT8 may want to comment on this.
I think it has been documented that one way to run high memory usage in NT8 is from a badly written indicator. "Memory leaks" caused by indicator code not releasing memory when it should was, I recall, one of the early issues with the new platform, and it will kill performance.
As it turns out, there is a way to hunt this down -- or any other problem -- it's just tedious. First, take all the indicators off all your charts, every one, and restart the platform without them. See what your memory usage is. (This will also answer the question of whether is problem is your 1.5 years of 1 minute charts -- which I doubt, but you will know.)
Then add back the stuff you normally use, one at a time, to every chart, closing and restarting the platform every time.
This will probably mean a very frustrating day, especially since you will need to let each of these run for a bit to see what happens. You can also shortcut it some by not bothering with the reload test for any standard indicators like MACD, which won't be a part of the problem. Start with the third-party stuff, which is likely where the issue is anyway.
I also just remembered a comment by @Zondor, who knows quite a bit about performance in NT. This may help you or it may not, but it's another thing to check for:
For quite a while I was under the misconception that it was mandatory to use tick replay mode to get historical bid ask data. The staff at NinjaTrader cleared this up a few months ago, so I don't use tick replay at all anymore.
There were all kinds …
)
One more suggestion, if you aren't already using them, is to check out @gomi's current NT8 toolset and see if they suit you and if they don't have the performance issues. I put a link to a review thread for his tools a few posts ago. He does have a free trial, I recall.
In short, this problem is solvable. You are going to have to bite the bullet and add back in the code you are running, one at a time, until you find the issue. This will work, although it won't make you very happy while you do it -- but you're not too happy now, either .
And of course, there is always SierraChart, which likely will not have these issues, but may not give you what you need and will involve a big learning curve of its own. I suggest trying to find the problem in NT first; it will be frustrating, but perhaps for a shorter time.
I think you have a memory leak issue... 3 GB is a lot, even if you have lots of RAM this managed RAM has to be... managed, Garbage Collector will start running a lot, an a GC on a big RAM footprint will cause a long hiccup, because a lot of objects have to be inspected. For high performance you want to keep memory pressure to a minimum.
So it's as usual, always keep the bars to the bare minimum. Why would you need 1 year of 1 min bars ? Are you going to look a the 1 min price action 1 year ago as you trade ?
Because of the RAM you're using, you probably have a badly coded indicators, find which one it is and drop it.