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.
Comment