Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

simplify code

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

    simplify code

    Hello to the forum,

    I want to outsource recurring calculations from my strategy and simplify my code. That's why I wrote the following code.

    Code:
            protected override void OnBarUpdate()
            {
                // create dummy signal to evaluate
                barCounter++;
                if (barCounter % 2 == 0) barCounter2 += 2;
                testSeries[0] = barCounter2;
    
                MyHistoricSeries myHistoricSeries = new MyHistoricSeries();
    
                // Does not add!
                methodCounter =   myHistoricSeries.Counter(testSeries);
    
                Print (Time[0]
                + "  barCounter  " + barCounter
                + "  barCounter2 " + barCounter2
                + "  methodCounter  " + methodCounter
                );
            }
        }
    }
    
        public class MyHistoricSeries
        {
            int myCounter;
            // Evaluate testSeries
            public int Counter (Series<int>mySeries)
            {
                if (mySeries[0] > mySeries[1]) myCounter++;
                return myCounter;
            }
        }

    The testSeries is passed to the Counter method and returns the evaluation.
    But I want the methodCounter to cumulate!

    Is that basically possible or what other solution is there for my problem?

    Many thanks for the support!

    #2
    Originally posted by user10 View Post
    Hello to the forum,

    I want to outsource recurring calculations from my strategy and simplify my code. That's why I wrote the following code.

    Code:
    protected override void OnBarUpdate()
    {
    // create dummy signal to evaluate
    barCounter++;
    if (barCounter % 2 == 0) barCounter2 += 2;
    testSeries[0] = barCounter2;
    
    MyHistoricSeries myHistoricSeries = new MyHistoricSeries();
    
    // Does not add!
    methodCounter = myHistoricSeries.Counter(testSeries);
    
    Print (Time[0]
    + " barCounter " + barCounter
    + " barCounter2 " + barCounter2
    + " methodCounter " + methodCounter
    );
    }
    }
    }
    
    public class MyHistoricSeries
    {
    int myCounter;
    // Evaluate testSeries
    public int Counter (Series<int>mySeries)
    {
    if (mySeries[0] > mySeries[1]) myCounter++;
    return myCounter;
    }
    }

    The testSeries is passed to the Counter method and returns the evaluation.
    But I want the methodCounter to cumulate!

    Is that basically possible or what other solution is there for my problem?

    Many thanks for the support!
    Try using ++myCounter instead of myCounter++

    Comment


      #3
      Hi user10, thanks for your note.

      It's not incrementing because you're initializing the counter class withing OnBarUpdate, so it is deleted when OBU is finished calling. Place this at the class level (the one that inherits the Indicator class) and it will work properly.

      Best regards.

      Comment


        #4
        Originally posted by NinjaTrader_ChrisL View Post
        Hi user10, thanks for your note.

        It's not incrementing because you're initializing the counter class withing OnBarUpdate, so it is deleted when OBU is finished calling. Place this at the class level (the one that inherits the Indicator class) and it will work properly.

        Best regards.
        Thank you very much!

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by argusthome, 03-08-2026, 10:06 AM
        0 responses
        116 views
        0 likes
        Last Post argusthome  
        Started by NabilKhattabi, 03-06-2026, 11:18 AM
        0 responses
        61 views
        0 likes
        Last Post NabilKhattabi  
        Started by Deep42, 03-06-2026, 12:28 AM
        0 responses
        40 views
        0 likes
        Last Post Deep42
        by Deep42
         
        Started by TheRealMorford, 03-05-2026, 06:15 PM
        0 responses
        44 views
        0 likes
        Last Post TheRealMorford  
        Started by Mindset, 02-28-2026, 06:16 AM
        0 responses
        82 views
        0 likes
        Last Post Mindset
        by Mindset
         
        Working...
        X