Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Trying to avoid NT8 crashes

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

  • soulfx
    replied
    I absolutely agree with your point reachforthelasers. It has been echoed by others too. Also worked in top banks live systems development and support where stability is paramount and i dont get Ninja rationale - yes we try to do our best and spend countless hours testing and checking code; but serious stress testing of ninja doesnt seem to happen and we are left to find the issues and 'prove' it - this new model of innocent til proven guilty may work for them but is somewhat imbalanced and lacking somewhat - this is software we are talking about after all, hardly the realm of perfection and if one scans the bug list of the releases it is quite informative and tells its own story ..

    Leave a comment:


  • Alfred
    replied
    Originally posted by NinjaTrader_Jim View Post
    Hello everyone,

    @Alfred, thank you for providing some tests that may reproduce this matter. I will test these and report my findings.
    Jim...plotting new vertical lines at targets this week....about 40 lines per session +/- (max 3 or 4 lines on screen at any time typically)...had 4 crashes, three were close to 1pm Pacific during the high volume close period...one was 6am in maybe not so high volume.

    Plotting on ES (all charts) on 4 windows 3, 5, 8 second data.

    Things went smoothly (no crashes) the previous week for 3 days with another method...started with 3 vert lines and dragging to new targets (no new vert lines plotted after the open)...

    Looking like Ninja has a problem plotting vert lines in fast high volume... this can possibly trigger a crash.

    Thanks.....
    Last edited by Alfred; 05-05-2017, 05:21 PM.

    Leave a comment:


  • reach4thelasers
    replied
    I agree... I'm a bit baffled by the "We need to make a reproducible test-case or script before we are allowed to bother the developers" approach...

    I've been a software engineer commercially for about 17 years now and in all that time it would have been absolutely lovely if users or testers didn't bother me unless they had a script to help me exactly pinpoint a bug in my code; but it doesn't work like that. There are many users experiencing a FATAL crash, that nobody can consistently reproduce. This needs to be looked at by someone with knowledge of the codebase.

    Leave a comment:


  • manugarc
    replied
    Hi Jim,

    You have a number of people in multiple threads telling you OnRender() is crashing NT8 when drawing a simple line. Do you really need to know which version begins to fail (maybe all of them) to simply tell the development team that they need to debug their OnRender() code?? Looks like none of you is in the mood of fixing this, I can't understand it.
    Last edited by manugarc; 05-07-2017, 09:43 AM.

    Leave a comment:


  • NinjaTrader_Jim
    replied
    Hello everyone,

    If anyone would like to help us track this issue so it can be properly reported, I am offering to distribute older installers for NinjaTrader 8 for anyone that would like to spend the time to let us know when the issue became actual for them.

    If we can pinpoint the issue to a certain revision of NinjaTrader 8, we will have something that we can report to the development team for further analysis. We have not yet been able to reproduce on our end, so it will be necessary for you to tell us where to start looking.

    For those wishing to test older versions of NinjaTrader 8 to find out when this issue became actual for them, please write in to platformsupport[at]ninjatrader[dot]com with the text Attn Jim and the thread URL.

    Leave a comment:


  • Alfred
    replied
    Originally posted by reach4thelasers View Post
    OMG!! Can finger dowsing also be used to Determine the future market direction?
    Generally some dowsers say it should not be used for personal gain...
    You could dowse for your personal answer to that though & see if it will work for you.
    Perhaps explore & practice with some short term market examples first.

    In The Divining Hand there are many many amazing documented dowsing results ...finding oil wells, water wells, lost persons....it is an old technique used in Europe to find metal mines...I very highly recommend the book....

    ..........

    Leave a comment:


  • manugarc
    replied
    Originally posted by NinjaTrader_Jim View Post
    Hello everyone,

    Thank you for the replies.

    The issue is that we need to have a test case to reproduce this issue before we can submit it to the development team for a fix.

    [...]

    There may have been some confusion around my previous statement of placing try/catch blocks within OnRender(). This advise would only be applicable if you had code in OnRender() that we could troubleshoot. I was not offering a debugging solution by overriding OnRender() to add try/catch blocks.

    [...]
    Hi Jim,

    Don't worry; no confusions. At this point I realize you have very serious problems with your development team. This is not the way a real project should be managed, and I needed NT8 to be stable, that's why I'm offering myself to debug what your development team apparently is not in the mood for debugging.

    If I had that code (I believe that sharing that snippet is not a problem since it could mean to solve the problem) I could isolate the problem and make you know how to fix it. By the way, I'm almost sure that it's about a race-condition problem, so don't expect to reproduce it using market replay.

    I appreciate your sincerity; your development team is not going to fix it. That's OK, I'm switching platform, I cannot do any other thing since my job depends on having my strategies running. However, I'm interested on running them on NT8 when possible, so please count on me if at some point you want external help to fix it.
    Last edited by manugarc; 05-04-2017, 08:41 AM.

    Leave a comment:


  • reach4thelasers
    replied
    OMG!! Can finger dowsing also be used to Determine the future market direction?

    Leave a comment:


  • Alfred
    replied
    A Finger Dowsing Solution

    This past year I have learned how to finger dowse for answers to problems that seem beyond the 5 senses. There is a marvelous book on dowsing....The Divining Hand by Christopher Bird....truly stunning scholarship. Page 263 thru 266 describe finger dowsing in detail. Why dowsing works is also explained in the book.

    With this in mind I have asked a series of finger dowse questions on a vertical line crashing Ninja.

    1.) Is something wrong with the vertical line draw tool....Yes
    2.) Does it have something to do with the speed of timing in placing the tool....Yes
    3.) Is the resize pointer involved in vertical line crashes....No
    4.) Can Ninja fix this crash problem by analyzing the vertical line tool....Yes
    5.) Can Ninja development analyze and solve this problem within one hours time....Yes

    So....there you have it....a road map for a fix.....

    Looking forward to the fix.....
    Last edited by Alfred; 05-04-2017, 08:26 AM.

    Leave a comment:


  • NinjaTrader_Jim
    replied
    Hello everyone,

    Thank you for the replies.

    The issue is that we need to have a test case to reproduce this issue before we can submit it to the development team for a fix.

    drawing less than 20 lines per day, running about 6 strategies together in a same machine
    Could we use this information to reproduce the issue? Perhaps we can run a long test with market replay data to recreate this issue. At this point I don't have any opinions of what is causing the crashes. We would need to reproduce the issue to fully understand it and give you an answer as to what exactly is causing the matter.

    There may have been some confusion around my previous statement of placing try/catch blocks within OnRender(). This advise would only be applicable if you had code in OnRender() that we could troubleshoot. I was not offering a debugging solution by overriding OnRender() to add try/catch blocks.

    There is another open thread where OnRender() errors are being discussed. I have posted some instructions to create multiple instances of the NinjaTrader 8 platform that can assist in being able to reproduce this issue in a clean enviornment. The idea is to have a clean installation of NinjaTrader in which you can test for issues without having to troubleshoot your main platform.

    For example, if you come across a scenario where the issue arises, it can be tested in the blank installation if it can consistently reproduce the matter.

    Here is a link to my post within that thread: http://ninjatrader.com/support/forum...2&postcount=15

    Even if it were to take multiple days to reproduce, as long as we have some clear steps that can take to reproduce this issue, we will be able to move forward.

    @Alfred, thank you for providing some tests that may reproduce this matter. I will test these and report my findings.

    I will continue monitoring this thread for scenarios we can use to cause these issues.

    Leave a comment:


  • Alfred
    replied
    Video reviews of problem....

    As mentioned earlier....I have been having similar crashes when drawing vertical lines manually with the Draw Tools....(plus I get the same OnRender Vertical Line error message at a crash)....I draw perhaps 40 or so vertical lines a day....it is not unusual to get several crashes a day with this method. So far cannot identify what may trigger a specific crash....

    Here are several videos below on the problem....have discovered a way to draw the vertical lines, apparently without a crash...the first video explains the new technique...
    Plus looking at the resize pointer in the 2nd video....could this possibly be part of the problem...??

    Have been working with Ninja support about this problem...but so far no resolution....

    Thanks....

    World's leading screen capture + recorder from Snagit + Screencast by Techsmith. Capture, edit and share professional-quality content seamlessly.


    World's leading screen capture + recorder from Snagit + Screencast by Techsmith. Capture, edit and share professional-quality content seamlessly.

    Leave a comment:


  • manugarc
    replied
    Originally posted by NinjaTrader_Jim View Post
    Hello everyone,

    Thank you for providing that input.

    I will continue monitoring this thread for any reproduce-able issues that we can pursue.

    @manugarc, have you been able to reproduce the error using the sample provided?
    Hi Jim,

    Please excuse me for the delay on answering; I didn't notice so many new messages on the thread and thought it was ended. I'm glad you keep on searching for the solution.

    I have not used your code but mine modified multiple times and several days, because I have no doubt the problem is on NT side, not in my code. I've tried to draw less vertical lines, but this is nonsense; please have in mind that we are talking (in my particular case) about drawing less than 20 lines per day, running about 6 strategies together in a same machine, that makes a maximum of 120 lines a day on a machine with 16GB of RAM, and that makes a nowadays software crash? Just think in how many bars are drawn in that same time (24h x 60 min x 6 strategies = 8640 bars (just in 1 day!)); Do you really think that 100 extra objects can produce a memory problem? It's absolutely impossible.

    That's nonsense; the problem cannot be the number of lines drawn, there has to be a problem of another kind; either there is a race-condition problem, or some reference to an object is lost at some moment, or some kind of problem regarding to multi-threading (as I pointed on previous posts, though I don't really think this is the case, that's another problem).

    As I told you, I have many years of experience developing software, so I have no problem in trying to help to solve this, but I can't be trying sample codes for days and having my machines busy with that, when I know that the problem cannot be the number of lines.

    As I also told you, if you want to provide me your OnRender() code to try to catch the exception and detect the problem, I'll be glad to help.

    Leave a comment:


  • GeorgeW
    replied
    Originally posted by tradesmart View Post
    I think performance will improve if, instead of drawing your objects in OnBarUpdate(), you'll draw them in OnRender(). The objects you draw in OnBarUpdate() are limited initially to the visible bars on the chart by your ChartBars for loop, but they persist invisibly as they scroll off the visible chart. Using that for loop condition in OnRender() will eliminate those "phantom" drawing objects that are unseen but not forgotten, since each render pass will draw only on the visible bars.
    Thanks for that, tradesmart. I'll have to try to get my head around Drawing objects in OnRender() over the next few weeks, something I'd been trying to avoid for a while.

    Leave a comment:


  • tradesmart
    replied
    Originally posted by GeorgeW View Post
    My drawing code is all in OnBarUpdate(), I haven't got my head around OnRender() yet. ... Is there anything else I can do to eliminate them altogether?
    I think performance will improve if, instead of drawing your objects in OnBarUpdate(), you'll draw them in OnRender(). The objects you draw in OnBarUpdate() are limited initially to the visible bars on the chart by your ChartBars for loop, but they persist invisibly as they scroll off the visible chart. Using that for loop condition in OnRender() will eliminate those "phantom" drawing objects that are unseen but not forgotten, since each render pass will draw only on the visible bars.

    Leave a comment:


  • NinjaTrader_Jim
    replied
    Hello GeorgeW,

    I am glad you made progress with your issue.

    If I follow correctly, the issue you are describing is that you have been able to optimize the performance of these drawing objects, but you are still bogged down when using over 20 days worth of drawing objects.

    Since you have already optimized and noticed performance increases when restricting OnRender() calculations to ChartBars, and are still witnessing symptoms of excessive draw objects, I believe your only available option left is to add code to mark these drawing objects for garbage collection.

    You can search for the string "Marking object references for garbage collection" in the Best Practices section of the help guide, where you found the ChartBars optimization.

    This uses RemoveDrawObject() to remove drawing objects after a condition has been met. For example, if so may days have passed, remove these older draw objects.

    RemoveDrawObject() - https://ninjatrader.com/support/help...drawobject.htm

    Please let me know if I may be of further help.

    Leave a comment:

Latest Posts

Collapse

Topics Statistics Last Post
Started by SalmaTrader, 07-07-2026, 10:26 PM
0 responses
92 views
0 likes
Last Post SalmaTrader  
Started by CarlTrading, 07-05-2026, 01:16 PM
0 responses
51 views
0 likes
Last Post CarlTrading  
Started by CaptainJack, 06-17-2026, 10:32 AM
0 responses
23 views
0 likes
Last Post CaptainJack  
Started by kinfxhk, 06-17-2026, 04:15 AM
0 responses
34 views
0 likes
Last Post kinfxhk
by kinfxhk
 
Started by kinfxhk, 06-17-2026, 04:06 AM
0 responses
34 views
0 likes
Last Post kinfxhk
by kinfxhk
 
Working...
X