The calculation's pretty simple. The current value is (today's total volume / (average daily volume * a ratio that changes based on time of day)).
The ratio's pretty easy to calculate: it evaluates to a number between 0 and 1 based on the time of day, and it plots correctly. The problem is when I try to get the total volume and average daily volume for the stock on each bar. The error message is
Error on calling 'OnBarUpdate' method for indicator 'RelativeVolume' on bar 0: You are accessing an index with a value that is invalid since its out of range. I.E. accessing a series [barsAgo] with a value of 5 when there are only 4 bars on the chart.
Even if I strip this thing down to just display the current day's volume, it gives the same error. Here's what that code looks like:
protected override void Initialize()
{
Add(PeriodType.Day, 1);
Add(new Plot(Color.FromKnownColor(KnownColor.Black), PlotStyle.Line, "Plot0"));
Overlay = false;
CalculateOnBarClose = false;
}
protected override void OnBarUpdate()
{
Plot0.Set(Volumes[1][0]);
}
Any ideas what I'm doing wrong?
Comment