All option guides
A visible price touch is not the same record as your order's execution eligibility8 min read

Why Wasn't My Futures Limit Order Filled When Price Touched It?

Learn why a futures limit order can remain unfilled even when a chart or last trade touches the price, including queue priority, bid-ask side, contract month, timing, and data-feed limits.

Prepared by Mark · Primary sources below

Direct answer

A chart touching your futures limit does not prove your order was entitled to a fill. Check the contract, active status, bid or ask side, queue priority, available quantity, timestamps, and matching algorithm.

Last price and executable quote are different records

A chart often highlights the last completed trade.

A resting buy limit interacts with eligible sell interest.

A resting sell limit interacts with eligible buy interest.

Seeing a last trade at your price does not show how much quantity was available for your order or where you stood in queue.

A chart candle can also compress many events into one bar.

How to read futures Time & Sales explains why a print is not a replay of the order book.

Queue position matters at the same price

Suppose you place a buy limit for 3 contracts at 5,000.00.

There are already 20 contracts ahead of you at the same price under a FIFO-style example.

Only 12 contracts trade against that bid before the market moves away.

Your order can remain unfilled because the quantity ahead of you absorbed the executions.

A touch at 5,000.00 therefore does not guarantee that enough sell quantity reached your place in line.

CME products can use different matching algorithms, so do not assume pure FIFO for every contract.

The wrong side of the spread can create a false expectation

For a buy limit, the relevant opposite side is the ask or sell interest.

For a sell limit, the relevant opposite side is the bid or buy interest.

A platform can show last trade, bid, ask, and chart price as separate fields.

If a buy limit is 5,000.00 but the best ask never becomes executable at that level for your order, a nearby chart print is not enough evidence of a missed fill.

Record bid, ask, and trade prints with timestamps.

Contract month and session must match exactly

A continuous futures chart can display a synthetic or rolled series.

Your order belongs to one specific contract month.

A price touch in another month does not make your order eligible.

The same problem can occur when comparing regular-session data with an overnight order or using a delayed feed.

Always record the exact symbol, month, venue, session, and time zone.

Futures trade date versus calendar date explains why overnight timestamps also need context.

Order state can change before the price touch

An order can be canceled, expired, rejected, replaced, or partially filled before a later market event.

A modified order can also receive a different priority treatment under venue rules.

Do not rely on the fact that you remember submitting the order.

Use the final order record.

Rejected versus unfilled futures orders explains why accepted, working, canceled, expired, and filled are different states.

A verified trade-through deserves closer reconciliation

There is an important difference between a price touch and a verified trade-through.

If a resting buy limit at 5,000.00 was active and eligible, and executions truly occurred below 5,000.00 in the same contract and venue, that is stronger evidence than a simple touch.

Before concluding there was an execution error, verify timestamps, order status, quantity ahead, order modifications, matching rules, and data corrections.

If those records still conflict, use the broker or exchange execution report for investigation. [!TRYMARK] Rebuild a missed-fill claim Take one hypothetical buy limit at 5,000.00. Record contract month, active time, bid, ask, Time & Sales, quantity ahead, fills at the level, and final order status before deciding whether the order was actually skipped.

Use a missed-fill checklist

Confirm exact product and contract month.

Confirm the order was accepted and working.

Record order ID and timestamp.

Record bid, ask, and last trade separately.

Check visible or available queue information if provided.

Check the product's matching algorithm.

Check whether the order was modified.

Check cumulative filled and remaining quantity.

Compare the broker order log with venue market data before escalating.

This guide explains execution reconciliation, not a promise that a visible price touch should fill every limit order.

Common questions

Why didn't my futures limit order fill when the chart touched my price?

The chart may show only a last trade, while your order may have been behind other orders, on the wrong contract month, inactive by then, or lacking enough opposite-side quantity to reach it.

If futures traded at my limit price, should I always be filled?

No. At the same price, other orders can have priority and consume the available quantity first. Product-specific matching algorithms also matter.

What if futures traded through my limit price?

A verified trade-through is more significant. Confirm the exact contract, active order state, timestamps, modifications, and venue records before concluding there was an execution problem.

Does a candle touching my price prove the market traded there while my order was active?

No. A candle aggregates data over time and may use another contract, session, or feed. Use timestamped order and market records for reconciliation.

Sources and further reading

Related guides