NexusFi: Find Your Edge


Home Menu

 





Ninjatrader 8 not ready for prime time?


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one bobc635 with 39 posts (66 thanks)
    2. looks_two bobwest with 30 posts (58 thanks)
    3. looks_3 Blash with 26 posts (24 thanks)
    4. looks_4 NinjaTrader with 22 posts (43 thanks)
      Best Posters
    1. looks_one NinjaTrader with 2 thanks per post
    2. looks_two bobwest with 1.9 thanks per post
    3. looks_3 bobc635 with 1.7 thanks per post
    4. looks_4 Blash with 0.9 thanks per post
    1. trending_up 91,140 views
    2. thumb_up 437 thanks given
    3. group 68 followers
    1. forum 310 posts
    2. attach_file 16 attachments




 
Search this Thread

Ninjatrader 8 not ready for prime time?

  #51 (permalink)
 
michaelf's Avatar
 michaelf 
Mérida, Mexico
Market Wizard
 
Experience: Intermediate
Platform: NinjaTrader 8
Broker: NinjaTrader Brokerage
Trading: MNQ
Frequency: Daily
Duration: Minutes
Posts: 559 since Mar 2011
Thanks Given: 1,434
Thanks Received: 581


xplorer View Post
I use Unirenko bars and Jigsaw. That's it, nothing else.

I had the UniRenko bars from the fio download side and it wasn't working well. Now I have the ones from the NT forum made by NT_Chelsea and no problem at all.

Also I do install every new NT8 version from 0, never did an update over an old version. Last time I did also a clean Win10 installation and I think that helped too.

Right now I have 7 custom made indicators and been live trading with NT8 (8.0.4.0) since 2 week without any problem.

I also need to say that since I switched to an SSD card I had much less problem with NT7 and NT8.


edit: Don't know it helps, but when I'm trading my Firewall, Defender and Antivirus are deactivated

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
Exit Strategy
NinjaTrader
My NT8 Volume Profile Split by Asian/Euro/Open
NinjaTrader
Online prop firm The Funded Trader (TFT) going under?
Traders Hideout
NexusFi Journal Challenge - April 2024
Feedback and Announcements
Better Renko Gaps
The Elite Circle
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Get funded firms 2023/2024 - Any recommendations or word …
59 thanks
Funded Trader platforms
37 thanks
NexusFi site changelog and issues/problem reporting
24 thanks
GFIs1 1 DAX trade per day journal
22 thanks
The Program
19 thanks
  #52 (permalink)
 
xplorer's Avatar
 xplorer 
London UK
Site Moderator
 
Experience: Beginner
Platform: CQG
Broker: S5
Trading: Futures
Posts: 5,944 since Sep 2015
Thanks Given: 15,447
Thanks Received: 15,291


michaelf View Post
I had the UniRenko bars from the fio download side and it wasn't working well. Now I have the ones from the NT forum made by NT_Chelsea and no problem at all.

Also I do install every new NT8 version from 0, never did an update over an old version. Last time I did also a clean Win10 installation and I think that helped too.

Right now I have 7 custom made indicators and been live trading with NT8 (8.0.4.0) since 2 week without any problem.

I also need to say that since I switched to an SSD card I had much less problem with NT7 and NT8.


edit: Don't know it helps, but when I'm trading my Firewall, Defender and Antivirus are deactivated

Thanks for the tip Michael, I am reinstalling and I have located the Unirenko bar you talked about.

Reply With Quote
Thanked by:
  #53 (permalink)
 bobc635 
Tucson
 
Experience: Intermediate
Platform: NinjaTrader
Broker: Stage5
Trading: CL, YM
Posts: 209 since Jan 2011
Thanks Given: 137
Thanks Received: 233


