MT4 and MT5 Build Updates on a VPS: What Breaks, What to Check, and How to Recover

person
FXVPS
Share
MT4 and MT5 Build Updates on a VPS: What Breaks, What to Check, and How to Recover

Most software asks before it updates. MetaTrader does not. When your broker pushes a new terminal build, MT4 and MT5 download it, notify you in the Journal tab, and apply it on the next restart. If nobody is looking at the Journal tab — and on a VPS running unattended EAs, nobody is — the first you know about it is when something behaves differently.

Usually nothing does. MetaQuotes builds are generally stable and most updates pass without incident. But “usually” is doing real work in that sentence, and the exceptions have a habit of surfacing at the worst possible time: an EA that no longer compiles, custom indicators that vanish from the Navigator, a chart template that loads empty, or a terminal that restarts and does not come back because auto-login was lost.

This is a small, unglamorous piece of VPS operations that separates traders who have a stable environment from traders who periodically discover their strategy has not run for three days. Here is how to handle it.

What Actually Happens During a MetaTrader Update

The sequence is worth understanding because it explains where things go wrong.

  1. Your broker’s server signals that a newer terminal build is available.
  2. The terminal downloads the update in the background. You will see a line in the Journal tab, and typically a small notification.
  3. The update is applied on terminal restart — either a restart you initiate, or one prompted by the terminal.
  4. On restart, the terminal recompiles MQL programs where needed and reloads charts, templates and Expert Advisors.

Step four is where the failures live. Recompilation is the mechanism by which a source-code change in the MQL language — a deprecated function, a stricter type check, a changed default — turns into a compile error in your EA. And a chart that reloads without its EA attached is a chart that is no longer trading.

⚠️ Warning: A terminal restart after an update does not automatically re-enable AutoTrading in every configuration, and it does not always restore an EA that failed to compile. Your terminal can be open, connected, charts loaded, and simply not trading — with no error visible unless you look at the Experts tab. This is the failure mode that costs people the most and announces itself the least.

What Actually Breaks

In rough order of how often it bites people:

1. EAs and indicators that ship only as compiled .ex4 files. Compiled MQL programs are tied to a build range. A sufficiently large jump in build number can render an old .ex4 unloadable, and if you do not have the .mq4 source you cannot recompile it. You have to go back to the vendor. If the vendor has disappeared — which happens constantly in the EA market — you have lost the tool.

2. Source that no longer compiles. MQL evolves. Functions get deprecated, then removed. Type checking gets stricter. An .mq4 or .mq5 file that compiled cleanly two years ago may throw errors today. Usually the fixes are small; occasionally they are not.

3. DLL-based EAs. Anything calling an external DLL depends on the terminal’s DLL import behaviour and its security settings. Updates can reset the “Allow DLL imports” permission, silently disabling functionality your strategy depends on.

4. Lost settings. Auto-login credentials, chart templates, custom profiles, and AutoTrading state can all reset depending on how the update is applied. None of these produce an error — they just produce a terminal that is not doing what it was.

5. Behavioural changes. Rarer, and harder to spot. A change to how a built-in indicator calculates, how order execution is confirmed, or how a timeframe boundary is handled can alter your EA’s behaviour without producing a single error message.

📊 Key Stat: The most expensive MetaTrader update failures are not the ones that throw errors. They are the ones where the terminal comes back looking completely normal and simply is not trading — because AutoTrading is off, or an EA silently failed to load. Errors get noticed. Silence does not.

The Backup That Makes All of This Trivial

Almost every problem above becomes a ten-minute inconvenience instead of a crisis if you have a current backup of one directory: the MetaTrader data folder.

That folder is not the installation directory, and this is where people go wrong. Find the real one via File → Open Data Folder inside the terminal. It is typically under C:\Users\<you>\AppData\Roaming\MetaQuotes\Terminal\<long hex string>\ and it contains:

  • MQL4\Experts or MQL5\Experts — your EAs, compiled and source
  • MQL4\Indicators / MQL5\Indicators — your custom indicators
  • MQL4\Files / MQL5\Files — any data files your EAs read or write
  • templates\ — your chart templates
  • profiles\ — your chart layouts and which EAs are attached to what
  • config\ — terminal settings

Zip that folder. Do it before every update, and on a schedule regardless. Store the archive somewhere that is not the same VPS. Our guide to backing up forex trading data on a VPS covers the wider routine.

💡 Tip: Keep the .mq4 or .mq5 source for every EA and indicator you rely on, not just the compiled binary. If a vendor supplies only a compiled file, ask whether they provide source under any arrangement, and note that you are exposed if they disappear. Source can be recompiled against any future build. A compiled file from a vendor who no longer exists cannot.

The Practical Routine

