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)
With the public release of NT8, the Forum might get confusing as to which platform they are looking for programming help. I am starting this thread to help keep NT8 issues separate from NT7.
NT8 Now allows & Supports the following NinjaScript Type (FEEL THE POWER):
AddOns
BarsTypes
ChartStyles
DrawingTools
ImportTypes
Indicators
MarketAnalyzerColumns
OptimizationFitnesses
Optimizers
PerformanceMetrics
ShareServices
Strategies
SuperDomColumns
Given these features, there is very little you cannot do with NT8. I think we are going to see some clever solutions to some difficult problems come out of this new platform with the skills of the community.
This Thread I would like to put in place to help facilitate getting answers to questions:
You may want to have only a single instance of a class within NT8 environment. Maybe this is a logging function or external IO. The following is a "Singleton Footprint" I found. Place this in your class instead of a constructor and replace "MyClassName" with the name of the class. Upon the first request for the "MyClassName.Instance" the class will be instantiated. Additional "MyClassName.Instance" will keep returning a reference to that same instance.
Inside your Indicator/Strategy or whatever you would normally have tried to create the "MyClassName" with something like this:
Doing this with the proper Singleton Footprint will case a compiler error as "MyClassName()" is restricted as a Private constructor.
To get around this issue and use the Singleton properly, you will use the following line to get access to that singleton class:
Since NT8 is still beta, there's a lot of work on NinjaScript to be done, acknowledged by the NT staff in their forums. AddOns in particular are not very well explained. There's basic examples on their help page about how to create tabbed windows, but not much else.
XAML is still a work in progress according to NT, they only support "loose" XAML, and you can't edit XAML within Visual Studio so I've read as it add Windows specific elements to the XAML that won't run in NT.
So far, I've found the best way to edit scripts is via Visual Studio since I am used to that IDE. However, if you have to manually create XAML files to add controls, that's going to suck. Maybe NT will change that before the final release.
NT8 is still beta, no release date yet. There's a lot of code changes in NT8 (I am too new to add a link, Google 'code breaking changes ninjatrader' and look for the result to their forum). The biggest is that NT8 moved to WPF which changed a lot of the method calls and properties from NT7.
A lot of scripts won't work unless they are modified to run in NT8. NT staff is helping in the NT forums, you could try there if you have specific questions.