Portfolio

Trade copier panel

A copier panel with an order queue, per-account size ratios, an exposure cap for each client and a full audit log.

MT5 Team / company Mehravard Account Management Client account management team

Project specifications

Project specifications

Market
EURUSD / GBPUSD
TF
M5
Platform
MT5
Client type
Team / company
Delivery window
8 weeks
Stack
MQL5, shared file, concurrency logs
Strategy
Size-ratio copying + exposure control
Modules
Order queue + size allocation
Testing
Concurrency test across four accounts

Who this was for

Mehravard Account Management

Role
Client account management team
City
Tehran
Project reference
TBT-1405-15
Trade flow

The client's idea

Mehravard Account Management works EURUSD / GBPUSD on M5; the opening brief was: A panel that mirrors the master account's trades to client accounts at the right size ratio.

Initial challenge

Copying trades by hand across six accounts produced size errors and delays on busy days.

Solution

A copier panel with an order queue, per-account size ratios, an exposure cap for each client and a full audit log.

Why this design

The queue keeps one slow account from blocking the rest. It matches how EURUSD / GBPUSD 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.

  • 120 ms Order round-trip time
  • 100 % Parity with the previous build
  • 99.6 % Runtime stability in test
  • 8 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.

  1. Discovery and problem framing

    Completed

    Reading the existing code or the client's requirement and fixing the scope of the change on EURUSD / GBPUSD.

    Day 2–5

  2. Written specification

    Completed

    Writing the function contract, file layout and naming rules before any code.

    Day 6–15

  3. Implementation

    Completed

    Implementing in MQL with separated layers and no logic duplicated across files.

    Day 16–35

  4. Testing and validation

    Completed

    Compiling without warnings, unit-testing the functions and running historical EURUSD / GBPUSD data.

    Day 36–47

  5. Handover and support

    Completed

    Handover of an organised, commented source that is ready for the next change. The team walkthrough included the scenario where one account goes offline.

    Day 48–51