Blog

Unable to find the value of the symbol: where that error comes from

When a trade does not go through, the word the channel used is almost never the cause. The name your broker gives the same instrument is.

·6 min read

A gold signal comes in, and Botty answers “Unable to find the value of the symbol”. The message appears in the app’s conversation panel and in your Telegram bot chat, at the second the order should have gone out.

The instinctive reading is that Botty did not understand the signal. It did: it recognised gold perfectly well. It stopped when it turned to your broker, and that distinction changes entirely what you need to go and fix.

The word the channel uses does not matter

Before anything else, the message is reduced to a single vocabulary. gold, oro, ouro, l’or and xau. all become XAUUSD. dow, dow jones, dji, us30 and ws30 become DJ30. nasdaq, ustec, nq100, ndx and nd100 become NAS100. dax, dax40, ger30, ger40, de30 and gdaxi become DAX30.

The same treatment applies to silver, oil (oil, wti, brent, usoil), the FTSE, the Hang Seng, the S&P, the CAC and the main cryptocurrencies, written out in full or as a code. On a Deriv account, synthetic indices have their own abbreviations on top of that, v10 or b1 for instance.

In other words, the provider’s notation determines nothing. “BUY GOLD 2385” and “BUY XAUUSD 2385” follow exactly the same path. You do not have to ask a channel to change how it writes, nor pick your channels on that basis. It is still the first assumption people make when a trade goes missing, and it is the wrong one.

Where the name really matters: your broker’s list

Once the symbol is reduced to its canonical form, it has to be sent to your terminal. There, your broker sets the vocabulary. XAUUSD, XAUUSD.m, XAUUSDmicro, GOLD, GOLD.fs: these labels come from account types and house conventions. A MetaTrader terminal knows only its own and guesses nothing.

So Botty keeps a mapping table between its canonical name and the real name on your side. It builds itself: the mappings already known for your broker are fetched, then your terminal’s own symbol list is walked through and matched by containment. That is what finds the common suffixes — .m, micro, an i prefix — without you typing anything.

That automatic matching covers most accounts. It does not cover all of them, and that is where the manual work starts.

The error, and what it tells you

When the mapping is missing, the trade does not go out. But it does not fail quietly, and that is the difference that matters. Botty writes: “Unable to find the value of the symbol, please check if your Broker's pair alias are valid. Maybe this pair is not available with your broker. This error appears more easily with indices that don't have an alias.”

The message takes the same route as trade confirmations: the app’s conversation panel, your Telegram bot chat, and the log. You see it when the signal arrives, not three days later while comparing your positions with the channel’s.

It also names the remedy and the screen to apply it on. Only two causes are left: the alias is wrong, or the symbol does not exist at that broker.

Two other messages point at neighbouring causes worth telling apart. “Symbol Not Found” means no symbol was recognised in the message at all: the problem is in the signal, not at your broker. “This pair is disabled” means you turned that instrument off yourself.

Fixing the alias

The screen is in the settings, MetaTrader section, button “Broker’s pair alias”. The window is two columns: Pair, the name Botty uses, and Alias (= symbol in your broker), the real name on your side. You correct the row, you save, and the next signals go out on the right instrument.

A Generate button rebuilds the whole table from your terminal’s symbol list. It is the first thing to do after changing broker or account type: it catches every suffix that changed in one go. The rows you typed by hand stay the reference wherever generation finds nothing.

Why gold comes up so often

Automatic generation deliberately skips any of your broker’s symbols containing the word gold. The reason is mundane: many brokers also offer the Goldman Sachs share, and matching by containment would map gold to a share. The filter trades an invisible error for a visible omission.

The direct consequence: if your broker calls gold GOLD rather than XAUUSD, generation will not find the row and it is up to you to write it. That is the scenario producing this error message most often, and one entry settles it.

More broadly, aliases are mostly needed for indices, metals, oil, crypto and synthetic indices. Standard currency pairs rarely ask for one.

Checking without waiting for a signal

For the broker symbol selected, the alias screen shows its value, the minimum lot, the lot step and the profit calculation mode. The check is therefore direct and immediate: a value that appears proves the alias points at a real instrument.

  • Open “Broker’s pair alias” and run Generate after any change of broker or account type
  • Go down the rows for indices, metals, oil and crypto: those are the ones that go missing
  • On every doubtful row, check that the symbol value appears; a missing value means a wrong alias
  • Type gold in by hand if your broker calls it GOLD
  • Disable the symbols your broker does not offer, rather than letting them fail

An alias that was right yesterday is not necessarily right today. Suffixes depend on the account type as much as on the broker: moving from a standard account to a micro account at the same broker is enough to make the whole table wrong. Run Generate after every account change, not only after a change of broker.

Turning a symbol off rather than letting it fail

Botty turns each symbol on or off individually, in the pair settings. Every row has its checkbox, its lot and, if you want, a restriction to buy only or sell only.

If your broker does not offer an instrument the channel trades, disable it. You stop getting an error on every signal, and you keep the distinction between “I did not want that trade” and “that trade failed” — exactly what you need when reading back a history.

What an alias does not fix

An alias guarantees the order goes out on the right instrument. It guarantees nothing else. The minimum lot, the lot step, the contract size and the trading hours stay your broker’s: two accounts receiving the same signal on the same underlying do not necessarily open the same position.

Nor does it make a missing instrument exist. If your broker does not quote the index the channel trades, no mapping will change that, and the clean answer is to disable the symbol.

Finally, the alias table is a state, not a guarantee. It reflects the symbol list as it was when it was generated. A broker renaming its indices, or you changing account type, makes it wrong without warning. The only sign will be the error message, on a day when the trade mattered.

The next signal, Botty can place it for you

Install the software, connect your channels, set your risk. The rest runs without you.