Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Please make NinjaTrader uncrashable with a faulty indicator

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

    Please make NinjaTrader uncrashable with a faulty indicator

    Hi. One issue I'm sure others have complained about is that there is a 'fragility' when NinjaScript AddOns have runtime errors.

    Maybe I am developing an indicator; but it's not debugged; and so it exists in the runtime environment; and then I decide I want to add another simple system indicator to my Chart, like a Simple Moving Averager.

    Well, then NinjaTrader platform crashes; and I am left confused as to why adding an SMA to a chart should crash the entire Platform !!!

    Of course, it's my fault, since NinjaTrader needs to activate ALL of its Indicators in order to pull up the Indicator List, so I can add my SMA. And it is my fault that my faulty indicator is in there; and causes a runtime error.

    But surely that should not be allowed to take down the entire platform; and then when the platform attempts to restart, a Chart may attempt to activate the faulty indicator and again the entire platform crashes, so it seems that the platform is then disabled, in a cycle of crashes.

    I'm not trying to avoid responsibility for my temporarily faulty indicator, which throws something like a Null pointer exception; but I just think that the NinjaTrader platform should be fault tolerant against such a potentially disabling situation.

    There are 2 main issues: 1) not allowing a faulty indicator to Crash the platform process, and 2) during the Crash, since it runs on a Virtual Machine; there may be enough of a 'last gasp runtime hook' that could make a note of the Faulty Indicator so that nowhere in the system would it attempt to re-activate that indicator. I'm sure it's not easy to do this; but I think it needs to be attempted.

    I don't want to be too harsh here; since I absolutely love NinjaTrader, but I'm sure you are all aware that it could be made more fault tolerant against some Indicator maybe throwing a Null pointer exception on activation, while trying to present the Indicators menu.

    I could be completely wrong here; but can just say that if I didn't know a lot about how to delete certain files; and get things working again; that I'd be wasting platform support's time on issues like that...

    I'm using the latest v8.0.23.1 but this behavior has always been a concern for me; since I do develop a lot of custom code.
    Last edited by NinjaTrader_Jim; 12-02-2020, 07:25 AM. Reason: Error occurred removing a post.

    #2
    Hello Hyper,

    Thanks for your post.

    NinjaTrader provides low level access for developers which brings in speed and versatility. Many people like using NinjaTrader because this enables them to create just about whatever they want.

    This also carries the ability to cause the platform to crash if there are programming issues. An infinite loop would be one such case.

    If there is something in question that should not crash the platform, our Scripting Support team will be happy to have a look at a small example.

    We do have a pending feature request to "sandbox" NinjaScripts so programming issues do not affect other parts of the platform. This would include overhead, but if it is something you would like to have a vote tracked for, please let me know.

    We look forward to assisting.

    JimNinjaTrader Customer Service

    Comment


      #3
      Hi. Thanks for taking the time to explain.
      I'd say just about any simple NPE (Null Pointer Exception) should not
      be able to crash the platform. I'm confident the "sandbox" approach
      will yield a much more resilient implementation.
      NinjaTrader 8 for developers is, in my view, just about the best
      possible platform for advanced development !

      If the "sandbox" will impact performance; then please allow for it
      to be switched off for performance code; but I'm confident you
      will be able to achieve more fault tolerance.

      hyperscalper
      Last edited by Hyper; 12-03-2020, 06:15 PM.

      Comment


        #4
        Hello Hyper,

        Thanks for your reply.

        I have added your vote to SFT-2687 which tracks the idea to sandbox NinjaScripts to prevent them from being able to crash the platform.

        For other users reading: This is an internal number, but for anyone else wishing to have their interest tracked, please let our support staff know that you would like a vote added for this request.

        Feature Request Disclaimer

        We receive many requests and cannot reasonably implement all requested features or changes. Interest is tracked internally and if enough interest is tracked, it would be weighed against how feasible it would be to make those changes to consider implementing.

        When new features are implemented, they will be listed in the Release Notes page of the Help Guide. The ID number will be different than the internal feature request tracking ID, but the description of the feature will let you know if that feature has been implemented.

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

        We look forward to assisting.
        JimNinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by andrewtrades, Today, 04:57 PM
        1 response
        10 views
        0 likes
        Last Post NinjaTrader_Manfred  
        Started by chbruno, Today, 04:10 PM
        0 responses
        6 views
        0 likes
        Last Post chbruno
        by chbruno
         
        Started by josh18955, 03-25-2023, 11:16 AM
        6 responses
        436 views
        0 likes
        Last Post Delerium  
        Started by FAQtrader, Today, 03:35 PM
        0 responses
        9 views
        0 likes
        Last Post FAQtrader  
        Started by rocketman7, Today, 09:41 AM
        5 responses
        20 views
        0 likes
        Last Post NinjaTrader_Jesse  
        Working...
        X