I have been trying to write a cumulative delta indicator but the volume i get from the OnMarketUpdate event is much larger than the normal volume as seen in the vol indicator.
Can somebody help me figure out what i have forgotten or done wrong ? I have tested in Market Replay mode. The symbol i am testing with is /NQ 09-19 5 minute Timeframe.
My time is set to EST+6.
I have posted the code below. Thanks in Advance.
protected override void OnBarUpdate()
{
if(Time[0].Hour == 00 && Time[0].Minute == 05)
{
cumulativeVol = 0;
}
deltaAsk = 0;
deltaBid = 0;
}
protected override void OnMarketData(MarketDataEventArgs marketData)
{
if(marketData.Price > 0)
{
if (marketData.Price >= marketData.Ask)
{
if(marketData.Volume>100)
Print(marketData.Volume + " contracts traded at asking price " + marketData.Ask);
cumulativeVol += marketData.Volume;
deltaAsk += marketData.Volume;
}
else if (marketData.Price <= marketData.Bid)
{
if(marketData.Volume>100)
Print(marketData.Volume + " Contracts Traded at bidding price " + marketData.Bid);
cumulativeVol -= marketData.Volume;
deltaBid -= marketData.Volume;
}
}
Values[0][0] = deltaAsk;
Values[1][0] = deltaBid;
Values[2][0] = cumulativeVol;
}

Comment