• If this is your first visit, you will have to register before you can post. To view messages, please scroll below and select the forum that you would like to visits. Questions? Be sure to check out the Forum FAQ.


No announcement yet.

Partner 728x90


¿which ninjascript and c# courses does ninjatrader officially recommend?

  • Filter
  • Time
  • Show
Clear All
new posts

    ¿which ninjascript and c# courses does ninjatrader officially recommend?

    people with nt,

    in general my experience with the ninjatrader platform has been very positive, and i consider ninjatrader support to be far superior to those of other corporations related to finance that i have had the misfortune to have had the need to interact with (tradestation, interactive brokers, quantconnect, to name a few).

    however, i'm not a programmer and everyone at ninjatrader is painfully aware that their platform is very hard to use competently for non programmers, even for people with formal training in economics, mathematics and statistics like myself (that's why the strategy builder wizard was a genial addition for nt 8). i have been greatly frustrated with a number of simple concepts that i can explain verbally and even put into mathematical equations with ease but when i want to put them into ninjascript i have been completely unable to make any progress.

    for example, i have been trying for weeks to get nt to create logs of the signals my indicators generate into unique text files with unique file names and i have made no progress whatsoever. this is a matter of the highest importance for me but this has been the only request for which nt support has left me down big time, and two times at that:


    i also have a number of other concepts that are easy for me to explain but i have no way to put them into ninjascript. i would like to program gann fans that draw automatically, simple moving averages that only used the values for some days of the week (only tuesdays, only wednesdays, only tuesdays and wednesdays, etc), strategies that never traded the tuesday and wednesday cl announcements, strategies that closed all positions for a stock at the close of the session before a company announced earnings results, etc.

    being so incompetent is infuriatingly frustrating for me, so i'm determined to use the very slow weeks at the end of the calendar year to learn to code in ninjascript and c# (and python too if time allows) and i want to know which ninjascript and c# courses ninjatrader officially recommends. if there are any courses that are delivered in person in a class format that would be even better. i have done some internet searches and there are zero ninjascript courses but too many c# courses. i have also searched these fora but there were no useful results. therefore, i will be grateful if nt can make official recommendations regarding how to learn to code in ninjascript and c# for non programmers.

    very well, thanks, regards.
    Last edited by rtwave; 11-22-2019, 03:30 PM.

    Hi rtwave, thanks for your post.

    Apologies for not being able to help more with writing log files, but that is simply out of the scope of support I can provide as far as programming goes.

    You can draw Gann fans programmatically, see the docs here on the Gann fan:

    To check for a day of the week use the Time[] array. The DateTime class has a DayOfWeek enum, so you can check things like:

    if(Time[0].DayOfWeek == DayOfWeek.Tuesday)
    { // do something }

    Ill also have a member of our sales team follow up on an additional resource for learning NinjaScript, this will help tie all of these concepts together.
    Chris L.NinjaTrader Customer Service


      Hello rtwave,

      NinjaTrader does not officially endorse any NinjaScript courses. You can search our extensive library of NinjaScript consultants through the link below. Then you can narrow down these search results by searching keywords like "training" and "education". Once you have identified your consultants of choice, please visit each consultant's site for more information or contact them directly to learn more:
      You can locate the contact information for the consultants on their direct websites for any additional questions you may have. Since these consultants are third-party services for NinjaTrader, all pricing and support information will need to be obtained through the consultant.

      The NinjaTrader Ecosystem website is for educational and informational purposes only and should not be considered a solicitation to buy or sell a futures contract or make any other type of investment decision. The companies and services listed on this website are not to be considered a recommendation and it is the reader's responsibility to evaluate any product, service, or company. NinjaTrader Ecosystem, LLC is not responsible for the accuracy or content of any product, service or company linked to on this website.

      Let me know if I may be of further assistance.
      Christopher D.NinjaTrader Customer Service


        There is an online course company called udemy.com.

        Independant instructors offer (small) courses on there, some of these courses are specifically for NinjaTrader 7 or 8.

        Ive already identified some courses for myself there.

        I do have a programming background but not with C# (which NinjaTrader calls ninjascript). C# is MS implementation of (Object) C language.

        Having said all this, I went through many classes of programming at uni. There are a LOT of concepts to get your head around! I'm not a mathematician, but I can program. To me, programming is more conceptual than maths. Underlying the concepts is obv maths & numbers, but a guy like myself can handle it.

        Once you know the basics of a language, then a website such as stackoverflow.com is a good site for finding specific answers (that others have asked / answered previously).

        It took me ages to understand programming, couple months may be enough to learn little but not lot. Just try to learn enough to do w small script project to start with. All programming languages follow the same concepts, just different implementation. It also really helps to learn the basics of data structures (how data is handled in mem)... Ex string vs diff types of numbers vs arrays.

        C# is a lower level language than Python. Therefore python will be much easier to code because it does lots "behind the scenes". C# you're likely to have to do more "manually" (ie lower level & lots more coding). C# is really jumping in the deep end!



          people with nt,

          the replies i have received are not helpful in the least.

          nt has to create official, recommended courses to learn how to code in ninjascript. it is unacceptable that when it comes to the ninjatrader platform, which is a proprietary product that ninjatrader exploits commercially, this corporation would leave customers in such a state of helplessness.

          myself, and others, have requested support for concrete and well defined ninjatrader coding projects i want to create, and nt's response has been: no, we won't help you with that, no, we won't teach you how to code that,and no, we won't even tell you where to learn how to code that either.

          if nt won't tell me where to learn how to code advanced projects in ninjascript, ¿who am i supposed to go to for nt support?

          from these extensive and evasive non answers regarding ninjascript, i conclude that nt doesn't recommend any of the numerous c# courses that exist either. coding is a wonderful ability to acquire, but at the moment i do not have enough time to go through entire courses for c# where i would learn too many commands and structures that i will never use for the very concrete ninjatrader projects i have in mind. it is also immensely relevant that ninjascript is a particular utilization of c# which uses its very unique structure full of override voids that are not universal to c#.

          and regarding the coding suggestions i received, those won't be of much help either. it is clear to me that placing an sma inside a global condition like day of the week will not mean that the sma will only use the values for the day of the week that we are interested in.

          the formula for an sma is:

          (sum of all observed values) / (count of all observations)

          if i want an sma only for tuesdays, the day of the week condition would have to be placed inside the sums and counts:

          (sum of all values for tuesdays only) / (count of all tuesdays only)

          same if i wanted an sma for all days of the week except for tuesday:

          (sum of all values for all days of the week except for tuesdays) / (count of all days of the week except for tuesdays)

          and regarding the gann fans, i want to create the entire indicator by myself so i can have alerts if price is crossing any of the rays up or down, or have the rays change colors, and have the platform draw these indicators automatically in different places in the chart according to different conditions, etc.

          very well, i will post to the stackoverflow fora to see if i get better recommendations there.




            thanks for your comments, i appreciate your advice and you sharing your experiences.

            if i can find a good c# course to attend in person i will definitely take it, both ninjatrader and quantconnect lean are built on c# and that's one of the best investments of time and money i could make. i would love to take classes in person where i could ask questions, ask for clarifications and also refute and defeat the instructors. jaja.

            learning to program in c# probably won't be easy but it will be very enjoyable for me and definitely worth the effort and expenditure. and i think it is an achievable objective indeed, 12 months ago i was thinking of creating a system to trade long positions in stocks options automated using quantconnect lean and before 2 months i realized that it was completely beyond of my capabilities. over the last 7 months i have been collaborating with some european programmers to create an automated system that does just this and it has been a monumental effort. i describe the architecture for the entire system by email to these programmers and they do all the coding. every day i realize that it would have taken me years to learn to code at the level that these experts do. anyway, these projects i want to create in nt are nowhere near as ambitious as trying to create an entire trading platform to trade automated, the nt platform already exists and does a very good job. i just need to learn the complicated structures and commands that will be necessary to get nt to backtest and trade these strategies just like i envision them. i should be able to do it, but i do need to learn a lot of programming first.

            i will keep trying until i make it.


              Programming is NOT easy. What IS easy/fast is RUNNING already written programs! Thats why programmers put in the huge effort required, if they will need to keep doing something in the future. Weeks / months of work is worth it in the end IF you/someone will use it in the end.


                Helo rtwave,

                There are several educational resources for learning C# that are external to NinjaTrader. In your linked post, you have been asking for specific help in designing your own C# code to log your trading signals. We already have some resources demonstrating how a StreamWriters can be used in NinjaScript, which should be enough to help you move forward to write what you need to a file. We also provided our insight for how multiple files can be made.

                A light programming background is needed for developing NinjaScripts and as with any programming language, research and testing will always be part of the continuous learning process.

                As we are a small team we cannot create, modify or debug code for our clients. While we like to be helpful, presenting a complex task would best be discussed with a consultant to have them build the project for you/with you. Tackling on your own would involve breaking each challenge into a specific problem to move forward step by step. We can help you move forward with small code sets that pertain to NinjaScript, but if you are working with more custom C#, the questions begin to escape our scope of services.

                I have included some links to educational C# resources below. More robust resources can be found externally.

                Basic Programming Concepts NT7 - https://ninjatrader.com/support/help...g_concepts.htm

                SoftSteel Tutorials (external resource) - http://li153-236.members.linode.com/...harp/index.php

                I have also submitted a request on your behalf for us to consider more indepth educational resources/tutorials for NinjaTrader 8. Ticket ID SFT-1929. We collect interest in enhancement requests before determining if time should be invested. For that reason we cannot offer an ETA or promise of fulfillment. Upon implementation, the number for the ticket ID can be publicly found in the Release Notes page of the help guide. I will provide a link below.

                Release Notes - https://ninjatrader.com/support/help...ease_notes.htm

                We look forward to being of further assistance.
                JimNinjaTrader Customer Service


                Latest Posts


                Topics Statistics Last Post
                Started by forrestang, Today, 07:46 AM
                0 responses
                Last Post forrestang  
                Started by rainbow47, Today, 06:10 AM
                1 response
                Last Post NinjaTrader_ChristopherD  
                Started by oscsoft, Yesterday, 07:07 PM
                1 response
                Last Post NinjaTrader_Jesse  
                Started by pjsmith, Today, 03:28 AM
                1 response
                Last Post NinjaTrader_Jesse  
                Started by Leeroy_Jenkins, Today, 06:54 AM
                0 responses
                Last Post Leeroy_Jenkins