Building a Baseline Regression Gate for MQL5 Trading Systems
Summary
This article describes a maintenance workflow that turns profiling and test reports into a decision about whether an MQL5 project is ready to accept a code change. It preserves the roles established in earlier installments: a profiler measures named code sections, deterministic tests check pure trading calculations, and a gate compares current evidence with an accepted baseline. The intended outputs include profile deltas, test status, symbol-specific trading assertions, and an overall result such as pass, warn, skip, or fail.
The workflow runs unit tests, profiles the EA in the Strategy Tester, promotes a profile from an accepted version to a baseline, then compares later runs against it. Example regressions include slower buffer copying, work occurring on every tick instead of new bars, incorrect lot sizing for a symbol’s volume step, and use of a forming bar. The author stresses that the baseline must represent acceptable behavior and that comparisons across different test environments may be misleading. The gate complements broad profiling; it does not replace it.
Key ideas
- A regression gate compares current profiling and test evidence with an explicitly accepted baseline.
- The workflow combines performance deltas, deterministic trading-math tests, and symbol-aware assertions.
- A baseline should be promoted only from a version whose behavior is considered acceptable.
- Differences in test environments can weaken comparisons, and repeated warnings should be investigated.
Tags
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.