TLDR: why marketDataUpdate.Price >= marketDataUpdate.Ask and marketDataUpdate.Price <= marketDataUpdate.Bid are not picking up all the volume?
My code that detects buy and sell ticks:
protected override void OnMarketData(MarketDataEventArgs marketDataUpdate)
{
if (marketDataUpdate.MarketDataType != MarketDataType.Last)
return;
if (marketDataUpdate.Price >= marketDataUpdate.Ask)
{
UpCount = UpCount + 1;
}
else if (marketDataUpdate.Price <= marketDataUpdate.Bid)
{
DownCount = DownCount + 1;
}
TotalCount = UpCount + DownCount;
}​

Comment