Portfolio

Mean reversion bot

A clarification session turned every phrase into a number, the conditions were written into the specification, and the code implements exactly those.

MT5 Professional trader Arash Nikpour Semi-automated trader

Project specifications

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
Trade flow

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.

  1. Discovery and problem framing

    Completed

    Reading the strategy document or the verbal rules and finding the ambiguities on EURUSD.

    Day 2–5

  2. Written specification

    Completed

    Writing 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

  3. Implementation

    Completed

    Coding the rules with every decision drawn on the chart for the client to inspect.

    Day 15–31

  4. Testing and validation

    Completed

    Testing the edges: missing data, wide spreads and unexpected EURUSD conditions.

    Day 32–41

  5. Handover and support

    Completed

    Handover with a table matching each client rule to the lines that implement it.

    Day 42–45