Version control for EA builds and parameter sets
Posted: Tue Oct 20, 2026 6:32 am
Without version control, EA development turns into folders named "EA_final", "EA_final2", "EA_final_REALLY". When something breaks, nobody knows what changed.
A simple setup:
- Git repository for MQL source files.
- Each live build tagged with a version number.
- Parameter sets saved as .set files in the repository, with names matching the version.
- A changelog file: one line per change with date and reason.
For MQL5, the source files live in MQL5/Experts. Initialise a git repo there, or in a separate folder synced with the terminal.
Commit messages that help later:
- "Add spread filter before entry logic (v1.4)" is useful.
- "Fix" is not.
For parameter changes, the same applies: each change is committed with the reason.
Benefits:
- Roll back quickly if a change goes wrong.
- Compare versions to see exactly what changed.
- Match live results to specific builds.
Does anyone use git for MQL? Any tips for working with MetaEditor alongside it?
A simple setup:
- Git repository for MQL source files.
- Each live build tagged with a version number.
- Parameter sets saved as .set files in the repository, with names matching the version.
- A changelog file: one line per change with date and reason.
For MQL5, the source files live in MQL5/Experts. Initialise a git repo there, or in a separate folder synced with the terminal.
Commit messages that help later:
- "Add spread filter before entry logic (v1.4)" is useful.
- "Fix" is not.
For parameter changes, the same applies: each change is committed with the reason.
Benefits:
- Roll back quickly if a change goes wrong.
- Compare versions to see exactly what changed.
- Match live results to specific builds.
Does anyone use git for MQL? Any tips for working with MetaEditor alongside it?