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

Indicator values in strategy

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

  • debarr76
    replied
    Sorry, that's the bbIndy variable, I misspelled when posting. Jesse's advice helped me get it working.

    Leave a comment:


  • koganam
    replied
    if(indy[0] == 1) { ... throws exception ... }
    What object is indy?

    Leave a comment:


  • NinjaTrader_Jesse
    replied
    Hello,

    Thank you for the question.

    This would be because you are creating a new instance in this case.

    The new keyword would not be needed for an indicator in NinjaTrader. If you think of a indicator being a Method rather than a type, it is easier to see the structure of how indicators work.

    you would only need to remove the new keyword, additionally I would suggest putting the indicator in DataLoaded or Historical rather than Configure.

    Code:
    else if (State == State.Historical)
    {
    	bbIndy = MG_BollingerBounce();	
    }
    I look forward to being of further assistance.

    Leave a comment:


  • debarr76
    started a topic Indicator values in strategy

    Indicator values in strategy

    Hello, I'm trying to access my custom indicator's value like below. It only works when I call through a new instance but throws an exception when calling through a variable:

    Strategy 'MyCustomStrategy': Error on calling 'OnBarUpdate' method on bar 16269: You are accessing an index with a value that is invalid since it is out-of-range. I.E. accessing a series [barsAgo] with a value of 5 when there are only 4 bars on the chart.
    Code:
    public class MyCustomStrategy : Strategy
    {
    
    		private MG_BollingerBounce bbIndy;
    		
    
    		protected override void OnStateChange()
    		{
    			if (State == State.SetDefaults)
    			{
    				... etc ...
    			}
    			else if (State == State.Configure)
    			{
    				bbIndy = new MG_BollingerBounce();	
    			}
    		}
    
    		protected override void OnBarUpdate()
    		{
    			
    			if(MG_BollingerBounce()[0] == 1) { ... works .... }
     
                            if(indy[0] == 1) { ... throws exception ... }
    
                    }

Latest Posts

Collapse

Topics Statistics Last Post
Started by judysamnt7, 03-13-2023, 09:11 AM
4 responses
59 views
0 likes
Last Post DynamicTest  
Started by ScottWalsh, Today, 06:52 PM
4 responses
36 views
0 likes
Last Post ScottWalsh  
Started by olisav57, Today, 07:39 PM
0 responses
7 views
0 likes
Last Post olisav57  
Started by trilliantrader, Today, 03:01 PM
2 responses
22 views
0 likes
Last Post helpwanted  
Started by cre8able, Today, 07:24 PM
0 responses
10 views
0 likes
Last Post cre8able  
Working...
X