Portfolio

Multi-symbol expert advisor

A shared signal core with per-symbol parameters, an account-level basket risk cap, and entry priority ordered by signal strength.

MT5 Professional trader Rayan Algorithmic Team Three-person algorithmic desk

Project specifications

Project specifications

Market
EURUSD / GBPUSD / USDJPY
TF
M30
Platform
MT5
Client type
Professional trader
Delivery window
9 weeks
Stack
MQL5, market-data service, Python reporting scripts
Strategy
Breakout + session filter
Modules
Basket risk
Testing
Optimization

Who this was for

Rayan Algorithmic Team

Role
Three-person algorithmic desk
City
Tehran
Project reference
TBT-1401-02
Trade flow

The client's idea

Rayan Algorithmic Team works EURUSD / GBPUSD / USDJPY on M30; the opening brief was: One bot for three symbols, without losing sight of the risk across all open positions.

Initial challenge

Running three symbols at once while keeping total exposure in view: each pair behaved on its own, but on volatile days the combined exposure ran away.

Solution

A shared signal core with per-symbol parameters, an account-level basket risk cap, and entry priority ordered by signal strength.

Why this design

One shared core with a separate filter per symbol keeps the code maintainable for a small team. It matches how EURUSD / GBPUSD / USDJPY is actually traded and can be tested against the data already available.

Safeguards and risk control

Per-trade risk is derived from stop distance, the daily loss cap is enforced in code, and the kill switch is independent of the signal logic.

Our next-step proposal

The next step for this project is a monthly performance report and an annual review of the EURUSD / GBPUSD / USDJPY filters.

Portfolio

Measured results

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

  • 3 Concurrent position cap
  • 3 Symbols covered
  • 9.4 % Max drawdown in test
  • 27 Configurable inputs

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

    Framing EURUSD / GBPUSD / USDJPY on M30 and reading back the client's written rules.

    Day 2–5

  2. Written specification

    Completed

    Turning the rules into codeable conditions: entries, exits, filters, sizing. The basket risk allocation was written in the specification, separate from each symbol's logic.

    Day 6–14

  3. Implementation

    Completed

    Building the signal engine, risk module and execution layer as separate, testable pieces.

    Day 15–39

  4. Testing and validation

    Completed

    Backtest, forward test and trade-by-trade review on EURUSD / GBPUSD / USDJPY data.

    Day 40–55

  5. Handover and support

    Completed

    Handover of the source, the parameter document and a demo-account install.

    Day 56–59