The client's idea
Abtin Quant Team works EURUSD on H1; the opening brief was: Tell me whether a backtest result repeats, or whether it belongs to one lucky period.
Project and starting point
The team optimized on one period and then reported that same period — and the result never repeated on fresh data.
Solution architecture
A framework splitting history into consecutive windows, optimizing on one and evaluating on the next, with a report showing the gap per period.
Each window is reported separately so a good average cannot hide weak halves. It matches how EURUSD is actually traded and can be tested against the data already available.
Why this design
Each window is reported separately so a good average cannot hide weak halves. It matches how EURUSD is actually traded and can be tested against the data already available.
Implemented capabilities
Modules and components built: Window reporting + overfit detection.
Delivered output:
Walk-forward testing framework — EURUSD (H1)
Specification document and the rule-to-code mapping table
Full MQL5/Python source, commented
Test report: Run across three of the team's strategies
Parameter document and install guide (11 weeks)
Safeguards and risk control
No parameter was optimized on the whole set: part of the data was held back for out-of-sample testing.
Backtest and forward test method
Test method: Run across three of the team's strategies.
Testing runs in three stages: a backtest on historical data, limited optimisation inside the contract's scope, and a forward run with the parameters frozen.
Tools and stack: MQL5, Python scripts, HTML reporting.
Every figure from this project is published together with its measurement conditions: the data window, the tick model, the spread, the commission and the build of the executable. Without them a number cannot be compared with anything.
Publishable results
Two of the team's three strategies showed a clear drop in evaluation windows and were revised before any live account.
Limitations and cautions
No parameter was optimized on the whole set: part of the data was held back for out-of-sample testing.
Every test result depends on the quality of the historical data, the broker's spread and market conditions, and none of it is a promise about the future. Through a severe price gap or a broker disconnection a stop loss cannot be guaranteed, so behaviour in those conditions must be reviewed separately.
Our next-step proposal
The next step is running the selected build on demo and reviewing weekly deviation from the test.
Portfolio
Measured results
These are the figures the test produced — not a promise about future performance.
- 5 years Test window
- 12 Configurable inputs
- 9 scenarios Scenario test coverage
- 98 % Runtime stability in test