EA Version Control: Tracking Changes Without Breaking Your Strategy
EA version control is the practice of tracking every change to your expert advisor — its source code, its compiled files and its settings — so that a tweak made in one week can be understood, repeated or reversed months later. Expert advisors change silently: a recompile under a newer platform build, a parameter adjusted in a difficult week, a file overwritten by careless copying. This post covers why EAs drift, the versioning habits that stop the drift, backup strategies, settings snapshots and how to revert safely when something breaks.
EA version control: why expert advisor code changes silently
The first reason is recompilation. Every time you compile MQL4 or MQL5 code under a newer platform build, you may be creating a slightly different program: different default inputs, different library behaviour, different rounding. A strategy tested in March and recompiled in October is not necessarily the same strategy, and nothing tells you that unless you record the build version and the file hashes alongside the code.
The second reason is settings drift. An EA’s inputs — lot sizes, filters, time windows — are parameters traders adjust freely, and the adjustment is rarely recorded anywhere. The third is file chaos: copies of compiled files accumulate in download folders, VPS transfers overwrite the live file, and nobody is sure which copy the terminal is actually running. Combined, these three pathways mean the strategy trading today is often not the strategy you tested. The CFTC’s investor education material documents how quickly unverified changes compound into losses in retail trading.
EA version control: version naming and changelog habits
Versioning starts with a naming scheme that reads like a timeline: strategy name, version number, date and status, for example gold_breakout_v2.3_2026-07-15_live. The scheme must be consistent, because inconsistent naming is how files get overwritten in the first place. Store the source, the compiled file and the settings together in one folder per version, so that a version is a complete snapshot rather than a scattered set of files.
Alongside the files, keep a changelog: what changed, why, and what the result was. The changelog does not need to be long — one line per version is enough — but it needs to be honest, which means writing it at the moment of the change rather than reconstructing it later. When the strategy underperforms, the changelog is the first place you look, and the EA maintenance guide shows how the same record-keeping keeps monitoring honest month after month.
EA version control: backup strategies that survive failures
Version control without backup is a diary with no copies. The standard is three copies of everything — source, compiled files and settings — with one copy stored off the trading machine, ideally off-site: a VPS backup, a cloud drive or an encrypted USB folder. The trading VPS itself is not a backup, because a failed disk, a compromised server or a broker-side issue takes the files with it.
Backups should be versioned too, not one-shot: keep the last several versions of each file so a bad change is recoverable rather than erased by the next backup cycle. Also back up the platform configuration — terminal settings, chart templates, the indicator files an EA depends on — because restoring an EA without its environment restores only half the system. Test the restore process occasionally; a backup that has never been restored is an assumption.
EA version control: settings snapshots before and after changes
Most silent change is settings change, so settings snapshots are the core of the discipline. Before touching a single input, export the current settings to a named file — MT4 and MT5 both save and load settings files — and store it with the running version. After the change, export again and store it alongside. The two files bracket the change: they say what was, what is, and what the difference was.
Change one parameter at a time. One variable changed per experiment keeps the snapshot files readable as history, whereas changing five inputs at once produces a record that cannot explain its own outcome. Every snapshot belongs in the same journal that records the trade results — the trade journal guide shows how the two records combine to show which settings produced which behaviour, and the demo to live transition depends on exactly this pairing when a strategy moves to live money.
EA version control: reverting safely
Reverting is a deployment, not a quick fix. Before any change, establish the known-good state: the code version and settings that produced the last verified behaviour, stored somewhere it cannot be overwritten. When a change goes wrong, revert to that known-good pair, never to a half-remembered approximation. Revert on demo first, long enough to confirm the restored version behaves as it did, then swap it into the live terminal during a quiet period and journal the event.
The same discipline applies when a platform update or broker change forces a migration: capture the old version, migrate, and keep both so the migration can be walked back. Version control does not prevent bad changes — it makes them reversible and their consequences legible, which is as much as any risk control can honestly promise. The EA maintenance guide covers the ongoing monitoring that turns a versioned history into a working process.
Frequently asked questions about EA version control
- Why does my expert advisor change without me noticing?
- Three silent pathways: a recompile under a newer platform build can alter behaviour, a parameter tweak made during a difficult week is often never recorded, and files get overwritten by careless copying. Each one changes the strategy that is actually trading while the paperwork says it is unchanged, which is exactly why version control exists.
- How should I name EA versions and files?
- Use a scheme that reads like a timeline: strategy name, version number, date and status — for example gold_breakout_v2.3_2026-07-15_live. Keep the naming consistent, store the matching source, compiled file and settings together, and write a changelog entry for every version saying what changed, why, and what the result was.
- What is the safest way to revert an EA to an earlier version?
- Keep a known-good copy of both code and settings from before the change, verify the restoring version on demo long enough to confirm it behaves as expected, then swap it into the live terminal during a quiet market period and journal the event. Reverting is a deployment, not a quick fix.
- Should I version-control EA settings as well as code?
- Yes — settings drift is where most silent change actually happens. Export a settings snapshot before and after every adjustment, store it with the version it belongs to, and change one parameter at a time so the snapshots read as history. A code version without its settings is a half record.
Explore Maintenance-Ready Automation Tools
Risk disclosure: Trading foreign exchange, commodities, CFDs and indices carries a high level of risk and may not be suitable for all investors. Expert advisors are software products and carry technical risks in addition to market risk, and version control reduces but cannot eliminate the risk of loss from code, platform or settings failures. Past performance is not indicative of future results. AlgoTM provides trading tools and technology only and does not provide investment advice, portfolio management or guaranteed returns.