Case studies

Case study: MT4 to MT5 portfolio migration

Three MT4 experts shared one account, with scattered and inconsistent position handling, magic numbers and basket logic.

  • EURUSD / GBPUSDMarket
  • M15TF
  • MT4 / MT5Platform
  • 10 weeksDelivery window
  • 5Deliverables
Backtest and forward test method

The client's idea

ParsFund Investment works EURUSD / GBPUSD on M15; the opening brief was: Bring three legacy experts and their shared basket logic to MT5 — without changing the outcome.

Project and starting point

Three MT4 experts shared one account, with scattered and inconsistent position handling, magic numbers and basket logic.

Solution architecture

A unified MT5 order layer, per-module magic numbers and one shared basket manager for partial closes and trailing.

Why this design

The strategy logic was untouched: only the layer that talks to the server was rewritten. It matches how EURUSD / GBPUSD is actually traded and can be tested against the data already available.

Implemented capabilities

Order logic conversion, timeframe normalization, netting/hedging handling and a consistent input set across all three modules.

Safeguards and risk control

The old build is not removed from the live account until the MT5 results match it.

Backtest and forward test method

A regression backtest over the same data window in MT4 and MT5, comparing trade count, error rate and the equity path.

Publishable results

All three modules now run on MT5 through the shared order layer, with the behavioural difference against MT4 documented and reviewable.

Limitations and cautions

The inherent differences in execution model and spread between the two platforms produce a small result variance that has to be accepted.

Our next-step proposal

The next step is reviewing behaviour under missing data and server reconnects.

Portfolio

Measured results

These are the figures the test produced — not a promise about future performance.

  • 98 % Parity with the previous build
  • 2 Symbols covered
  • 3 Regressions caught
  • 1.2 M Bars in the test set