I need an reliable method to get cumulated volumes but i get diferent results in diferent scenaries.
I'm trying this three methods:
- Volume[0] from Added period type.Day
- Volume[0] "last" from default dataseries
- Volume[0] from default dataseries when data is historical plus e.Volume from "OnMarketData" when online
I guess method 1 is the correct but not my favorite even i don't know if is suitable for price ranges. .
I'd like to know where diferences are because i'm always using Method 2 and probably is a wrong practice.
protected override void Initialize()
{
Add(PeriodType.Day,1);
CalculateOnBarClose=false;
}
protected override void OnBarUpdate()
{
if (CurrentBars[1] < 1)
return;
if (Bars.FirstBarOfSession && FirstTickOfBar)
{
volume1 = 0;
volume2 = 0;
volume3 = 0;
sToday = Time[0].Date.ToString("dd/MM/yyyy");
}
if (Historical)
volume3 = Volumes[0][0];
volume1 = Volumes[1][0];
volume2 += Volumes[0][0];
}
protected override void OnMarketData(MarketDataEventArgs e)
{
base.OnMarketData(e);
if (e.MarketDataType == MarketDataType.Last)
volume3 += e.Volume;
}

Comment