Case studies

Case study: New York range bot

The client could not watch charts during working hours, and rushed decisions in their free two hours ruined the month.

  • USDCADMarket
  • M15TF
  • MT4Platform
  • 6 weeksDelivery window
  • 5Deliverables
Backtest and forward test method

The client's idea

Samira Bagheri works USDCAD on M15; the opening brief was: I have two hours a day: the bot needs to read the session range and decide on its own.

Project and starting point

The client could not watch charts during working hours, and rushed decisions in their free two hours ruined the month.

Solution architecture

The bot builds the session range, enters only on a retracement back inside it, and cancels every pending order at the end of the day.

The end-of-day cancel was built in from the start so no trade stays open unattended. It matches how USDCAD is actually traded and can be tested against the data already available.

Why this design

The end-of-day cancel was built in from the start so no trade stays open unattended. It matches how USDCAD is actually traded and can be tested against the data already available.

Implemented capabilities

Modules and components built: Range detection + end-of-day cancel.

Delivered output:
New York range bot — USDCAD (M15)
Specification document and the rule-to-code mapping table
Full MQL4 source, commented
Test report: Two-year test
Parameter document and install guide (6 weeks)

Safeguards and risk control

Every rule that was ambiguous in the strategy text became an explicit, approved decision in the specification.

Backtest and forward test method

Test method: Two-year test.

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: MQL4, M5 data, daily report.

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

In the test most trades closed within the first two hours of the session, and the client reads the end-of-day report on a phone.

Limitations and cautions

Every rule that was ambiguous in the strategy text became an explicit, approved decision in the specification.

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 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.

  • 480 Trades reviewed
  • 10.6 % Max drawdown in test
  • 1 Sessions controlled
  • 2 years Test window