Project specifications
- Market
- EURUSD
- TF
- H1
- Platform
- MT4
- Client type
- Existing EA owner
- Delivery window
- 6 weeks
- Stack
- MQL4, the legacy environment, set files
- Strategy
- Parameter panel rebuild + set-file cleanup
- Modules
- Settings save and restore
- Testing
- Tested against four legacy experts
Who this was for
Farshid Asadi
- Role
- Owner of several legacy experts
- City
- Ahvaz
- Project reference
- TBT-1405-16
The client's idea
Farshid Asadi works EURUSD on H1; the opening brief was: My experts' settings panel broke, and I want the set files organised too.
Initial challenge
The old settings panel had become incompatible with newer terminal builds, and unnamed set files made correct configuration guesswork.
Solution
The input panel was rebuilt with save/restore, set files got a consistent naming scheme, and every expert kept its previous behaviour.
Why this design
All four experts share one naming pattern so support work no longer needs guessing. It matches how EURUSD is actually traded and can be tested against the data already available.
Safeguards and risk control
New code lives in pure functions without hidden global state, and order-execution errors are caught and logged.
Our next-step proposal
The next step is automated tests over the calculation functions and documentation of the internal API.
Portfolio
Measured results
These are the figures the test produced — not a promise about future performance.
- 11 Defects fixed
- 0 Regressions caught
- 34 Configurable inputs
- 6 scenarios Scenario test coverage
Portfolio
How the delivery ran
Every project moves through these five phases, with the window for each agreed in the specification.
-
Discovery and problem framing
CompletedReading the existing code or the client's requirement and fixing the scope of the change on EURUSD.
Day 1–2
-
Written specification
CompletedWriting the function contract, file layout and naming rules before any code.
Day 3–9
-
Implementation
CompletedImplementing in MQL with separated layers and no logic duplicated across files.
Day 10–23
-
Testing and validation
CompletedCompiling without warnings, unit-testing the functions and running historical EURUSD data.
Day 24–31
-
Handover and support
CompletedHandover of an organised, commented source that is ready for the next change.
Day 32–35