As soon (i.e. immediately) as a new bar opens, I am needing to start scanning the prior bars.
I must have something wrong because it looks to me like on the first tick of a new bar that the [0] bar pointer has not yet been moved to the new bar.
Below is the code to indicate what is happening, if you put it in an indicator, on a new bar [0] is still pointing to what I would have thought would now be [1].
(If you run it on a tick chart it will move fast enough to see what is happening.)
Is this so?
If possible, how can I reliably start processing backwards on the first tick of a new bar?
Do I need to treat [0] as [1]?
If so at what point does [0] move to the current bar, making that process invalid?
Thank you.
================================================
// This method is used to configure the indicator and is called once before any bar data is loaded.
protected override void Initialize()
{
CalculateOnBarClose = true;
Overlay = true;
AutoScale = false;
}
/// Called on each bar update event (incoming tick)
protected override void OnBarUpdate()
{
Print ("--------------------------------------------");
Print ("New Bar");
Print("Bar 0 Open = "+Open[0].ToString());
DrawArrowDown("tag1", true, 0, Open[0] + TickSize, Color.Red);
if (CurrentBar < 1)
return;
Print("Bar 1 Open = "+Open[1].ToString());
DrawArrowDown("tag2", true, 1, Open[1] + TickSize, Color.Blue);
}
Comment