A small, stupid problem that cost me a morning: templates and EAs that look for one symbol name and find another.
I run several MT4 and MT5 terminals across a couple of account types. Symbol naming is not identical between every server and account type I've used over the years, and depending on the broker you may see plain names, suffixes, or a mix of both. I won't claim to know every current IC Markets naming convention, so check your own Market Watch rather than taking my word for it. What I can tell you is what went wrong on my side.
I saved a chart template on my demo, including an indicator that reads the spread of a second symbol for a correlation check. When I applied that template on the live terminal, the indicator silently returned zero because the symbol string it was hard-coded to look for didn't exist there. No error, just a flat line. I traded GBPUSD for an hour with a filter that was doing nothing.
Fixes I now use:
1. Any indicator or EA that references another symbol takes the name as an input, never hard-coded.
2. On every new terminal I open Market Watch, "show all", and copy the exact symbol names into a text file before loading anything.
3. I added a check in my filter code: if the second symbol returns no price, the indicator paints a red box instead of a line.
Has anyone found a cleaner way to make templates portable between servers?
IC Markets symbol suffixes and chart template pitfalls
-
LondonScalper
- Posts: 965
- Joined: Sat Sep 05, 2026 7:54 am
-
Shadow Trader
- Posts: 959
- Joined: Wed Sep 09, 2026 5:19 pm
Re: IC Markets symbol suffixes and chart template pitfalls
The silent zero is the worst part of this kind of bug. A filter that errors out is annoying, but one that returns a flat line looks like a filter doing its job.
On portability, the cleanest thing I've found is building the symbol name in code from the chart's own symbol. If the chart symbol is GBPUSD with a suffix, the indicator strips the first six characters to get the base pair and then adds the same suffix to the second symbol. That way it follows whatever naming the server uses.
It fails on symbols that aren't six characters, like indices or metals, so those still take a manual input.
Your red box check is something I'd recommend to everyone. I go one step further and have the indicator print the symbol it's reading in the corner of the chart in small text. A glance shows whether it's looking at the right thing.
Did you also check the digits? I've had a template break because one server quoted five digits and another three.
On portability, the cleanest thing I've found is building the symbol name in code from the chart's own symbol. If the chart symbol is GBPUSD with a suffix, the indicator strips the first six characters to get the base pair and then adds the same suffix to the second symbol. That way it follows whatever naming the server uses.
It fails on symbols that aren't six characters, like indices or metals, so those still take a manual input.
Your red box check is something I'd recommend to everyone. I go one step further and have the indicator print the symbol it's reading in the corner of the chart in small text. A glance shows whether it's looking at the right thing.
Did you also check the digits? I've had a template break because one server quoted five digits and another three.
-
Shadow Trader
- Posts: 959
- Joined: Wed Sep 09, 2026 5:19 pm
Re: IC Markets symbol suffixes and chart template pitfalls
The trap that caught me after the symbol names was default.tpl. MT4 applies the default template to every new chart, so when my demo default included the correlation indicator, every chart I opened on the live terminal quietly carried the broken version.
Now my default template is completely plain, just candles and colours. Anything with indicators is a named template that I load on purpose, so I see the template name every time.
Profiles are the other one. Copying a profile folder between terminals brings the charts across, but each chart remembers its symbol, and in my experience a chart pointing at a symbol the new server doesn't have can open as something else without a warning.
So on a new server I copy templates only, never profiles. I open each chart by hand from Market Watch, load the template, and check the symbol in the title bar before anything else.
Has anyone automated that last part with a script that opens charts from a text list? I've thought about it for years and never got round to it.
Now my default template is completely plain, just candles and colours. Anything with indicators is a named template that I load on purpose, so I see the template name every time.
Profiles are the other one. Copying a profile folder between terminals brings the charts across, but each chart remembers its symbol, and in my experience a chart pointing at a symbol the new server doesn't have can open as something else without a warning.
So on a new server I copy templates only, never profiles. I open each chart by hand from Market Watch, load the template, and check the symbol in the title bar before anything else.
Has anyone automated that last part with a script that opens charts from a text list? I've thought about it for years and never got round to it.