Tradovate

Tradovate No Data / Symbol Not Found on Expired

No candles, no bid/ask, just a No Data placeholder where price should be. Nine times out of ten you're looking at a futures contract that already expired, here's how to read the code and roll to the live one.

Verificato dal Trading Systems Team di PickMyTrade Ultimo aggiornamento
· 8 min read
Tradovate chart showing No Data / Symbol Not Found for an expired futures contract with an empty price panel

You pull up ES or NQ to trade the open, and the chart is empty. No candles, no bid/ask, just a “No Data” placeholder or a blunt “Symbol Not Found” message sitting where price should be. Before you blame your Wi-Fi or a Tradovate outage, check the symbol. Nine times out of ten this is neither: you're looking at a futures contract that has already expired. Expired contracts stop trading, stop printing quotes, and drop off the live feed, so a code that worked fine last quarter now hands you nothing.

The same root cause shows up wearing different labels, “No Data,” “Symbol Not Found,” a blank chart, “no quote available,” or an order that simply refuses to route. Every one of them clears the second you roll forward to the live front-month contract. Here's why it happens, how to switch to the correct active symbol, and how to keep an expiring contract from ambushing your automation next quarter.

Quick Checklist for No Data / Symbol Not Found

  • Read the month and year code in your symbol. ESZ5 means December 2025. If that quarter has passed, the contract is dead.
  • Roll forward to the front-month contract. Search the root symbol (ES, NQ, CL) and pick the nearest active expiration.
  • Stop hard-coding old contract codes in charts, watchlists, and alerts, they don't auto-update.
  • Chart with the continuous/front-month symbol, but confirm your platform maps it to a live tradable contract before you send an order.
  • Verify your real-time market-data subscription and signed agreements. An expired contract shows no data, but so does a lapsed feed.
  • On a prop or eval account, confirm the firm has enabled data. Evaluation accounts usually can't self-subscribe.

What “No Data / Symbol Not Found” Means in Tradovate

Every futures contract has a finite life. It gets listed, it trades for a set stretch, and then it hits its expiration date and settles, after which it no longer trades and no longer receives quotes. Request an expired contract and there's simply no live market behind it, so Tradovate has nothing to plot. That's why the symptom reads as “No Data,” a blank chart, or “Symbol Not Found” instead of an error about your account. The platform loaded fine. The instrument you asked for is just no longer alive.

This is a different animal from a blacked-out platform or a lost login. Your account, balance, orders, and positions are all intact on Tradovate's servers, the problem is the symbol, not the session. Charts for an expired or nearly-expired contract can look blank, frozen, or show gaps and stray bars around the rollover date, because volume and liquidity already walked over to the next contract month. Fix the symbol and the data snaps right back.

The key to reading, and fixing, this is knowing how a Tradovate futures symbol is built. It's the instrument root, then a one-letter month code, then the year: ES + Z (December) + 5 (2025) = ESZ5, the E-mini S&P 500 expiring December 2025. The month codes are standardized across every CME-listed product:

  • January F, February G, March H, April J
  • May K, June M, July N, August Q
  • September U, October V, November X, December Z

The letters I, L, and O are skipped so nobody mistakes them for numbers. One more wrinkle: some platforms show a single-digit year (ESZ5) and others a two-digit year (ESZ25), so check which format your Tradovate environment uses. Once you can read the code, a single glance tells you whether the contract in front of you is current or long dead.

Top Causes of No Data / Symbol Not Found

1. The contract has simply expired

This is the number-one cause, full stop. Equity-index futures like ES and NQ roll on a quarterly cycle, March, June, September, December, while energies, metals, and agriculturals roll monthly or on their own schedules. Once a contract clears its expiration, it stops trading and stops feeding data. If your chart or watchlist still points at last quarter's code, refreshing it a hundred times won't bring anything back.

2. You hard-coded an old month/year code

