Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

performace and number of conditions in an if statement

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

    performace and number of conditions in an if statement

    which code consumes less resources, if BO_barsback==0

    Code:
                    if (BO_barsback>0 && SL_barsback-swingStrength>=BO_barsback &&
    
                        Low[SL_barsback]<Low[SL_barsback-1] &&
    
                        SwingLow-Pos_Tolerance<=SB_High && (SB_High<=SwingLow+Neg_Tolerance || (show_fBO && BO_barsback==1 && Open[0]>Close[0])) &&
    
                        SwingLow-Min_Breakout>=MIN(Low, SL_barsback)[0] &&
    
                        CountIf(delegate {return SwingLow<Close[1];}, BO_barsback-1) <1 &&
    
                        !(BO_barsback>1 && CountIf(delegate {return SwingLow<=Close[1] && High[2]<Close[1];}, Math.Max(0,BO_barsback-2)) >0) &&
    
                        !(High[BO_barsback+1]<High[BO_barsback] && Low[BO_barsback+1]>Low[BO_barsback] && SwingLow>Low[BO_barsback+1]) &&
    
                        !(High[BO_barsback+2]<High[BO_barsback+1] && Low[BO_barsback+2]>Low[BO_barsback+1] && SwingLow>Low[BO_barsback+1] && Open[BO_barsback+1]<Close[BO_barsback+1]) &&
                        !(High[BO_barsback+2]<High[BO_barsback+1] && Low[BO_barsback+2]>Low[BO_barsback+1] && SwingLow>Low[BO_barsback+2] && Open[BO_barsback+2]<Close[BO_barsback+2]) &&
    
                        !(BO_barsback<Bars.BarsSinceNewTradingDay &&
                        ((Low[BO_barsback+2]<SwingLow && Open[BO_barsback+2]<Close[BO_barsback+2]) ||
                        (Low[BO_barsback+1]<SwingLow && Open[BO_barsback+1]<Close[BO_barsback+1])))
                        )

    Code:
                    if (BO_barsback>0)
    
                    if (SL_barsback-swingStrength>=BO_barsback &&
    
                        Low[SL_barsback]<Low[SL_barsback-1] &&
    
                        SwingLow-Pos_Tolerance<=SB_High && (SB_High<=SwingLow+Neg_Tolerance || (show_fBO && BO_barsback==1 && Open[0]>Close[0])) &&
    
                        SwingLow-Min_Breakout>=MIN(Low, SL_barsback)[0] &&
    
                        CountIf(delegate {return SwingLow<Close[1];}, BO_barsback-1) <1 &&
    
                        !(BO_barsback>1 && CountIf(delegate {return SwingLow<=Close[1] && High[2]<Close[1];}, Math.Max(0,BO_barsback-2)) >0) &&
    
                        !(High[BO_barsback+1]<High[BO_barsback] && Low[BO_barsback+1]>Low[BO_barsback] && SwingLow>Low[BO_barsback+1]) &&
    
                        !(High[BO_barsback+2]<High[BO_barsback+1] && Low[BO_barsback+2]>Low[BO_barsback+1] && SwingLow>Low[BO_barsback+1] && Open[BO_barsback+1]<Close[BO_barsback+1]) &&
                        !(High[BO_barsback+2]<High[BO_barsback+1] && Low[BO_barsback+2]>Low[BO_barsback+1] && SwingLow>Low[BO_barsback+2] && Open[BO_barsback+2]<Close[BO_barsback+2]) &&
    
                        !(BO_barsback<Bars.BarsSinceNewTradingDay &&
                        ((Low[BO_barsback+2]<SwingLow && Open[BO_barsback+2]<Close[BO_barsback+2]) ||
                        (Low[BO_barsback+1]<SwingLow && Open[BO_barsback+1]<Close[BO_barsback+1])))
                        )

    #2
    Hello td_910,
    Thanks for your post.

    You would need to run some tests to figure this out. Perhaps run both of these snippets at the same time and check on them in the NinjaScript Utilization Monitor inside the NinjaScript Output window.

    The number of conditions in an 'if' statement would make a negligible difference in most cases.

    Please see the following link for more information on the NinjaScript Utilization Monitor: https://ninjatrader.com/support/help...izationMonitor
    Last edited by NinjaTrader_JoshG; 03-29-2019, 09:38 AM.
    Josh G.NinjaTrader Customer Service

    Comment


      #3
      Thanks.

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

      Is that text drawn by the indicators or manually drawn text, that consumes such a lot resources?
      Indicators should be fine compared to the rest?

      Comment


        #4
        td_910,

        There are a lot of variables that go into what impacts resource usage. Perhaps a NinjaScript drawn object could use more resources, but in most cases I do not expect it to make much of an impact.
        Josh G.NinjaTrader Customer Service

        Comment


          #5
          this is all text and lines drawn by indicators ;-)
          World's leading screen capture + recorder from Snagit + Screencast by Techsmith. Capture, edit and share professional-quality content seamlessly.

          Comment


            #6
            td_910,

            I do not expect it to make much of an impact.
            I should be clearer here. I meant in comparison to manually drawn objects. I would probably expect the same performance impact for each drawing object added no matter if it were done through NS or by manually drawing it.
            Josh G.NinjaTrader Customer Service

            Comment


              #7
              Thank you.

              Is it just the visible objects or all objects from the Drawing Objects List. For that chart (10 days) it's about 400 total and maybe 80 visible.

              Comment


                #8
                td_910,

                I would expect the platform to save some resources when the drawing objects are not visible.
                Josh G.NinjaTrader Customer Service

                Comment

                Latest Posts

                Collapse

                Topics Statistics Last Post
                Started by Geovanny Suaza, 02-11-2026, 06:32 PM
                0 responses
                636 views
                0 likes
                Last Post Geovanny Suaza  
                Started by Geovanny Suaza, 02-11-2026, 05:51 PM
                0 responses
                366 views
                1 like
                Last Post Geovanny Suaza  
                Started by Mindset, 02-09-2026, 11:44 AM
                0 responses
                107 views
                0 likes
                Last Post Mindset
                by Mindset
                 
                Started by Geovanny Suaza, 02-02-2026, 12:30 PM
                0 responses
                568 views
                1 like
                Last Post Geovanny Suaza  
                Started by RFrosty, 01-28-2026, 06:49 PM
                0 responses
                571 views
                1 like
                Last Post RFrosty
                by RFrosty
                 
                Working...
                X