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)
Broker: NT Brokerage, Kinetick, IQFeed, Interactive Brokers
Trading: ES
Posts: 159 since Dec 2014
Thanks Given: 40
Thanks Received: 166
It could be done but I don't think it would be a great bang for buck to the community. Fortunately for all of us NT8 users, the way the NinjaTrader API is designed, you never really get into situations where you have to worry about memory leaks. Subscribing to events and then forgetting to unsubscribe from them comes to mind. In NT8, you simply override the virtual methods (OnBarUpdate, OnMarketData, etc) instead of subscribing to the actual events. Therefore, all of the unsubscribing is taken care of for you in the base class which we can't touch, only utilize. In my opinion, NT8 did a fantastic job abstracting away stuff like that which beginner and intermediate developers could get themselves into trouble.
I say "never really" above but there are still absolutely ways that you could design a memory leak into an indicator or strategy. However, you'd be doing some fairly custom stuff most likely using the 3rd party dll approach. In that use case, you'd need to know more general .NET principles than just NT8's API.
Now the profiling code piece, whew, we could spend hours on that but I think it would be more effective than ambien for 99% of viewers and simply knock them out cold. If you're worried about some code being too heavy on your system resources, that would be a great thread to start and there are some mega good developers on here that could teach all of us something.
Jason
Can you help answer these questions from other members on NexusFi?
i'm failing with the first step to get the repository cloned. I've downloaded "GitHup Desktop" and entered the GitLab link seen in the video. But then the login page occurs. Should i have a GitLab account to clone your repository?
The video is way too fast or me and skip's some important steps, so i'm struggling here.
Broker: NT Brokerage, Kinetick, IQFeed, Interactive Brokers
Trading: ES
Posts: 159 since Dec 2014
Thanks Given: 40
Thanks Received: 166
@Koepisch, I initially included about 3x the content in that video but it was over 35 minutes so I decided to edit out a lot of which could be easily gotten from a more focused video. An intro to GIT was one of the items which was cut in order to focus more on how the solution works and keep it to the essentials for visual studio, ninjatrader, and indicators/strategies. The final edit of the video was intended for people to pause and rewatch certain topics. If you're ultimately stuck, post here so other can benefit as well if they are having similar problems.
I'd suggest starting with some simple GIT familiarization, this should get you started.
As far as the authentication error, you have to enter your GitLab credentials. It's free to sign up but you will need an account.
Thanks @Jasonnator, then i have to create the credentials first (i couldn't believe that "public" is behind a login fence). For me, the full video were the better starting point, because problems like this generate much bigger delays getting the things done. But i appreciate your efforts and think that i can make the transition to the "Visual Studio" dev. environment soon.
Broker: NT Brokerage, Kinetick, IQFeed, Interactive Brokers
Trading: ES
Posts: 159 since Dec 2014
Thanks Given: 40
Thanks Received: 166
I'm pretty sure you could simply download the entire repo as a zip file but then you won't get any updates when the repo has changed pushed to it. You could do that directly from GitLab website (I think) without a login.
I do acknowledge that the initial learning curve can be a bit steep but my development went to the next level once I started using this pipeline. For me, it was totally worth the few things I had to learn (GIT, MSBuild, etc).
Have you spent any time developing add-ons for NT yet? I have yet to attempt to use visual Studio with NT as I just hadn't really felt the need for it. But reading the docs, it seems like it may almost be necessary for developing add-ons.
Broker: NT Brokerage, Kinetick, IQFeed, Interactive Brokers
Trading: ES
Posts: 159 since Dec 2014
Thanks Given: 40
Thanks Received: 166
I have definitely used the AddOn feature but 99% of what I do is better accomplished with properly using the strategy + indicator combination. AddOn gives you a bit higher level control if you need it. I find that most of the time, I simply don't need the extra features it gives me since I don't heavily modify NT itself and usually just generate signals (indicator) then act accordingly on those signals (strategy).
I hope to have some new videos/tutorials out soon, stay tuned!
Was just checking, as it seems there is not much out there outside of the docs with regards to add-on dev.
If curious, THIS is one of the things I'm looking to turn into an add-on. I think an add-on would lend itself nicely to this type of thing. Right now it's just what I have sitting on a chart.
This post and your YouTube walkthrough have really lowered the viscosity of my brain juices, so you have my sincere thanks for showing how to develop without the default .csproj in VS.
And if there is a particular thread/forum section for discussing this kind of development, please point the way and I'll take this up where appropriate, but I'm hitting a roadblock when trying to call any built-in NT 8 method in any of my indicators or strategies, using this method of development (copying the NT8 system files, etc.). For example:
I get an error stating that LinRegSlope is non-invocable. IntelliSense brings up the reference, but not as a method, apparently.
I can get around this by creating my own LinRegSlope with another name, causing me to have to also create a new SUM indicator, but this is going to get tedious if I have to do this with every built-in indicator I want to use.
Any ideas why the built-ins are not letting me invoke them?
I see, also, that the constructor methods are not at the bottom of the LinRegSlope code, when I look at the definition with F12. Looking at the definition of Indicator, though, I see the constructor methods. The methods are, of course, there in the NinjaScript file within the NinjaScript Editor.
OK...I am able to call LinRegSlope when I have your solution loaded. Perhaps I'm missing a reference? The attached image shows what I have in my project.