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

Can you call an indicator from "Initialize()"?

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

    Can you call an indicator from "Initialize()"?

    Hi,

    I have developed an indicator that plots swing tops and bottoms on a chart. I call it "SwingIndicator". I would like to pass the results "swing tops and bottoms" to another indicator for further manipulation.

    The problem is that a swing top or bottom can only be identified in retrospect. For example if you have a series of up bars, a swing top is only confirmed when a down bar occurs.

    Therefore I have to use:
    BarsBack1 = CurrentBar-LastUpDayBar;
    BarsBack2 = CurrentBar-LastDownDayBar;
    tops.Set(BarsBack, High[BarsBack1]);
    bottoms.Set(BarsBack, Low[BarsBack2]);

    In my second indicator I would like to iterate through my swing tops and bottoms.

    I was planning to achieve this with the following code:

    public class MyPlot : Indicator
    {
    private DataSeries myTops;
    private DataSeries myBottoms;

    protected override void Initialize()
    {
    myTops = new DataSeries(this);
    myBottoms = new DataSeries(this);

    // I am exposing two data series objects in SwingIndicator
    myTops = SwingIndicator().Tops;
    myBottoms = SwingIndicator().Bottoms;

    }
    protected override void OnBarUpdate()
    {

    If (High[0] == myTops[0] {do something;}
    }

    I was hoping that calling SwingIndicator from Initialize() will populate myTops and myBottoms with swing tops/bottoms so I can use them in my new indicator.

    For every bar i will know in advance if it is a swing top or bottom and I will be able to act accordingly. Obviousely this is only applicable for historical data and backtesting.

    The code does not behave as expected. I would appreciate any suggestions and guidance.

    Cheers,
    Miha

    #2
    $miha, welcome to the forums - we normally advise to not process sensitive logic like this in the Initialize(), but on the first OnBarUpdate() call like

    if (CurrentBar == 0)
    {
    }

    On another note - have you already looked into our default 'Swing' indicator?

    BertrandNinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by Waxavi, 04-19-2024, 02:10 AM
    4 responses
    53 views
    0 likes
    Last Post sonia0101  
    Started by cmtjoancolmenero, Today, 03:58 PM
    0 responses
    3 views
    0 likes
    Last Post cmtjoancolmenero  
    Started by Segwin, 05-07-2018, 02:15 PM
    11 responses
    1,777 views
    0 likes
    Last Post aligator  
    Started by trilliantrader, Today, 03:01 PM
    1 response
    7 views
    0 likes
    Last Post NinjaTrader_Clayton  
    Started by geddyisodin, Today, 05:20 AM
    6 responses
    36 views
    0 likes
    Last Post geddyisodin  
    Working...
    X