Charts, watchlists, DOM panels, and TradingView alerts that reference a specific dated contract, say NQH5, do not roll themselves. They keep pointing at that exact contract forever. The moment it expires, everything wired to that code goes silent: the chart, the alert, the automation, all of it. This is the most common way traders “lose” data without touching a single setting on their end.

Tradovate symbol search listing multiple contract months so the trader can pick the live front-month expiration

3. A continuous symbol hasn't rolled, or isn't tradable

Continuous symbols such as NQ1! are a charting convenience that stitch the front contract together across rollovers. Tradovate flips a continuous contract to the new month based on volume, it rolls when the next contract's trading volume overtakes the expiring one, not on a fixed calendar date. Handy for charts. But a continuous symbol isn't always a valid order symbol: fire an order on a continuous or wrongly mapped code and it can bounce with a symbol or “non-tradable” error even while the chart looks perfectly fine.

4. Your position is in the expiring contract near its roll

If you're already holding the old contract as it approaches expiry, Tradovate can drop that instrument into a liquidation-only state. You can close the position, but new orders on it get rejected because the exchange is winding the contract down. The chart may still draw thin, gappy data while the quotes dry up, which reads like a half-dead symbol.

5. No live data, expired contract or lapsed subscription

An expired contract and a missing market-data subscription throw the same visible symptom: no quotes. So before you assume it's the symbol, confirm a real-time data feed is actually running. On personal accounts that means an active exchange market-data subscription with the data agreements signed. On prop or evaluation accounts, data is usually provisioned by the firm, not something you flip on yourself.

Tradovate market data subscription and exchange agreement status screen used to confirm a live real-time feed

How to Fix No Data / Symbol Not Found: Step-by-Step

Work through these in order. In most cases the first fix, rolling to the live contract, is all you'll need.

Fixing an expired contract: roll to the front month

1

Search the root symbol

In the Tradovate symbol search or instrument selector, type the root symbol only, ES, NQ, CL, GC, and so on, instead of a dated code.

2

Pick the front-month contract

Look at the list of available expirations and pick the front-month contract: the nearest expiration that's actively trading, the one carrying the most volume. Tradovate flags the current front contract for you.

3

Confirm the code is live

Read the month/year code to confirm it's live. In mid-2026, for example, an ES front month would carry a M6 (June 2026) or U6 (September 2026) code depending on where you are in the roll, never a past quarter.

4

Load the contract

Select that contract to load it into your chart and order panel. Live quotes and candles should appear immediately.

Tradovate instrument selector with the current front-month contract highlighted next to its trading volume

Fixing hard-coded symbols in charts, alerts, and automation

1

Re-select the front month everywhere

Open each chart, watchlist, and DOM that still shows no data and re-select the current front-month contract in place of the old dated code.

2

Update alerts and strategies

In TradingView, or any external alert source wired to Tradovate, edit the alerts and strategies that reference an expired contract and repoint them at the active symbol. Alerts don't roll themselves.

3

Save the workspace and set a reminder

Save your updated workspace so the corrected symbols reload next session, and set a reminder to do this again each roll period.

Fixing a near-expiry position stuck in liquidation-only

1

Flatten the expiring contract

If new orders on your current instrument keep getting rejected as the contract nears expiry, close (flatten) the position in the expiring contract first.

2

Re-enter on the new front month

Re-open your intended position in the new front-month contract you selected above, so you're trading the live, fully liquid market.

3

Roll a few days early next time

From here on, roll a few days before expiry rather than on the last day. Timing and roll notices vary by platform and firm, so don't count on a last-minute warning.

Tradovate order panel rejecting a new order on an expiring contract flagged liquidation-only near rollover

Fixing a genuine data-feed problem

1

Check the front month too

If the front-month contract also shows no data, the issue is your feed, not the symbol. Confirm your real-time market-data subscription is active and your exchange data agreements are signed. Fees and packages vary by exchange and plan, so check Tradovate's current market-data pricing.

2

Log out and back in

Log out and back in after any data change so entitlements refresh.

3

Ask the firm on a prop account

