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

IndicatorBase objects

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

  • koganam
    replied
    Originally posted by Locke View Post
    Here I go again poking around where I shouldn't.

    When you call Add() in Initialize() in a strategy, I typically saw it written as :
    Add(SMA(10));

    But the compiler shows it's looking for an IndicatorBase object. So just for fun I went:

    private IndicatorBase mySMA = null;

    mySMA = SMA(10);
    Add(mySMA);
    mySMA.Plots[0].Pen.Color = Color.Orange;

    And wow, everything worked. Then I went to look in the docs and did a search for IndicatorBase and NOTHING CAME UP!

    I'm very new at all of this - does this mean this is a new class? Or just something as an end user we shouldn't mess with? I'm trying to learn HOW to learn Ninjascript, and finding an important class NOT in the docs scares me.

    Ok, just wondering. I thought making an object reference for the indicator would be better than calling (or typing out) full indicators everytime you need to work with one. Maybe there is no speed difference at all and I just wasted everyone's time who read this, haha.
    It is not documented because it is a base class: specifically the base class from which the Indicator class inherits. There are certain advantages to what you have written, but using such code would still fall in unsupported territory. You just have to remain aware of it.

    Leave a comment:


  • NinjaTrader_PatrickH
    replied
    Hello Locke,

    Thank you for your post.

    This would just be considered unsupported code.

    Leave a comment:


  • Locke
    started a topic IndicatorBase objects

    IndicatorBase objects

    Here I go again poking around where I shouldn't.

    When you call Add() in Initialize() in a strategy, I typically saw it written as :
    Add(SMA(10));

    But the compiler shows it's looking for an IndicatorBase object. So just for fun I went:

    private IndicatorBase mySMA = null;

    mySMA = SMA(10);
    Add(mySMA);
    mySMA.Plots[0].Pen.Color = Color.Orange;

    And wow, everything worked. Then I went to look in the docs and did a search for IndicatorBase and NOTHING CAME UP!

    I'm very new at all of this - does this mean this is a new class? Or just something as an end user we shouldn't mess with? I'm trying to learn HOW to learn Ninjascript, and finding an important class NOT in the docs scares me.

    Ok, just wondering. I thought making an object reference for the indicator would be better than calling (or typing out) full indicators everytime you need to work with one. Maybe there is no speed difference at all and I just wasted everyone's time who read this, haha.

Latest Posts

Collapse

Topics Statistics Last Post
Started by f.saeidi, Today, 10:19 AM
1 response
4 views
0 likes
Last Post NinjaTrader_BrandonH  
Started by kujista, Today, 06:23 AM
5 responses
15 views
0 likes
Last Post kujista
by kujista
 
Started by traderqz, Yesterday, 09:06 AM
2 responses
17 views
0 likes
Last Post traderqz  
Started by traderqz, Today, 12:06 AM
3 responses
6 views
0 likes
Last Post NinjaTrader_Gaby  
Started by RideMe, 04-07-2024, 04:54 PM
5 responses
28 views
0 likes
Last Post NinjaTrader_BrandonH  
Working...
X