I'm trying to get the volume traded at the last tick. I'm getting wrong volume randomly for down ticks (observation so far). It's a sequence number instead of actual volume. Please let me know if there's a better and accurate way to get volume traded at last tick.
double last;
protected override void OnMarketData(MarketDataEventArgs e)
{
if (e.Price > last) {
Print("Up " + e.Volume);
}
else if (e.Price < last){
Print ("Down " + e.Volume);
}
last = e.Price;
}
Output:
Down 24
Down 322030
Up 2
Down 322032
Up 2
Down 322034
Up 18
Up 44
Down 11
Up 45
Down 11
Up 44
Down 1
Down 322035
Up 11
Up 45
Down 16
Up 44
Down 17
Up 43
Down 24
Up 41
Down 26
Up 39
Down 27
Up 36
Down 35
Up 35
Down 38
Up 1
Down 322036
Up 6
Down 322042
Up 3
Down 322045
Up 1
Down 322046
Up 1
Down 322047
Up 1
Down 322048
Up 1
Down 322049
Up 1
Down 322050
Up 1
Down 322051
Up 2
Down 322053
Up 2
Down 322055
Up 39
Down 1
Up 37
Down 25
Up 36
Down 35
Comment