Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Default value for DataSeries?

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

    Default value for DataSeries?

    The following code (Renko Bars) results in Close[0] being assigned to non-.Set series values. Is that supposed to happen? and how do I prevent it? It also occurs with .Reset.

    if(Close[0] > Open[0] && Close[1] < Open[1])//Turning North
    {Print("lb");
    downbar1 = CurrentBar;//CurrentBar-1;
    deltabars = downbar1 - downbar2;//Number of bars in the move
    deltaprice = Low[0] - Low[deltabars];//Close[1] - Close[deltabars+1];//Price change per bar
    for (int j = 1; j <= deltabars; j++)
    {
    LowerBand.Set(j,Low[deltabars] + (deltabars-j)*deltaprice/deltabars);//j+1,Close[downbar1-downbar2+1] + (deltabars-j)*deltaprice/deltabars);
    }
    LowerBand.Set(Low[0]);//1,Close[1]);
    downbar2 = downbar1;
    if(drawDots) DrawDot(CurrentBar + "dot",true,0,Low[0],Color.SpringGreen);//1,Close[1],Color.SpringGreen);
    DrawRegion("tag1", CurrentBar, 0, UpperBand, LowerBand, Color.Empty, Color.Violet ,2);
    }

    if(Close[0] < Open[0] && Close[1] > Open[1])//Turning South
    {Print("ub");
    upbar1 = CurrentBar;//CurrentBar-1;
    deltabars = upbar1 - upbar2;
    deltaprice = High[0] - High[deltabars];//Close[1] - Close[deltabars+1];
    for (int j = 1; j <= deltabars; j++)
    {
    UpperBand.Set(j,High[deltabars] + (deltabars-j)*deltaprice/deltabars);//j+1,Close[upbar1-upbar2+1] + (deltabars-j)*deltaprice/deltabars);
    //Print(j + ", " + CurrentBar + ", Upbar1: " + upbar1 + ", upbar2: " + upbar2 + ", deltabars: " + deltabars + ", deltaprice: " + deltaprice + ", UpperBand[" + j + "]: " + UpperBand[j]);
    }
    UpperBand.Set(High[0]);//1,Close[1]);
    upbar2 = upbar1;
    if(drawDots) DrawDot(CurrentBar + "dot",true,0,High[0],Color.HotPink);//1,Close[1],Color.HotPink);
    DrawRegion("tag1", CurrentBar, 0, UpperBand, LowerBand, Color.Empty, Color.Violet ,2);
    }

    Print((Bars.BarsSinceSession+1) + " ub1 " + UpperBand[1] + " ub0 " + UpperBand[0] + " lb1 " + LowerBand[1] + " lb0 " + LowerBand[0]);

    #2
    Hi snaphook,

    Yes, there will be a dummy value generated there. You can use ContainsValue() to check that a plot is valid before accessing it. This sample can help with this technique:

    Ryan M.NinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by Geovanny Suaza, 02-11-2026, 06:32 PM
    0 responses
    626 views
    0 likes
    Last Post Geovanny Suaza  
    Started by Geovanny Suaza, 02-11-2026, 05:51 PM
    0 responses
    359 views
    1 like
    Last Post Geovanny Suaza  
    Started by Mindset, 02-09-2026, 11:44 AM
    0 responses
    105 views
    0 likes
    Last Post Mindset
    by Mindset
     
    Started by Geovanny Suaza, 02-02-2026, 12:30 PM
    0 responses
    562 views
    1 like
    Last Post Geovanny Suaza  
    Started by RFrosty, 01-28-2026, 06:49 PM
    0 responses
    567 views
    1 like
    Last Post RFrosty
    by RFrosty
     
    Working...
    X