Case studies

Case study: Index basket position manager

The two indices are highly correlated; managing positions separately left both open through every reversal.

  • US30 / NAS100Market
  • M15TF
  • MT5Platform
  • 7 weeksDelivery window
  • 5Deliverables
Backtest and forward test method

The client's idea

Amirhossein Taheri works US30 / NAS100 on M15; the opening brief was: Manage the open US30 and NAS100 positions as one basket, not one by one.

Project and starting point

The two indices are highly correlated; managing positions separately left both open through every reversal.

Solution architecture

Basket management with a break-even move at a fixed threshold, staged profit exits and basket trailing, consistent with prop account rules.

The break-even move is calculated from the basket's profit rather than a single position's. It matches how US30 / NAS100 is actually traded and can be tested against the data already available.

Why this design

The break-even move is calculated from the basket's profit rather than a single position's. It matches how US30 / NAS100 is actually traded and can be tested against the data already available.

Implemented capabilities

Modules and components built: Staged exit + basket trailing.

Delivered output:
Index basket position manager — US30 / NAS100 (M15)
Specification document and the rule-to-code mapping table
Full MQL5 source, commented
Test report: Two-year test across both indices
Parameter document and install guide (7 weeks)

Safeguards and risk control

Every change starts from a saved backup, and the previous behaviour is kept as the test reference.

Backtest and forward test method

Test method: Two-year test across both indices.

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: MQL5, M5 and M15 data, a basket panel.

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

During the test the time spent holding open positions shortened, and the account never broke the prop rule on simultaneous exposure.

Limitations and cautions

Every change starts from a saved backup, and the previous behaviour is kept as the test reference.

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 a full technical review of the expert and clearing the old code's debts.

Portfolio

Measured results

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

  • 4 Concurrent position cap
  • 620 Trades reviewed
  • 8.1 % Max drawdown in test
  • 2 Symbols covered