Skip to main content

Automap can't match indices when brokers name them differently

TLDR

Automap only matches symbols with the same name stripped of decoration, so it can't tell US100 and NAS100 are the same index. Traders must map every index and metal by hand, and a miss fails silently without warning. Support has twice told customers this happens automatically — it doesn't.

Done when

  • [code] Automap suggests a match for common cross-broker aliases - Check: an MT5 sender with US100 and a receiver offering NAS100 (also USTEC, NDX, US30/DJ30, GER40/DE40, XAUUSD/GOLD, SPX500/US500) - Expect: Automap proposes the correct instrument
  • [code] Suggested-not-certain matches are distinguishable from exact ones - Check: the Map Symbols grid after Automap - Expect: an alias-based suggestion is visibly marked for review, so we do not trade a wrong instrument in the name of convenience (this is the failure mode TRADA-960 and TRADA-924 are about)
  • [human] Unmatched symbols are obvious before the trader goes live - Check: Map Symbols after Automap when some rows still have no mapping - Expect: the unmapped rows are called out, not just left blank among hundreds of rows
  • [human] Support's answer is corrected - Check: Featurebase #25 (Johnny Koueik) and #28 (Jéssica Rodriguês) - Expect: both told what Automap can and cannot do
  • [human] The affected customer is told it is fixed - Check: Jéssica Rodriguês, Featurebase #28 - Expect: her US100 maps to all three receivers

Out of scope

  • TRADA-1095 — Automap failing specifically on the MT5→MT4 pair (in progress)
  • TRADA-960 / TRADA-924 — Automap pairing a symbol with the wrong instrument
  • Whether the bridge retries or falls back server-side when no mapping row exists — unknown, and not in the traders-app repo. Worth confirming separately.

Tech context

  • src/app/(authenticated)/copy-trading/[id]/map-symbols/symbol-normalisation.ts:116-145 — autoMapSymbols() tries an exact name match, then a match on normalised forms
  • symbol-normalisation.ts:55-110 — normalizeSymbol() only strips separator-delimited decoration (., /, -, _, #) and a fixed suffix list (PI, PRO, RAW, ECN, STP, MICRO, MINI, CENT, …). It deliberately refuses to strip quote currencies and contract tails
  • There is no alias/synonym table and no fuzzy matching anywhere in the repo. Grepping US100|NAS100|NDX|USTEC across src returns only an unrelated TradingView chart map in the journal (journal/components/constants.ts:65-68) and a static list in src/lib/constants.ts:13 — neither is used by the mapper
  • The current design is deliberate: comments at symbol-normalisation.ts:11-15, 26-28 state a missing suggestion is preferred to a wrong one, with tests at map-symbols/__tests__/symbol-normalisation.test.ts:27-59. So the fix is to add a curated alias table, not to loosen normalisation
  • Zero-match toast already says the right thing (map-symbols/page.tsx:283-285): "Automap found no matching symbols. The receiver may name them differently — map them manually below." The problem is a partial run, where indices silently stay unmapped among many matched FX pairs
  • Consequence of an unmapped symbol: symbol_not_found / symbol_not_available → "The receiver's broker does not offer this symbol — add a symbol mapping" (symbol-failure-banner.tsx:31-32); the copy fails on that receiver, is not retried, and the copier stays Active
  • Note: the Status toggle is not per receiver — disabling a row blocks that symbol on every follower (map-symbols/page.tsx:176-183)

Source

Featurebase support conversation #28 (customer Jéssica Rodriguês), 11 Sep 2026 12:38 UTC: "eu negocio us100, e nas outras prop firms o simbolo de nasdaq é diferente, mas todos sao cfd's, é possivel conectar essas 3 contas que estao ativas?" Filed 14 Sep 2026. https://trada.featurebase.app/dashboard/inbox/conversation/28

Status: Planned

No comments yet

Be the first to share your thoughts.