“Symbol Mapping Not Found” means PickMyTrade looked up the symbol your alert sent and found no Settings row with that exact string. The order was never built, so your broker never saw it. Send the continuous symbol (MNQ1!), pick it from the alert generator’s list, and confirm the row exists.
Table of Contents
- What Does “Symbol Mapping Not Found” Mean?
- Symptom, Cause and Fix at a Glance
- Why Does a Row That Exists Still Fail?
- The _USER suffix on rows you create
- Suffixes on forex and CFD platforms
- How Does PickMyTrade Roll a Continuous Symbol?
- What the Settings tab now shows you
- Why TradingView, PickMyTrade and Your Broker Roll on Different Days
- What Does Override Mapping Actually Switch Off?
- When pinning a contract is the right call
- Why Does Micro Gold Fail Weeks Before Expiry?
- Which Contracts Roll Next?
- Why Does TradingView Send MNQZ2026 When Your Broker Wants MNQZ6?
- If you’re on Rithmic
- If you’re on Interactive Brokers
- If you’re on TradeStation
- If you’re on ProjectX (TopstepX)
- If you’re on Tradovate
- The Roll Moves Your Mapping, Not Your Position
- How to Check a Failing Alert Before You Contact Support
- Frequently Asked Questions
- What Should You Do Before the December Roll?
That fixes the first half of the problem. The second half shows up once a quarter: the row exists, but it points at a contract that’s expiring or already gone. This guide covers both, with the dates for the next four months of rolls.
Key Takeaways
- “Symbol Mapping Not Found” is a PickMyTrade lookup failure, not a broker rejection. No order reached your broker.
- PickMyTrade switches a continuous symbol 4 days before expiry and warns you 6 days out. Micro Nasdaq’s December contract switches on Monday, December 14.
- Rows you create yourself, and rows with Override Mapping ticked, never roll on their own.
- Micro gold is the trap: Tradovate stops new positions around first notice, about four weeks before the contract’s last trading day.
What Does “Symbol Mapping Not Found” Mean?
Symbol mapping is the Settings row that turns what TradingView sends, such as MNQ1!, into the contract your broker trades, such as MNQZ6. “Symbol Mapping Not Found” means that lookup came back empty. PickMyTrade stops right there, so nothing reaches Interactive Brokers, Rithmic, TradeStation or any of its other 7 connections.
The message is PickMyTrade’s, not your broker’s. You’ll see it on every connection, because the lookup runs before any broker is contacted. Calling your broker about it just wastes a trading session.
PickMyTrade’s alert errors reference gives the short fix: map the symbol before placing the order. The app now checks for you too, and on the pickmytrade.io app, picking an unmapped symbol in the alert generator shows “Symbol mapping for MNQ1! not found. Create a setting first,” with a button that opens Create Settings.
The Tradovate app on the .trade site has its own version: “No symbol mapping exists yet. Create a setting to map this symbol before generating alerts.” So why wait for a live signal to fail? You can catch a missing row while you’re still building the alert, long before the market gets any say in it.
Symptom, Cause and Fix at a Glance
Here’s the whole post in one table. Most mapping failures fall into one of these 7 rows, and the exact log text tells you which.
| What you see | Why it happens | What to do |
|---|---|---|
Symbol Mapping Not Found | No row carries the exact string the alert sent | Create the row, or pick a mapped symbol in the alert generator |
Unable to find mapping for this M2K, Please create setting for M2K symbol. | The row exists under another string, such as M2K1! | Match the string character for character |
Expired contract MNQ1!, Please use latest symbol | The row still points at a dead contract month | Untick Override Mapping, or edit the broker symbol |
Liquidation only, contract is about to expire. | Tradovate closed that month to new positions | Pin the next month until the switch date passes |
| Fills land on the old month after a roll | The row is custom or overridden, so it never rolled | Update the broker symbol yourself |
| Micro gold refuses orders in late November | First notice comes weeks before last trade | Move to the February contract before November 27 |
| Old position still open after the switch | The roll moves the mapping, not the position | Close or roll it yourself |
Why Does a Row That Exists Still Fail?
The lookup is exact, down to the last character. M2K1! and M2K are 2 different strings, so a row for one won’t catch an alert that sends the other. The log names the string it looked for, as in Unable to find mapping for this MGC1, Please create setting for MGC1 symbol.
Copy the string from that line rather than retyping it, then search Settings for it. If nothing comes back, the alert and the row disagree, and one of them has to change. Change the alert where you can.
The _USER suffix on rows you create
On the pickmytrade.io app, a row you add through Create Settings gets saved under a new name. The form says it plainly: “Custom symbols will be saved with a _USER suffix (e.g. NQ1! → NQ1!_USER).” It previews the saved name as you type.
The alert generator then lists those rows with the suffix and labels them “custom-created symbols.” So build the alert by picking the symbol from the generator’s list. Typing NQ1! by hand into a JSON body won’t necessarily match a row saved as NQ1!_USER, and the Tradovate app on the .trade site doesn’t add the suffix at all.
Suffixes on forex and CFD platforms
TradeLocker, Match-Trader and cTrader (Beta) instruments often carry a broker suffix such as NAS100.X or XAUUSD.X. The suffix is part of the string. Strip it and you get Unable to find mapping for this NAS100, Please create setting for NAS100 symbol.
How Does PickMyTrade Roll a Continuous Symbol?
Contract rollover is the switch from an expiring futures month to the next one. PickMyTrade does it for its default rows 4 days before expiry and sends a notice 6 days out. For Micro Nasdaq’s December contract, which expires Friday, December 18, the notice lands Saturday, December 12 and MNQ1! points at March from Monday, December 14.
The contract rollover rule gives its own example. NQZ2024 expired on Friday, December 20, 2024, so NQ1! moved to NQH2025 on Monday, December 16. The last switch ran on Monday, September 14, 2026, four days before the September contracts expired.
That page opens with a paragraph that confuses people. It still advises naming the exact contract “while we plan to enhance this feature in the future,” and the very next paragraph describes the enhancement that shipped.
The pickmytrade.io copy was updated on August 31, 2026 and still carries the old clause. So read past it. The continuous symbol with automatic rollover is the normal setup.
What the Settings tab now shows you
The pickmytrade.io app got a quiet upgrade that makes rolls easier to spot. We analyzed the app’s public code on September 25, 2026, and the Settings table now has a Contract Expiry Date column. A row within 7 days of expiry gets an “Expires in 5d” style badge, and on expiry day it reads “Expires today.”
Rows past expiry get a struck-through date and an “Expired” badge. They’re also hidden from the table by default, which catches out plenty of traders who go looking for a row they know they created. Tick “Include Expired Contracts” in the table’s filter menu to bring them back.
Has a symbol you know you mapped vanished from the list? That filter is almost always why.
Why TradingView, PickMyTrade and Your Broker Roll on Different Days
Three separate clocks decide which contract you’re trading, and none of them is synced to the others. TradingView switches its chart, PickMyTrade switches its mapping 4 days out, and your broker decides when it stops taking new positions. A failure near expiry usually means 2 of the 3 disagree for a few days.
TradingView’s chart clock runs on volume. Its continuous chart switches once the next contract’s daily volume overtakes the current one, using a rule set per symbol from past rolls. In 2022, GC1! moved to December on July 28, a month before the August contract expired on August 29.
Yet TradingView also describes 1! as rolling when the front month expires. The two descriptions don’t match, so don’t time anything off the chart.
PickMyTrade’s clock is fixed at 4 days before expiry, the same count for every default row. Tradovate’s is the loosest of the three. Its roll dates sit about a week before expiration, and from then on its Trade Desk can restrict a contract to liquidation only at any point.
When that happens you’ll see “Liquidation only, contract is about to expire. Please contact the Trade Desk.” Despite the wording, you don’t need to call anyone. You need to trade the next month.
On an index contract that restriction can land a few days before PickMyTrade’s switch. For those days, your mapping is right and the broker still says no.
What Does Override Mapping Actually Switch Off?
Override Mapping is the checkbox that turns automatic rollover off for 1 row. Its label in the app reads, typo included: “Override Mapping ( if you override default mapping than automatic rollover would not happen )”. Tick it and that row’s contract month is yours to update from then on.
It doesn’t appear everywhere. In the app code we analyzed, the checkbox shows on the Tradovate app and on Rithmic rows in the pickmytrade.io app. Interactive Brokers futures rows ask for a Maturity Date instead, which pins them to one contract.
PickMyTrade’s TradeStation guide uses MNQZ5 as its example symbol, which is a pinned month too. So on those connections, you’re rolling by hand whether you like it or not.
There’s a second switch that most traders never notice. Save a new row, or change the broker symbol on an existing one, and a “Manual Contract Rollover Notice” pops up before it saves:
“Please note that we do not offer automatic rollover of contracts, as we utilize manual order-routed mapping. Therefore, you will be required to manually rollover your contract at the time of expiration.”
So a custom row doesn’t roll, whether or not you ticked anything. That explains a complaint support hears every quarter, where the automation worked for months and then filled on a dead contract. Only the default rows roll themselves.
When pinning a contract is the right call
Pinning a month is right in 2 cases: you want a specific expiry, or your broker closed the front month before PickMyTrade’s switch. For the second case, tick Override Mapping on that row, set the broker symbol to the next month, and trade it. Once the switch date passes, untick it so the default mapping takes over again.
One trap catches people here. Unticking Override Mapping later, even just to edit an unrelated field, hands the broker symbol back to PickMyTrade’s default mapping. Check that column before you save.
Why Does Micro Gold Fail Weeks Before Expiry?
Micro gold is physically delivered, and delivery moves the deadline by about 4 weeks. Micro Gold (MGC) trades only the February, April, June, August, October and December months. Each contract stops trading on the third-to-last business day of its month, yet delivery can start on the first business day.
First notice day is the first day the exchange can assign delivery to someone holding a long position. For gold it falls on the last business day of the month before delivery. For MGCZ6, that’s Monday, November 30, while last trade isn’t until Tuesday, December 29.
Tradovate blocks trading in physically delivered contracts from the business day before first notice or last trade, whichever comes first. For MGCZ6, that’s Friday, November 27. Tradovate also closes any delivery-contract position still open at first notice, at whatever the market price is.
Now line that up with PickMyTrade’s rule, which switches 4 days before the expiration date. What if that count runs from the last trading day? Then MGC1! would keep pointing at December until about December 25, four weeks after Tradovate stops taking new December positions.
We found no public page that says which date PickMyTrade stores for each metals row. Your Settings tab does, so check the Contract Expiry Date column before Thanksgiving week.
If it reads November 30, the 4-day count lands on November 26, a day ahead of Tradovate’s cutoff, and you’re covered. If it reads December 29, pin February (MGCG7) with Override Mapping by Wednesday, November 25. Then untick it once December has expired.
Crude is the counter-example. Micro WTI (MCL) is cash settled, lists every month and expires one business day before the full-size contract, so MCL1! rolls 12 times a year with no first-notice gap. Full-size CL is deliverable, but its first notice falls after its last trading day, so its dates don’t split the way gold’s do.
Which Contracts Roll Next?
We ran each contract through TradingView’s symbol data on September 25, 2026 and pulled its last trading day. Then we counted back 4 calendar days, the way PickMyTrade’s own NQ example does. Treat the switch column as an estimate and check it against the Contract Expiry Date in your Settings tab.
| Contract | Last trade | Switch (est.) | Settles by |
|---|---|---|---|
| MCLX6 | Mon Oct 19 | Thu Oct 15 | Cash |
| CLX6 | Tue Oct 20 | Fri Oct 16 | Delivery |
| MCLZ6 | Thu Nov 19 | Sun Nov 15 | Cash |
| MNQZ6, MESZ6, M2KZ6 | Fri Dec 18 | Mon Dec 14 | Cash |
| MGCZ6 | Tue Dec 29 | Fri Dec 25 | Delivery |
Two rows need a note. By this count MCLZ6 switches on a Sunday, so the first alert using the new month would come when trading reopens that evening. MGCZ6 is the gold problem above, where Tradovate’s cutoff for new positions is Friday, November 27, four weeks earlier.
Why Does TradingView Send MNQZ2026 When Your Broker Wants MNQZ6?
Every platform writes the same contract differently. TradingView uses a 4-digit year, so December 2026 Micro Nasdaq is MNQZ2026 and its continuous chart is MNQ1!. Tradovate writes MNQZ6, the same way it writes ESU6 for the September 2026 E-mini S&P.
Paste the TradingView string into a broker field and the broker won’t recognize it. That’s what the two columns on a Settings row are for. The TradingView symbol goes in one, the broker’s contract goes in the other, and the continuous symbol lets PickMyTrade fill the second one for you.
The month letters follow the standard codes: H for March, M for June, U for September and Z for December.
If you’re on Rithmic
Rithmic uses the same single-digit year as Tradovate, so MNQ1! maps to MNQZ6 today. Override Mapping shows up here too, so keep it clear. After each quarter’s switch, send one test alert before trusting the row, and see the Rithmic automation guide for setup.
If you’re on Interactive Brokers
An IB row needs more than a symbol: Local Symbol, IB Symbol, Instrument Type, Exchange, Currency, Min Tick and Lot Size. Futures rows also need a Maturity Date, so they’re pinned to one contract and need updating each roll. PickMyTrade’s guide to adding missing IB symbols shows where each value sits in TWS.
TWS can also shorten a contract’s name for display. PickMyTrade’s IB contract display note gives the example of SILH6 showing as SI in the order panel, which is display formatting rather than a routing fault.
If you’re on TradeStation
TradeStation writes a 2-digit year, so the same contract is MNQZ26 there. PickMyTrade’s TradeStation strategy guide enters a dated month as the TradingView symbol. That works, but you’ll be picking the new month yourself every quarter, and the old one keeps getting orders until you do.
If you’re on ProjectX (TopstepX)
ProjectX identifies contracts by ID, such as CON.F.US.MNQ.U25, and PickMyTrade stores that for you. Near expiry, watch for a “Contract Not Active” rejection.
The ProjectX error codes guide covers the numbered codes, including the one for a contract that’s no longer trading. “The instrument is not in an active trading status” is a different case: usually the daily close or a halt, covered in this ProjectX note.
If you’re on Tradovate
Tradovate runs on PickMyTrade’s .trade site, as a separate app with its own account. Its Create Settings form has a Tradovate Symbol field and the Override Mapping box, and it doesn’t add the _USER suffix. The liquidation-only message covered earlier comes from Tradovate itself, not from PickMyTrade.
The Roll Moves Your Mapping, Not Your Position
When PickMyTrade switches MNQ1!, new orders go to March while a position you already hold in December stays in December. Nothing closes it, and nothing moves it for you.
PickMyTrade’s rollover rule puts it plainly: closing or rolling an expiring position is your job. The same holds on Tradovate’s own platform, where rolling a chart doesn’t roll an open position either.
Why does this bite automated traders harder than manual ones? The next exit alert after the switch goes to the new month. Say your exit is a plain “sell 1” meant to close a December long: PickMyTrade routes it to March, where you’re flat, and you end up long December and short March.
That’s a calendar spread you never meant to open. So flatten before the switch date, or close the old month by hand and restart the new one from flat. A session window keeps anything from firing between those two steps.
How to Check a Failing Alert Before You Contact Support
Work through these 9 steps in order, since most mapping failures clear by step 4. Each takes under a minute. Doing them in order also stops you from editing a row that was never the problem.
- Copy the failing symbol string out of the alert log. Don’t retype it.
- Search Settings for that exact string, including any
1!,.Xor_USERending. - Tick “Include Expired Contracts” if the row seems missing, then count the results.
- Read the broker symbol and Contract Expiry Date on the row. The settings reference explains each field.
- Check whether Override Mapping is ticked, or whether you created the row yourself.
- Confirm the alert sends the continuous symbol, not a dated month.
- For an Interactive Brokers row, confirm Exchange, Currency and Maturity Date are filled.
- Check the calendar: a deliverable contract near first notice explains a late-November failure.
- Send one test alert and read the log line before you trust the change.
Still failing after all nine? Send PickMyTrade support these four things, which is usually enough to reproduce a mapping failure without a call:
- The exact error string from the alert log, copied rather than retyped.
- A screenshot of the Settings row showing the broker symbol, the expiry date and the Override Mapping box.
- The symbol field from your TradingView alert message.
- The broker or prop firm connection the alert was meant for.
Redact before you send. Blank out account numbers, order IDs and your webhook URL, because the token inside a webhook URL works like a password and nobody needs your balance to diagnose a symbol string.
Before the December roll: open Settings on Friday, December 11. Check every futures row for an “Expires in 7d” badge, a ticked Override Mapping box or a _USER name. See how PickMyTrade handles the roll for you on the rows it maintains.
Frequently Asked Questions
It means no Settings row matched the exact symbol string your alert sent, so PickMyTrade never built the order. It isn’t a broker rejection, and nothing reached your account. Create the row in Settings, or pick an already-mapped symbol from the alert generator’s list, then send one test alert.
Send MNQ1! on a default row and let PickMyTrade roll it 4 days before expiry. Name an exact contract only when you want that specific month, or when your broker closed the front month early. Once you pin a month, updating it every quarter becomes your job.
A contract expired, and the row it used didn’t roll. That happens when Override Mapping is ticked, or when you created the row yourself, since custom rows never roll. Edit the broker symbol to the current month, or switch the alert to a default row that PickMyTrade maintains.
No, the switch only changes which contract new orders go to, 4 days before expiry. Close or roll an expiring position yourself. For deliverable contracts, Tradovate closes positions still open at first notice, at the market price, which may be far from the exit you’d have picked.
Micro gold is deliverable, and Tradovate stops new positions the business day before first notice. For the December 2026 contract that’s Friday, November 27, about four weeks before its December 29 last trading day. Pin the February contract with Override Mapping before then, and untick it after December expires.
What Should You Do Before the December Roll?
Put 3 dates in your calendar: November 25 if you trade micro gold, December 11 for a Settings check and December 14 for the index switch. Most mapping failures come from a string that doesn’t match, or a row that was never going to roll. Both are visible in Settings before they cost you a trade.
If you’re choosing a connection for the first time, our guide to brokers that connect to TradingView covers what each one asks for. The TradingView alerts automation guide covers the alert side. Plans and the free trial are on the pricing page.
Disclaimer:
This content is for informational purposes only and does not constitute financial, investment, or trading advice. Trading and investing in financial markets involve risk, and it is possible to lose some or all of your capital. Always perform your own research and consult with a licensed financial advisor before making any trading decisions. The mention of any proprietary trading firms, brokers, does not constitute an endorsement or partnership. Ensure you understand all terms, conditions, and compliance requirements of the firms and platforms you use.
Also Checkout: ProjectX Error Codes by Endpoint: What Each Number Means
Connect your alerts with PickMyTrade — automated trade execution, no coding required. Start free →
