Hi all,

I'm running a live algo on MYM (Micro Dow futures) via Interactive Brokers and I've noticed a consistent discrepancy between the bar data my algorithm receives from QC and what CME-direct feeds (TradingView) show for the same bars. On normal sessions the gap is small, but today I have a very clear example that helped me identify what I think is the root cause.

Date/Time: 2026-04-17, Bar 09:30–09:35 ET Symbol: MYM front month (MYM18M26)

 

 

QC bar:           Open 49,314 → Close 49,416 | Momentum: +0.207%
TradingView/CME:  Open 49,275 → Close 49,445 | Momentum: +0.350%

Bot log line:

 

 

[MYM-NEAR-THR] Bar:09:30 | 49314→49416 | Mom:0.207% | Thr:0.230% | Gap:0.023% | ADX:24.0 | Vol:6015

The interesting part is that the discrepancy is not just in the close — it's also in the open. The QC open (49,314) is 39 points higher than the actual CME open (49,275). This suggests the feed may be missing the first prints of the 09:30 bar and constructing the open from a slightly later trade. The result is my algorithm only captures ~60% of the actual bar momentum on volatile bars.

I had already lowered my burst threshold from 0.0025 to 0.0023 to compensate for a previously observed ~0.02–0.04% discount on normal bars. But on event-driven volatile bars, the discrepancy is an order of magnitude larger and no static threshold correction can handle it.

My questions:

  1. Which data provider does QC use for live MYM bars when running through IBKR — Polygon or IBKR's own feed?
  2. How is the open price of the 09:30 bar constructed — is there a known delay in capturing the opening prints for CME futures?
  3. Has anyone else observed this, and is there a workaround?

This is a live account so understanding the root cause matters quite a bit. Happy to share more log data if useful. Thanks!