Before the Update

  1. Zip the data folder and copy the archive off the VPS.
  2. Note your current build number — Help → About in the terminal. If you need to explain a problem to your broker or an EA vendor, this is the first thing they will ask for.
  3. Write down which EAs are on which charts, with their key parameters. Profiles usually survive, but “usually” is why you write it down.
  4. Choose your timing. The weekend is the obvious window: the market is closed, nothing is at risk, and you have two days to fix anything that breaks.

After the Update

Work through this every time. It takes five minutes.

  1. Check the AutoTrading button is green. This is the number one post-update failure and the easiest to miss.
  2. Check every chart has its EA attached, with a smiley face rather than a sad face or nothing at all.
  3. Read the Experts tab for compilation errors or load failures.
  4. Read the Journal tab for login problems or connection issues.
  5. Confirm custom indicators still appear in the Navigator and still render on charts.
  6. Verify the connection — ping in the bottom-right corner, live prices in Market Watch.
  7. If you use DLLs, re-check Tools → Options → Expert Advisors → Allow DLL imports.
  8. Place one small manual trade on a demo account if you can, to confirm the whole order path works end to end.

Best Practice: Keep a demo terminal on the VPS running the same EAs as your live terminal. Let the demo take the update first. If everything survives on demo, update live. If it does not, you have found out for free — and you still have a working live terminal while you sort out the problem. The cost is a few hundred megabytes of disk; the value is a canary that fails before your capital does.

🚀 Try FXVPS free for $1.99 — get 7 days on the Core VPS risk-free with room for a demo canary terminal alongside your live one. No long-term commitment, cancel anytime.

Can You Just Prevent Updates?

Sometimes, partially, and it is usually the wrong instinct.

The update is pushed by your broker’s server, and MetaTrader is designed to keep clients current. Some traders block the terminal’s update mechanism at the firewall. This works until it does not: brokers periodically require a minimum build, and a terminal that is too far behind may lose the ability to connect at all. At that point you are forced into a very large build jump — precisely the scenario most likely to break old compiled EAs — under time pressure, during market hours, because you cannot trade.

The better posture is to accept updates, control when they are applied, and have a tested recovery routine. That gives you the stability without the accumulating risk.

The same logic applies to the operating system underneath. Windows updates on a trading VPS should be scheduled deliberately rather than blocked, for the same reason — our Windows updates guide covers scheduling them so a reboot does not land mid-session.

When an EA Will Not Compile After an Update

If you have source, the fix is usually mechanical:

  1. Open the .mq4 or .mq5 in MetaEditor and compile. Read the errors.
  2. Deprecated function names and stricter type conversions account for most of them, and the compiler tells you the line.
  3. If the errors are beyond you, send the source and the compiler output to the vendor or to a MQL developer. This is normally a small paid job, not a rewrite.

If you do not have source, your options are to obtain a rebuilt version from the vendor, or to restore the previous terminal build from your backup and stay on it until you can replace the EA. That second option is a temporary measure and not a plan — it is why the source-code point above matters more than it sounds.

Summary

  • MetaTrader updates arrive from your broker’s server and apply on restart without asking.
  • The costly failures are silent: AutoTrading off, an EA that did not reload, a chart with nothing attached.
  • Back up the data folder — found via File → Open Data Folder, not the install directory — before every update.
  • Keep .mq4 / .mq5 source for anything you depend on. Compiled-only files from vanished vendors are a liability.
  • Update on a weekend, then run the eight-point post-update check before the market reopens.
  • Keep a demo terminal as a canary that takes the update first.
  • Do not block updates permanently. Control the timing instead.

Compare plans at /pricing/, or set up a properly backed-up environment on a $1.99 seven-day trial.

Frequently Asked Questions

Can I stop MetaTrader from updating itself?

You can block it at the firewall, but it is a bad long-term strategy. Brokers eventually require a minimum build, and a terminal too far behind may be unable to connect — forcing a large, risky update at the worst moment. Control the timing instead of blocking it.

Will a MetaTrader update break my EA?

Usually not. The realistic risks are compiled-only EAs that no longer load, source that no longer compiles against a newer MQL version, and reset DLL permissions. A backup of your data folder plus retained source code makes all three recoverable.

Where is the MetaTrader data folder?

Open the terminal and choose File → Open Data Folder. It is not the installation directory — it usually sits under C:\Users\<you>\AppData\Roaming\MetaQuotes\Terminal\<hex string>\ and contains your EAs, indicators, templates, profiles and settings.

My EA stopped trading after an update. What do I check first?

The AutoTrading button, then the smiley face on the chart, then the Experts tab for compilation and load errors. In that order — the first two account for the majority of cases and take ten seconds to check.

When should I apply MetaTrader updates?

At the weekend, with the market closed. That gives you two days to diagnose and fix anything that breaks, with no capital at risk while you do it.

Do I need the source code for my EAs?

Strongly recommended. Source can be recompiled against any future build. A compiled-only file is permanently tied to a build range, and if the vendor disappears you have no route to a fixed version.