Skip to main content
A continuous symbol such as MNQ1! follows a futures market through contract expiries. A dated symbol such as MNQU6 always returns its own prices.

Back-adjusted charts

Continuous charts on web shift older contracts’ prices by default to reduce gaps when the chart switches contracts. The current contract’s prices stay unchanged. Open Chart Settings → Chart → Continuous contracts and change Adjust prices for contract changes. This saved preference applies to all continuous charts. Turn it off to view the original, unadjusted history. Each mode keeps its own saved drawings. Drawings saved on an unadjusted continuous chart remain available when price adjustment is off. Back-adjusted history still follows the contracts that were active at each point in time. It can therefore differ from a chart showing only MNQZ6 throughout the same period. Orders, positions, and P&L use actual dated-contract prices in either mode.

Discover symbols

Use authenticated GET /md/continuous to discover available symbols and their current underlyingSymbol. Only advertise an alias returned by this endpoint.
Each entry identifies the continuous symbol, root, current underlyingSymbol, underlyingSince, rollPolicy, adjustment, historyStart, and revision. rollPolicy is cme-session-roll; the base adjustment is none. supportedAdjustments lists the available history modes, and defaultAdjustment identifies the recommended chart mode, backward-difference. underlyingSince and historyStart use Unix seconds. Availability still depends on the chart interval and your market-data access.

Pending rollovers

The current underlying changes only during a regular CME closure. A volume change during an open session can nominate the next contract without changing the current selection. US equity index mini and micro counterparts follow the same contract-month policy, including the customary quarterly rollover. An entry can include an optional pendingRoll: Display this as an upcoming change. Keep using the entry’s top-level underlyingSymbol until a refreshed response confirms the new contract. A pending plan can change, be cancelled, or be deferred to a later closure. Its timestamps do not confirm activation, and its absence does not confirm a roll. If the incoming contract is not ready in time, the change waits for another closure. A missed rollover does not switch the underlying after reopening or rewrite an earlier open session’s chart.

Request history

Pass the continuous symbol to /md/historical or /md/historical/latest. Set adjustment=backward-difference to request back-adjusted prices:
Continuous responses include resolvedSymbol, seriesRevision, and adjustment. Verify the returned mode and keep caches separate for each mode. Refresh the symbol mapping when it changes, discard responses for a previous mapping, and reload the chart before combining the new history with live updates. For API compatibility, omitting adjustment still returns unadjusted prices, as does adjustment=none. Dated symbols always return their own unadjusted history. If the reference prices needed for adjustment are unavailable, an adjusted request fails instead of returning unadjusted prices under that mode.

Live data and orders

Subscribe to live data using the current dated underlyingSymbol. A live candle can update the continuous chart only when its entire interval is at or after underlyingSince; reload stitched history for a candle that crosses that time. Submit new orders using the dated contract, and re-check that mapping when preparing an order. Never submit a pending target merely because applyAfter has passed. Continuous symbols are chart aliases, not executable instruments. Changing the selected chart does not transfer existing orders or positions to another contract. Keep their original contract identifiers when displaying, modifying, or closing them, including when adding or editing stop-loss and take-profit brackets. For example, an order placed through MNQ1! while its underlying is MNQU6 creates an MNQU6 order or position. After the continuous chart rolls to MNQZ6, that existing trade, its brackets, and its close remain on MNQU6. Only new orders prepared from the updated continuous selection use MNQZ6.