Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

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.
      Chris L.NinjaTrader Customer Service

      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 andrewtrades, Today, 04:57 PM
        1 response
        8 views
        0 likes
        Last Post NinjaTrader_Manfred  
        Started by chbruno, Today, 04:10 PM
        0 responses
        6 views
        0 likes
        Last Post chbruno
        by chbruno
         
        Started by josh18955, 03-25-2023, 11:16 AM
        6 responses
        436 views
        0 likes
        Last Post Delerium  
        Started by FAQtrader, Today, 03:35 PM
        0 responses
        7 views
        0 likes
        Last Post FAQtrader  
        Started by rocketman7, Today, 09:41 AM
        5 responses
        19 views
        0 likes
        Last Post NinjaTrader_Jesse  
        Working...
        X