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