Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Feedback from a Full Time NinjaScript developer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Feedback from a Full Time NinjaScript developer

    I am developing software for almost 20 years.
    After Ive developed NinjaScript Plugins full time for almost half a year I think Im able to give my feedback.


    NinjaScript Documentation
    The documentation is terrible.
    New developers have basically no guide to get into coding in NinjaTrader. The little documentation to "get started" is so tiny that a rookie feels lost.
    The rest of the documentation feels like it is automatically generated from source code.
    I do not understand why NinjaTrader is not able to just look at how Google and all other large IT companies do their documentation and just do it the same way.
    If it works, why do it differently?


    NinjaScript
    This is my most important feedback - having to program in C#5, which is already over 10 years old, is just a pain.
    NinjaTrader claims to be one of the leading trading companies, yet they use a programming language which is so extremely outdated.

    There are too many limitations regarding addon development. I don't understand why so many functionality, which is already there, is not exposed.

    Many NT-functions don't use modern programming language features, for example default function parameters. NT8 should have introduced those features.

    AddDataSeries seems to always reload all data and does not use the local database. This makes it completely useless sometimes because of the long loading times.

    Lots of functionality is anti-generic. It is only usable in some scenarios and too often unnecessarily dependent on a specific environment.


    Support
    The Support in the forums is fast and caring, yet I feel like they say "its not possible" too fast.
    I found many solutions to those problems which are said to be not possible.


    Development
    The development seems to be extremely slow. The last version update from October 19 contains only minor updates and too few, considering that there were 4 months between the previous update. I have a feeling that NT will never be able to update its technology at this speed as the software is already out of date by the time of release.


    NinjaTrader Software
    It is 2022 and there is still no way to automatically update NinjaTrader.

    Are there any animations in NT? I don't think so. Animations make a software modern and more easy to use. And tbh it is not difficult to build just simple transition animations.


    Conclusion
    I chose NT because it is the only charting sotware which provides a great amount of customization for developers: creating new indicators, strategies and UI.
    However I feel like NT lags behind in terms of modernity.
    I am sorry for maybe being too harsh, but I think this feedback is better than saying everything is fine.
    Its quite frustrating to see that NT buys another company for 115 million dollar, while this money should urgently be used to improve so many other things.

    #2
    Hello Bobin,

    Thanks for your feedback.

    Regarding Documentation:

    Improving entry points for users of different walks of development experience is something that we are aiming to improve. I do not have a ticket number to share as it would not be a platform related item, but I can say we are working towards better ways to deliver development materials in a digestible way.

    Regarding NinjaScript:

    Using newer versions of C# is something we receive a good amount of feedback on. We are currently tracking impact on this, but I do not have any additional news to share for when the version of C# NinjaTrader uses will be updated.

    Which specific features are you looking to use with AddOns? Have we noted your feedback for any specific items previously?

    AddDataSeries will request data similarly to what is done with a chart. If the data is already on the platform, the local will be used, and if the data is not available, it will be requested from the data provider. We can also test adding an indicator that adds a 1 tick data series to a minute chart with several days to load, and we can notice that the chart loads faster on subsequent loads, because the previous days would already be downloaded. However, 1 day of data will always need to be requested at a minimum to make sure the data is complete for the current day.

    With functionality being anti-generic, could you name something specific?

    Regarding Support:

    There are often items we cannot assist with as they would be outside of our scope of support. We can always assist with documented NinjaScript from the Help Guide, but there can be uses of undocumented parts of the platform, or uses of complex C# that can indeed be possible, but we would not be able to venture deeply into.

    If you have some specific tickets to mention responses that were mentioned to not be possible, but were possible through some other means, could you share those with me over email? Please message me at scriptingsupport [at] ninjatrader [dot] com with the text "Attn Jim 3496990" and a link to this thread.

    Regarding Automatic Updates:

    This is commonly requested, and we are thinking of ways to deliver on this.

    Regarding animations:

    We are tracking your interest in the ticket ID SFT-5464.

    Regarding Development:

    There are several larger projects that involve the Development team's attention which make release schedules longer. Development and Product Management review the forums and your feedback is seen.

    Thanks again for taking the time to share this detail with us.
    JimNinjaTrader Customer Service

    Comment


      #3
      Originally posted by Bobin View Post
      I am developing software for almost 20 years.
      After Ive developed NinjaScript Plugins full time for almost half a year I think Im able to give my feedback.


      NinjaScript Documentation
      The documentation is terrible.
      New developers have basically no guide to get into coding in NinjaTrader. The little documentation to "get started" is so tiny that a rookie feels lost.
      The rest of the documentation feels like it is automatically generated from source code.
      I do not understand why NinjaTrader is not able to just look at how Google and all other large IT companies do their documentation and just do it the same way.
      If it works, why do it differently?


      NinjaScript
      This is my most important feedback - having to program in C#5, which is already over 10 years old, is just a pain.
      NinjaTrader claims to be one of the leading trading companies, yet they use a programming language which is so extremely outdated.

      There are too many limitations regarding addon development. I don't understand why so many functionality, which is already there, is not exposed.

      Many NT-functions don't use modern programming language features, for example default function parameters. NT8 should have introduced those features.

      AddDataSeries seems to always reload all data and does not use the local database. This makes it completely useless sometimes because of the long loading times.

      Lots of functionality is anti-generic. It is only usable in some scenarios and too often unnecessarily dependent on a specific environment.


      Support
      The Support in the forums is fast and caring, yet I feel like they say "its not possible" too fast.
      I found many solutions to those problems which are said to be not possible.


      Development
      The development seems to be extremely slow. The last version update from October 19 contains only minor updates and too few, considering that there were 4 months between the previous update. I have a feeling that NT will never be able to update its technology at this speed as the software is already out of date by the time of release.


      NinjaTrader Software
      It is 2022 and there is still no way to automatically update NinjaTrader.

      Are there any animations in NT? I don't think so. Animations make a software modern and more easy to use. And tbh it is not difficult to build just simple transition animations.


      Conclusion
      I chose NT because it is the only charting sotware which provides a great amount of customization for developers: creating new indicators, strategies and UI.
      However I feel like NT lags behind in terms of modernity.
      I am sorry for maybe being too harsh, but I think this feedback is better than saying everything is fine.
      Its quite frustrating to see that NT buys another company for 115 million dollar, while this money should urgently be used to improve so many other things.
      Thank you for writing this, I couldn't agree more, I see I'm not the only one. I seriously feel that the documentation is probably THE worst I have ever worked with when it comes to coding indicators. I've written indicators for MT4, MT5, Pinescript even in Java and they all are way easier to get something up and running in. Compare the documentation and code examples with for example the MT4/MT5 docs and it is like night and day. I honestly find Ninjascript to be a pain to work with and no it's not the C# that is the issue, it's the documentation.

      Lots of the sample codes aren't even that useful or way to simplified and there is hardly any pictures actually showing what things do with real examples. When I try searching the Language reference, 9 out of 10 times I get results which links to release notes(!), Why would I want to see that when I'm searching for syntax?

      I even saw a recommendation that said to put "a really big number in the Y direction", if I wanted something to draw all the way to the top. That's just bad practice. You should recommend something like "GetChartPanel.maxValue" instead. Sorry for being frustrated but I know other coders who simply stopped working with Ninjascript due to the same frustration I'm feeling.

      Comment


        #4
        Hello Borgen,

        Thanks for your feedback.

        To answer more clearly about drawing at the top of a ChartPanel, you would want to use SharpDX code within OnRender, where you ca get the pixel coordinates of the Chart Panel, and use those to determine coordinates to always draw something at the top of the chart. With OnBarUpdate, we just have price values and Drawing Tools. If you want to draw at a fixed location on the chart following pixel coordinates, SharpDX would be the way to go.

        Our SampleCustomRender example indicator can be referenced to get introduced to SharpDX rendering. Please also see the documentation page below when reviewing the example.

        https://ninjatrader.com/support/help..._rendering.htm

        ChartPanel - https://ninjatrader.com/support/help...chartpanel.htm
        JimNinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by poplagelu, Today, 05:00 AM
        0 responses
        3 views
        0 likes
        Last Post poplagelu  
        Started by fx.practic, 10-15-2013, 12:53 AM
        5 responses
        5,407 views
        0 likes
        Last Post Bidder
        by Bidder
         
        Started by Shai Samuel, 07-02-2022, 02:46 PM
        4 responses
        98 views
        0 likes
        Last Post Bidder
        by Bidder
         
        Started by DJ888, Yesterday, 10:57 PM
        0 responses
        8 views
        0 likes
        Last Post DJ888
        by DJ888
         
        Started by MacDad, 02-25-2024, 11:48 PM
        7 responses
        160 views
        0 likes
        Last Post loganjarosz123  
        Working...
        X