Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Optimizer and system resources

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

    Optimizer and system resources

    Hi!

    I've downloaded and installed the beta in hope of better optimizing performance. I set up an optimization just to test it, and started it. The first thing was that the application GUI went unrespondive , so the main thread was involved in the calculation process, in which case the app isn't quite well multi-threaded. The other thing was the memory consumption. It consumed all available from my 4G! It actually slow down my whole system that my OS was swapping all the time. The worst was that Ninja did not use all available CPU resources (probably beacause of waiting for the HDD) and thus the optimization was quite slow. I had to abort it from my process explorer ,because the GUI was still unrespondive.

    I've attached a screenshot of the application's resource consumption.

    edit: I am using Windows 7 64bit. AFAIK in this version this OS is supported.

    XM Group集团直达网址༺https://affs.click/8rkvg༻,总部在塞浦路斯,有来自全球199个国家的150万余名客户,雇佣了300多名金融领域的专业人士,受英国FSA,澳大利亚ASIC,伯利兹IFSC和塞浦路斯CySEC多方权威监管机构严格监管。XM中文官网备受信赖的经纪商,交易指数、原油和黄金的差价合约。透明实时定价、小点差和高杠杆1000倍,在XM外汇官网安心交易。开立账户即可尊享赠金、专属活动、交易比赛、跟单社区、在线教育课程等多重福利,欢迎在XM交易平台官网开户,注册,登录。

    #2
    Hello vides2012,

    NinjaTrader 7 comes with optimized multi core/multi-processor support. Please see the link below for more information.


    General Application Performance
    This is an area that we spent a lot of time on during the development of NinjaTrader 7. We re-wrote core sections of the application to be more efficient in terms of memory usage and CPU utilization.


    However, due to the nature of the Window OS, NinjaTrader 7 would not be able to fully use all available multi-cores/multi-processors at any given time.

    Comment


      #3
      Hello Jason,

      I've read the document. I wouldn't say consuming all available memory is efficient since it causes heavy swapping (thus reducing system performance largely, including the optimization performance). I suggest a lower memory consumption.

      About the multicore usage: The CPU utilization kept below 20% after a couple of minutes (when the memory usage reached its max, and the swapping began). I wouldn't say it's about the OS. I suggest a configuration setting available to the optimizer algorithm, so I can maximize the memory usage, and determine the no. of threads.

      Please revise the optimizer, that the main thread should not participate in the calculations!

      Comment


        #4
        vides2012,

        Thank you for the post. Can you please provide us with the optimization settings you used, dates tested, time frame used, and strategy? Thanks.
        Josh P.NinjaTrader Customer Service

        Comment


          #5
          Dear Josh,

          Unfortunately I may not give you the strategy I was using. It uses some drawing methods (besides the trading logic) can it be a problem? It wasn't with NinjaTrader 6.5. I was using minute bars (15 value). The date was from this year January till today, on a custom ticker. I was using the default optimizer, exit on close : false, keeping 10 best results, optimizing on net. profit.

          Comment


            #6
            vides2012,

            In that case can you please try with SampleMACrossOver? Thank you.
            Josh P.NinjaTrader Customer Service

            Comment


              #7
              I've tested the SampleMACrossOver and it was working. So I started to figure out what the source of the problem was. I wrote some snippets to a copy of the SampleMACrossOver, and finally I have found the cause of my problem!

              It was a debug Print() call! So I have removed it, and now my strategy works.

              Please inform people that the Print method should not be used when optimizing a strategy, or please make it compatible with optimizing.

              Thanks!

              Comment


                #8
                vides2012,

                There should be no issue with having Print() for optimizations as a concept. If you have the Print() in a location that would print many many lines of output then running an optimization would create a very very large requirement of memory and CPU cycles to print all of them at once.
                Josh P.NinjaTrader Customer Service

                Comment

                Latest Posts

                Collapse

                Topics Statistics Last Post
                Started by Geovanny Suaza, 02-11-2026, 06:32 PM
                0 responses
                626 views
                0 likes
                Last Post Geovanny Suaza  
                Started by Geovanny Suaza, 02-11-2026, 05:51 PM
                0 responses
                359 views
                1 like
                Last Post Geovanny Suaza  
                Started by Mindset, 02-09-2026, 11:44 AM
                0 responses
                105 views
                0 likes
                Last Post Mindset
                by Mindset
                 
                Started by Geovanny Suaza, 02-02-2026, 12:30 PM
                0 responses
                562 views
                1 like
                Last Post Geovanny Suaza  
                Started by RFrosty, 01-28-2026, 06:49 PM
                0 responses
                567 views
                1 like
                Last Post RFrosty
                by RFrosty
                 
                Working...
                X