Project specifications
- Market
- EURUSD
- TF
- M15
- Platform
- MT5
- Client type
- Professional trader
- Delivery window
- 7 weeks
- Stack
- MQL5, the client's strategy document, M15 data
- Strategy
- Mean reversion with volatility confirmation
- Modules
- Numeric conditions + trade rejection
- Testing
- Edge scenario testing
Who this was for
Arash Nikpour
- Role
- Semi-automated trader
- City
- Tehran
- Project reference
- TBT-1405-18
The client's idea
Arash Nikpour works EURUSD on M15; the opening brief was: Read my strategy text, and ask about every ambiguity so the code means exactly one thing.
Initial challenge
The strategy text was full of qualitative phrases — "calm market", "clear move" — and without numbers every implementation behaved differently.
Solution
A clarification session turned every phrase into a number, the conditions were written into the specification, and the code implements exactly those.
Why this design
The specification was signed off before any code, so no disagreement could appear after delivery. It matches how EURUSD is actually traded and can be tested against the data already available.
Safeguards and risk control
Every rule that was ambiguous in the strategy text became an explicit, approved decision in the specification.
Our next-step proposal
The next step is documenting the second version of the strategy after a few weeks on demo.
Portfolio
Measured results
These are the figures the test produced — not a promise about future performance.
- 11 scenarios Scenario test coverage
- 18 Configurable inputs
- 700 Trades reviewed
- 9.9 % Max drawdown in test
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 strategy document or the verbal rules and finding the ambiguities on EURUSD.
Day 2–5
-
Written specification
CompletedWriting the numeric entry and exit conditions until no "it depends" is left. Three paragraphs of the original text were rewritten after the questions.
Day 6–14
-
Implementation
CompletedCoding the rules with every decision drawn on the chart for the client to inspect.
Day 15–31
-
Testing and validation
CompletedTesting the edges: missing data, wide spreads and unexpected EURUSD conditions.
Day 32–41
-
Handover and support
CompletedHandover with a table matching each client rule to the lines that implement it.
Day 42–45