Someone sends you a file called SuperTrendPro.ex4. You drop it into the MetaTrader folder in Program Files, restart, and the Navigator panel looks exactly as it did before. Nothing is broken. The terminal simply does not read that directory for user content, and it has not done so for many years.
MetaTrader keeps user files in a per-user data folder with a long random name, separate from the program files. Everything below follows from that split.
Find the folder the terminal actually reads
Open the terminal, then File and Open Data Folder. A window opens on a path that ends in a long hexadecimal string. This is the directory the terminal loads code from. Inside it you will find MQL4 on MetaTrader 4 or MQL5 on MetaTrader 5, and inside that, subfolders named Indicators, Experts, Scripts, Libraries and Files.
Custom indicators go in the Indicators folder. Automated strategies go in Experts. Putting an indicator in Experts does not produce an error, it just makes the file appear under the wrong branch of the Navigator, which is how a large share of "it did not install" reports actually start. The distinction between the two file types is covered in the guide to indicators and expert advisors, and it matters here because the folders are not interchangeable.
One caveat for anyone running a terminal on a rented server. If the terminal was launched with the portable flag, the data folder sits inside the install directory instead, and Open Data Folder will take you there. Traders who keep charts running on a VPS often have both a portable and a standard installation on the same machine and install into the wrong one.
Know which file you were given
There are two formats and they behave differently. A file ending in .mq4 or .mq5 is source code: human readable, editable, and compiled by the terminal's editor into a runnable file. A file ending in .ex4 or .ex5 is already compiled. It runs, and you cannot read what it does.
Source is preferable whenever you have the choice. You can open it, check whether it fetches anything from the internet, see how the calculation actually works, and adjust the defaults. Vendors selling commercial indicators almost always ship compiled files, which is a commercial decision rather than a warning sign by itself, but it does mean you are running code you cannot audit.
The versions never cross. An .ex4 file will not load in MetaTrader 5 and an .ex5 will not load in MetaTrader 4. The languages differ in their bar indexing and event handling, so even source code usually needs work rather than a recompile. If you are unsure which terminal you are on, the MT4 and MT5 comparison lists the differences that matter.
The install, step by step
- Close any chart that already runs a previous version of the same indicator, otherwise the file may be locked.
- File, then Open Data Folder, then MQL4 or MQL5, then Indicators.
- Copy the .ex4, .ex5, .mq4 or .mq5 file into that folder. Keep any accompanying files, such as a set file or a template, and put those in Presets and Templates respectively.
- If you copied source code, open it in MetaEditor and press Compile. A green result means an executable file now sits beside the source.
- Back in the terminal, right click inside the Navigator and choose Refresh. Restart the terminal if the entry still does not appear.
- Drag the indicator from the Navigator onto a chart, or double click it, and set the inputs in the dialog that opens.
Compilation errors at step four are usually missing include files. Vendors sometimes ship an indicator that references a shared library, and that library belongs in the Include or Libraries folder rather than in Indicators.
A compiled indicator is a program running with your terminal's permissions. If a stranger's file asks for DLL imports, it is asking to call code outside the sandbox, which can reach files and network connections on the machine. Refuse unless you know exactly who wrote it and why it needs that.
The permission dialog is a real decision
When an indicator needs external calls, the terminal shows a dialog asking you to allow DLL imports. People tick it reflexively because the chart will not work otherwise. Understand what is being granted: the code can now invoke Windows libraries directly, outside anything MetaTrader controls. Legitimate uses exist, such as licensing checks against a vendor's server or writing to a shared file for a copier. So do illegitimate ones.
My rule is simple. Source code I can read, or a paid product from a vendor with a traceable business, gets the permission on a dedicated terminal. Anything downloaded from a forum thread does not get it at all, and gets installed only on a separate terminal logged into a demo account. That takes ten minutes to set up once and removes an entire category of problem.
After it loads, check what it is drawing
Installation is the easy half. The awkward half is finding out whether the indicator is honest about its own history. Some tools redraw their past output as new bars arrive, so a signal that appears to have been perfect for six months was never actually visible at the time it supposedly fired. Scroll back, note the exact bar of a historical signal, then let the market move and check whether that mark stays where it was.
Check the inputs too. Many published indicators ship with periods tuned to whatever chart the author was using, and dropping the same defaults onto a different timeframe changes the behaviour completely. If the tool is a variation on a standard calculation, the underlying built-in indicator set will usually tell you what the parameters mean before you start adjusting them.
Finally, keep the chart readable. Four custom overlays plus the default studies produce a screen that no one can act on quickly, and the decision that matters happens in the two seconds before you click buy. Indicators do not predict prices, and adding more of them does not reduce the risk of the trade.
"If an indicator only works when you allow it to call outside the terminal, ask what it is calling. Half the time the honest answer is a licence server. The other half, nobody can tell you."
— Alex Onta, Executive Director, SINGUARD
Key Takeaways
- Use File then Open Data Folder: the install directory in Program Files is the wrong place.
- Indicators go in Indicators, expert advisors go in Experts, and the folders are not interchangeable.
- MT4 and MT5 files never cross over, whatever the folder they are placed in.
- Test any new indicator for redrawn history before you trust a single historical signal.
Frequently Asked Questions
Why does my indicator not appear in the Navigator?
Almost always one of three reasons. The file went into the install directory instead of the data folder that the terminal actually reads, so open File then Open Data Folder and work from there. Or it went into the Experts subfolder rather than Indicators, which puts it in the wrong Navigator branch. Or the terminal has not refreshed: right click inside the Navigator and choose Refresh, and restart the terminal if that fails.
Can I run an MT4 indicator on MT5?
No. MQL4 and MQL5 are different languages compiled to different binary formats, and an ex4 file will not load in MT5 no matter which folder you place it in. If you have the source code, it can sometimes be ported with modest effort, but indicator code that uses series indexing or old bar counting conventions usually needs rewriting rather than recompiling.
Is it safe to install an indicator from a forum?
A compiled file is a program you cannot read, running with the permissions of your terminal. If it requests DLL imports it can reach the rest of your machine. Treat unknown compiled files the way you would treat any downloaded executable: prefer source code you can open, install on a spare terminal with a demo account first, and never grant DLL permission to something you cannot inspect or did not pay a traceable vendor for. The same caution applies to expert advisors.