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