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)
I have heard that the programmers at Rancho are very good. Reach out to them with your problem and let them dig into it. Clearing the cache and the data as mentioned above will also help a lot. They probably will need your log and trace file from when the issue happened.
I rebuilt my workspaces, this time much more simple with only session profiles. I’ve subscribed to TradingView for longer term composite profiles, which I had to for hkex and Osaka stuff anyway as ninja doesn’t carry the historical data anymore. Eventually when I have time for the learning curve I’ll make the permanent switch to CQG and kiss ninjas sorry a$$ goodbye once and for all.
Thanks though, Troy from Rancho did offer to have a look, but with the time difference I just decided to rebuild again from scratch.
I was tempted once to buy Algotrader platform to develop my scripts I think it has several flaws too, according to several users experience in other forums. In your experience: Would you really trust Algotrader for serious "live" trading with your own ATS scripts ?
You're right. Trust is a huge issue with AlgoTrader, AlgoTerminal, or any algo dev platform as long as they don't offer an encrypted sandbox preventing them from stealing your code.
if you're using "lizard indicators" there might be some issues with latest release 8.0.14.1. the problem has been addressed by Fat Tails
), directs us to a post by Harry ( @Fat Tails ) on the NT Support Forum regarding issues in NT 8.0.14.1, the newest release, that cause problems with his "ama" NT8 indicators, and, of course, potentially many more.
Probably most users should wait to download the current version until the issues are addressed, as of course they will be. You can also always to back to NT 8.0.13.1 if you already have installed 14.1, and you probably should if you have any issues.
- the download link for version 8.0.13.1 is still available on the nt download site
- you need to uninstall version 8.0.14.1 first
- your settings (indicators, templates, workspaces etc) will still be there
Now when you code a custom plot in an efficient way, you would not want to set and dispose of DX brushes with every single refresh of the plot. It is best practice to
- declare the DX brushes in the variables section of the indicator
- then set and dispose of value in OnRenderTargetChanged()
which makes it unnecessary to set and dispose of the brushes with every single refresh of the plot.
Opaque brushes:
Let us assume that your indicator shall display a shaded area and that you wish to use an opaque brush. In this case you would
(1) set a Windows Media Brush and a value for the opacity in the variables section
(2) then set and freeze the opaque brush in State.Configure()
(3) The opaque brush is now frozen and ready for use in OnRenderTargetChanged()
In case that OnRenderTargetChanged() is called prior to State.Configure, "opaqueBrush" has not yet been set, and the attempt to set a non existing value to "opaqueBrushDX" in OnRenderTargetChanged() will throw an exception. In a second step when OnRender() tries to call "opaqueBrushDX", NinjaTrader will freeze and halt.
The joke is that all (inefficient) indicators that do not make use of OnRenderTargetChanged() are not affected by the new bug in NT 8.0.14.1. For example, if you look at the inbuilt NinjaTrader indicator "VolumeZones", you will notice that it creates and disposes of all DX brushes with every single refresh of the plot(see lines 82-84 and lines 169-171).
Summary:
NT 8.0.14.1 does not properly synchronize calling State.Configure() and OnRenderTargetChanged(). This may result in NinjaTrader freezing and crashing. Affected are indicators that use public override void OnRenderTargetChanged() to reduce CPU load resulting from creating and disposing of DX brushes.
My recommendation is to stay with NinjaTrader 8.0.13.1 until the issue has been fixed.
Rename your NinjaTrader 8 folder (NinjaTrader Old). Remove your version of NinjaTrader and install the 13.1 version. You will not lose any of your indicators or workspaces and only you will need to copy them to the new folder created for NinjaTrader.