It has been a long time question and I was thinking on dedicating a proper page to this topic and procrastinating this discussion for years until I remembered that I have a blog!!!))
Let's imagine you are someone who knows nothing about coding and strategy development. An absolute blank or as we say "tabula rasa". Where should one start?
You will need C# knowledge. I suggest you take Mosh Hamedani Beginners and Intermediate C# course. Its a perfect course. Very easy to follow understand and study. These two courses should give you a very good foundation of C# and you can code a lot of stuff for NinjaTrader after you are done with it or even whilst you are taking it. You can google Mosh or find him on Udemy.
So next, how would you approach NinjaCoding stuff which at the point of me writing this article has 10 courses. Let's list them first so we can refer to them as numbers.
1) Algorithmic Trading with NinjaTrader
4) Addons
7) Indicator Design Essentials
The first two that you should go for are 5 and 7. These provide the basics on how to code strategies and indicators. Next I would recommend exploring #2 which is the Market Analyzer course. Its a code baseto get under your skin when you start.
After Market Analyzer, pretty much it is time to get into the unmanaged order handling zone and hit the Architecture course which gives you a slightly different perspective of strategy design and a more professional look at how to handle the code base. Finally, we get into the section of working strategy code examples. The perfect candidate for this is the Hybrid Systems course where you can review a code base for two very interesting systems and explore their design. Finally if you want to understand how to work with multi instrument strategies in Ninja you can hit the Pairs Trading course.
Hope this article helps to find the right path. Thank you, enjoy!