protected override void OnMarketData(MarketDataEventArgs e)
{
// Print some data to the Output window
if (e.MarketDataType == MarketDataType.Last)
Print("Last = " + e.Price + " " + e.Volume);
else if (e.MarketDataType == MarketDataType.Ask)
Print("Ask = " + e.Price + " " + e.Volume);
else if (e.MarketDataType == MarketDataType.Bid)
Print("Bid = " + e.Price + " " + e.Volume);
}
While running this live I noticed e.Price values when e.MarketDataType was Ask or Bid having values not equal to the current Ask Bid values as seen in the T&S window. I was expecting these price values to be the same and therefore assumed e.Volume of one the event as representative of the Ask Volume/Size or Bid Volume/Size. Based on my observation of e.Price values not equal to the current Ask or Bid price, it appears I do not have a good understanding of what data comes from OnMarketData invocations.
What is the structure/relationship of OnMarketData e.Price and e.Volume for Ask and Bid events with resect to the T&S Bid, Ask price and volume/size?
I believe OnMarketDepth returns e.price where there is a change in volume/size at the respective price level (at or above the ask or at or below the bid) and would expect e.price values not equal to the current ask bid price on these invocations.
Where can I get a better description or understanding of e.Price and e.Volume values with respect to the market action for both OnMarketData and OnMarketDepth?
I also noticed during live trading with OnMarketData, I only received Ask and Bid events, no other events appeared over the hour I watched it closely (no Last events). Is this to be expected?
My provider is AMP using CQG
Comment