On a prop or evaluation account, contact the firm to enable or repair market data, evaluation accounts typically can't self-subscribe through Tradovate.

Troubleshooting Table

Symptom / message What it means First fix
“No Data” on the chartSymbol points at an expired contractRoll to the current front-month contract
“Symbol Not Found”The dated code no longer resolves to a live contractSearch the root symbol and pick the active expiration
“No quote available”No live market behind the symbol (expired or unsubscribed)Confirm front-month plus an active data subscription
Chart blank / gappy near roll dateLiquidity has moved to the next monthSwitch chart and orders to the new front month
Order rejected on a continuous symbol (e.g. NQ1!)Continuous code isn't a valid order symbolTrade the explicit front-month contract instead
New orders rejected on your held contract near expiryContract in liquidation-only wind-downFlatten the old contract, re-enter the new one
Front month also shows no dataMarket-data feed lapsed or not enabledVerify subscription/agreements; on prop accounts, ask the firm

Prevent This with PickMyTrade

Rolling contracts is exactly the kind of housekeeping that's easy to forget until a dead symbol costs you a trade at the open. PickMyTrade keeps your TradingView-to-Tradovate automation pointed at a valid, tradable contract, so an expired code doesn't quietly break your entries and exits.

  • Symbol Validation, checks the order symbol before routing, so a stale or non-tradable contract code gets caught instead of firing into the void.
  • Front-Month Mapping, resolves your alert to the current active contract, so you're not hand-editing dated codes every roll.
  • Entitlement & Data Checks, respects your data-agreement and subscription state, so orders don't route into a symbol with no live feed.
  • Multi-Account Sync, mirrors the corrected order across every connected account, so one missed roll doesn't desync the rest.

Never Trade a Dead Contract Code

Start your free 5-day trial, link your alerts today and trade rejection-free, with an expired symbol caught before it breaks a trade.

Start Your Free 5-Day Trial

Frequently Asked Questions

Almost always because the symbol points at a futures contract that has already expired. Expired contracts stop trading and stop feeding quotes, so there's nothing to plot. Search the root symbol and switch to the current front-month contract to bring live data back.

Read the code. A Tradovate symbol is root + month letter + year, ESZ5 is December (Z) 2025 (5). If that month and year are in the past, the contract is dead. Equity-index futures roll quarterly in March, June, September, and December; other products roll on their own schedules.

F=Jan, G=Feb, H=Mar, J=Apr, K=May, M=Jun, N=Jul, Q=Aug, U=Sep, V=Oct, X=Nov, Z=Dec. The letters I, L, and O are skipped so they aren't mistaken for numbers.

The front month is the nearest active expiration, in practice the contract carrying the highest trading volume. In Tradovate, search the root symbol (for example ES) and pick the expiration Tradovate flags as current/front. That's the contract you should chart and trade.

NQ1!-style continuous symbols are for charting continuity across rollovers, Tradovate switches them to the new month when its volume overtakes the old one. They aren't always valid order symbols, so send actual orders on the explicit front-month contract to avoid symbol or non-tradable rejections.

Then it's a feed problem, not the symbol. Confirm your real-time market-data subscription is active and your exchange data agreements are signed, then log out and back in. On a prop or evaluation account, the firm has to enable data for you.

As a contract nears expiration, Tradovate can flag it liquidation-only, you may exit but not add new orders while the exchange winds it down. Flatten the expiring contract and re-enter on the new front month.

Don't hard-code dated contract codes in charts and alerts, roll a few days before expiry rather than on the last day, and let automation validate and map the symbol so a stale code gets caught before it breaks a trade.

This guide is for educational and informational purposes only and is not financial, investment, or trading advice. Trading futures and other leveraged products carries a substantial risk of loss and is not suitable for every investor. PickMyTrade is an independent third-party automation platform and is not affiliated with, endorsed by, or sponsored by Tradovate, Inc. All related names, logos, and trademarks are the property of their respective owners. Platform features and steps change over time, so always confirm the current process in the official platform documentation before acting.