I have been struggling to keep NT 8 memory use under control for a few months. SIM 22 and I have collaborated quite a bit. He has made several posts regarding this issue. I now have something that works for me (until it doesn't). While Ninja Support tell us that using high memory use (3Gb plus) is normal, it makes the platform response really sluggish. With this procedure mine is running at less than 1Gb but it does take some maintenance. Here is my daily and weekly routine... I hope that it helps....

Daily....
Before I start, I open the Windows Task Manager and sort by memory use.
Before I start NT 8, I clear NT 8 cache and in db clear cache and the contents of day, min, and tick as well as _Workspaces (bcNT8Cleanup.bat)
After I start NT 8, I let the NT8 CPU usage go down under 10% and then I connect to broker.
Memory should be in the 700Mb area, depending on your charts and indis.
I keep an eye on memory use and if it creeps up to 1.5GB area, I go through the NT shutdown and restart procedure.. Changing indi parameters may start a memory build.

Every Week, delete titled workspaces and rebuild them. I don’t know why, but they seem to contribute to memory creep. To rebuild, start a fresh chart and apply the chart templates. So far, the chart templates do not add to memory creep.

Take Care....
Bob

Bat File: must be run from Documants\NinjaTrader8 directory.
@echo off
echo Hello this batch file deletes cache, day, minute and tick data and must be run from Documents\NinjaTrader8 directory
// pause
del cache *.dat /Q
deltree db\cache\*.*
deltree db\day\*.*
deltree db\minute\*.*
deltree db\tick\*.*
del workspaces\_Workspaces.xml

Reply With Quote
Thanked by:
  #54 (permalink)
 
Zondor's Avatar
 Zondor 
Portland Oregon, United States
 
Experience: Beginner
Platform: Ninjatrader®
Broker: CQG, Kinetick
Trading: Gameplay Klownbine® Trading of Globex
Posts: 1,333 since Jul 2009
Thanks Given: 1,246
Thanks Received: 2,731

Not having this problem. ANYMORE. It is NOT normal OR acceptable. NT8s is very finicky.. The performance potential is amazing.

My workspace has a dozen or so charts, half in tick replay. Lots of multi instrument and multi time frame indicators with one tick secondary data. Heavy use of MaximumBarsLookBack.Infinite and CalculateOnEachTick.

Generally RAM stays under 700MB. Often under 500. For hours at a time.

If it goes much higher than this, I kill it with Task Manager.

I think this is caused by code problems. For example
  1. Draw Objects. For each one created, more RAM is needed. I found this to sometimes be true even if the new object has the same tag as the old one, in which case the old one is supposed to be disposed of.. but sometimes it isn't. Solution: before redrawing, with a previously used tag, a persisting Draw object, remove it by referencing its tag as the parameter while calling the RemoveFrawObject method.. Remove first, then redraw.
  2. The indefensible, slipshod, long discredited, and ever popular, practice of using "inline" function calls rather than referencing reusable instances of external classes. A real performance killer!
  3. Failing to properly Dispose resources used in OnRender.

Additional recommendations:

Carefully read, understand and follow the coding Best Practices in the Help Guide.

Beware of threading issues when using UI elements.

Do as little as you possibly can in State.Configure. One of the very few methods that must be called there is AddDataSeries. Almost everything else can be done in State.DataLoaded.

Do not assign initial values to variables when declaring them. Do so in State.DataLoaded.

There seems to be a bug Where OnBarUpdate can be called while the code is in State.Treminated. So put a filter at the beginning of OnBarUpdate: if(State==State.Terminated) return;

Use a process of elimination to identify those indicators that are leaking memory.

Calling @NinjaTrader , what are your thoughts on this.

Feel free to send me a PM with specifics.

"If we don't loosen up some money, this sucker is going down." -GW Bush, 2008
“Lack of proof that something is true does not prove that it is not true - when you want to believe.” -Humpty Dumpty, 2014
“The greatest shortcoming of the human race is our inability to understand the exponential function.”
Prof. Albert Bartlett
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #55 (permalink)
 bobc635 
Tucson
 
Experience: Intermediate
Platform: NinjaTrader
Broker: Stage5
Trading: CL, YM
Posts: 209 since Jan 2011
Thanks Given: 137
Thanks Received: 233

Hi Zondor, thank you so much. You have a lot more insight into the issues than I do... I will take you advice and study the help guides some more. I do agree that it should be a very powerful platform and the memory issues are unacceptable. As far as working with NT Support... they are very good at most issues, but they seem very guarded and defensive on the memory issues. I was really trying to help them with discovery, but it kept coming back to their point that high memory is acceptable, so I stopped bothering them. SIM22 has been very helpful. He is very talented. I will study what you have suggested and see if I can some headway. After the procedure that I described in this post, I am running 470Mb this AM.... I am very happy with that.

I will take you up on a PM after I study some more....

Thanks Zondor....
Bob






Zondor View Post
Not having this problem. ANYMORE. It is NOT normal OR acceptable. NT8s is very finicky.. The performance potential is amazing.

My workspace has a dozen or so charts, half in tick replay. Lots of multi instrument and multi time frame indicators with one tick secondary data. Heavy use of MaximumBarsLookBack.Infinite and CalculateOnEachTick.

Generally RAM stays under 700MB. Often under 500. For hours at a time.

If it goes much higher than this, I kill it with Task Manager.

I think this is caused by code problems. For example
  1. Draw Objects. For each one created, more RAM is needed. I found this to sometimes be true even if the new object has the same tag as the old one, in which case the old one is supposed to be disposed of.. but sometimes it isn't. Solution: before redrawing, with a previously used tag, a persisting Draw object, remove it by referencing its tag as the parameter while calling the RemoveFrawObject method.. Remove first, then redraw.
  2. The indefensible, slipshod, long discredited, and ever popular, practice of using "inline" function calls rather than referencing reusable instances of external classes. A real performance killer!
  3. Failing to properly Dispose resources used in OnRender.

Additional recommendations:

Carefully read, understand and follow the coding Best Practices in the Help Guide.

Beware of threading issues when using UI elements.

Do as little as you possibly can in State.Configure. One of the very few methods that must be called there is AddDataSeries. Almost everything else can be done in State.DataLoaded.

Do not assign initial values to variables when declaring them. Do so in State.DataLoaded.

There seems to be a bug Where OnBarUpdate can be called while the code is in State.Treminated. So put a filter at the beginning of OnBarUpdate: if(State==State.Terminated) return;

Use a process of elimination to identify those indicators that are leaking memory.

Calling @NinjaTrader , what are your thoughts on this.

Feel free to send me a PM with specifics.


Reply With Quote
Thanked by:
  #56 (permalink)
 
NinjaTrader's Avatar
 NinjaTrader  NinjaTrader is an official Site Sponsor
Site Sponsor

Web: NinjaTrader
AMA: Ask Me Anything
Webinars: NinjaTrader Webinars
Elite offer: Click here
 
Posts: 1,713 since May 2010
Thanks Given: 203
Thanks Received: 2,686

Zondor,

You are absolutely correct. A few years back while NinjaTrader 8 was in development I came to this forum and presented a webinar where I declared that we were going to take a bit more time so we could open up the development framework even more giving developers more power to build rich and integrated trading apps. This power comes at the expense of more programming pitfalls to be mindful of. For consumers of custom scripts…be diligent of what you import and for developers, mind your p’s and q’s.



Zondor View Post
  1. Draw Objects. For each one created, more RAM is needed. I found this to sometimes be true even if the new object has the same tag as the old one, in which case the old one is supposed to be disposed of.. but sometimes it isn't. Solution: before redrawing, with a previously used tag, a persisting Draw object, remove it by referencing its tag as the parameter while calling the RemoveFrawObject method.. Remove first, then redraw.

Any identical tag provided for a new draw object will re-use the current object associated to the tag. That being said, I have asked our team to run some additional tests here.


Zondor View Post
  1. The indefensible, slipshod, long discredited, and ever popular, practice of using "inline" function calls rather than referencing reusable instances of external classes. A real performance killer!

Absolutely, this is a best practice.


Zondor View Post
  1. Failing to properly Dispose resources used in OnRender.

We have a section in our Help Guide dedicated to best practices here NinjaScript > Educational Resources > Using SharpDX for Custom Chart Rendering. We did just resolve a memory leak issue related to OnRender() that seems to effect a subset of a subset of users, this will be available in R6 next month.

Disclosure: This communication is sent to you by NinjaTrader, LLC, a software development company which owns and supports all proprietary technology relating to and including the NinjaTrader trading platform.
Follow me on Twitter Reply With Quote
  #57 (permalink)
 
Blash's Avatar
 Blash 
Chicago, IL
Legendary Market Chamois
 
Experience: None
Platform: NT8,NT7,TWS
Broker: InteractiveBrokers, S5T, IQFeed
Trading: The one I'm creating in the present....Index Futures mini/micro, ZF
Posts: 2,311 since Nov 2011
Thanks Given: 7,341
Thanks Received: 4,518

I would like and was wondering if anyone besides me can reproduce this in a NT8 Market Analyzer, please. @NinjaTrader can you guys please also try.

Thank you.



Ron

...My calamity is My providence, outwardly it is fire and vengeance, but inwardly it is light and mercy...
The steed of this Valley is pain; and if there be no pain this journey will never end.
Buy Low And Sell High (read left to right or right to left....lol)
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #58 (permalink)
 
NinjaTrader's Avatar
 NinjaTrader  NinjaTrader is an official Site Sponsor
Site Sponsor

Web: NinjaTrader
AMA: Ask Me Anything
Webinars: NinjaTrader Webinars
Elite offer: Click here
 
Posts: 1,713 since May 2010
Thanks Given: 203
Thanks Received: 2,686


Blash View Post
I would like and was wondering if anyone besides me can reproduce this in a NT8 Market Analyzer, please. @NinjaTrader can you guys please also try.
Ron

We have tried and can't reproduce however, likely something specific to your workspace. Our support team has reached out to you directly for additional information.

Disclosure: This communication is sent to you by NinjaTrader, LLC, a software development company which owns and supports all proprietary technology relating to and including the NinjaTrader trading platform.
Follow me on Twitter Reply With Quote
Thanked by:
  #59 (permalink)
 
Blash's Avatar
 Blash 
Chicago, IL
Legendary Market Chamois
 
Experience: None
Platform: NT8,NT7,TWS
Broker: InteractiveBrokers, S5T, IQFeed
Trading: The one I'm creating in the present....Index Futures mini/micro, ZF
Posts: 2,311 since Nov 2011
Thanks Given: 7,341
Thanks Received: 4,518


NinjaTrader View Post
We have tried and can't reproduce however, likely something specific to your workspace. Our support team has reached out to you directly for additional information.

@NinjaTrader
I think the overarching issue has to do with the life span and health of workspaces. Honestly it's pretty short as far as their life span. They age very quickly and poorly.

I often Repair the DB and delete the _Workspaces.xml file but they still get old and break fast. And it's a lot of work remaking them and they make Ninja "appear" to have more bugs and be of poorer quality then it really is. I have remade and saved a brand new copy in a safe place but this does not always make things better. Though sometimes it will....but I have had the exact same issues (super odd behavior very hard to describe and reproduce) upon using a fresh copy of a now broken workspace and the same issues were revealed. If memory serves I still had the problem workspace open but the same issues showed up in the fresh copy, as if it was too similar to the bad workspace and NT8 could not tell the difference.

Another issue I have had worth mentioning is this: I once drew a very long term TPO on a FX pair, with poor setting using short timeframes in the indicator, a while ago and it was taking a very long time to render with the CPU kicked up to about 30% (i7-5930K, 32GB RAM). I killed off the chart after I realized what I did but NT8 still kept working hard. Seems to me it should of stopped once the reason for doing it was now gone......

Also I get an exception when I try to use the same share service twice in the same Alert. For example, using the email service twice once to send me and email and another time to send an email to a different address which sends me a text message. I accomplish this a diff way now not using two of the same share services. I sent a video in before about this but nothing ever came of it.....here it is.
Error retrieving image, please check URL again (matched: "")


01.24.2017-16.26.51

Ron

...My calamity is My providence, outwardly it is fire and vengeance, but inwardly it is light and mercy...
The steed of this Valley is pain; and if there be no pain this journey will never end.
Buy Low And Sell High (read left to right or right to left....lol)
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #60 (permalink)
 bobc635 
Tucson
 
Experience: Intermediate
Platform: NinjaTrader
Broker: Stage5
Trading: CL, YM
Posts: 209 since Jan 2011
Thanks Given: 137
Thanks Received: 233


I did not try all of your setups, but YES, changing font killed the background color. Thanks for posting.... I think the development team has a lot of testing and fixing to do...

Thanks
Bob



Blash View Post
I would like and was wondering if anyone besides me can reproduce this in a NT8 Market Analyzer, please. @NinjaTrader can you guys please also try.

Thank you.



Ron


Reply With Quote
Thanked by:




Last Updated on July 17, 2020


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts