I want to count the number of Bid and Ask ticks and volume for each candle. But something is not correct.
If I have a 30 tick candle, I think i would have AskTick + BidTick = 30, correct?
What am I missing?
Thanks in advance.
Morris
int AskTick = 0;
int BidTick = 0;
long AskVol = 0;
long BidVol = 0;
protected override void OnMarketData(MarketDataEventArgs e)
{
// Print some data to the Output window
if (e.MarketDataType == MarketDataType.Last) {
// Totals for each candle
Print(e.Time + " Last = " + e.Price + ", Vol = " + e.Volume);
Print("Ask " + AskTick + " " + AskVol);
AskTick=0;
AskVol=0;
Print("Bid " + BidTick + " " + BidVol);
BidTick=0;
BidVol=0;
}
else if (e.MarketDataType == MarketDataType.Ask) {
AskTick++;
AskVol+= e.Volume;
Print(e.Time + " Ask = " + e.Price + ", Vol = " + e.Volume); // For each Ask tick
}
else if (e.MarketDataType == MarketDataType.Bid) {
BidTick++;
BidVol+= e.Volume;
Print(e.Time + " Bid = " + e.Price + ", Vol = " + e.Volume); // For each Bid tick
}
}
Example of my results:
5/4/2022 12:37:31 AM Ask = 4174.5, Vol = 4
5/4/2022 12:37:31 AM Bid = 4174.25, Vol = 10
========================= Is First Tick
5/4/2022 12:37:31 AM 35
========================= Is First Tick
Ask 157 1090
Bid 157 988
5/4/2022 12:37:31 AM Last = 4174.5, Vol = 2
========================= Is First Tick
Ask 0 0
Bid 0 0
5/4/2022 12:37:31 AM Last = 4174.5, Vol = 1
5/4/2022 12:37:31 AM Ask = 4174.75, Vol = 15
5/4/2022 12:37:31 AM Ask = 4174.75, Vol = 14
5/4/2022 12:37:31 AM Ask = 4174.75, Vol = 13
Comment