Portfolio

Prop account scaling bot

A state machine with defined risk steps, caps recalculated from the day's equity, and an automatic stop when any provider limit is approached.

MT5 Prop trader Ayrik Quant Desk Challenge-account execution team

Project specifications

Project specifications

Market
US30
TF
M5
Platform
MT5
Client type
Prop trader
Delivery window
8 weeks
Stack
MQL5, an equity simulator, state logs
Strategy
Risk laddering on daily equity
Modules
State machine + dynamic caps
Testing
Three growth and drawdown scenarios

Who this was for

Ayrik Quant Desk

Role
Challenge-account execution team
City
Tehran
Project reference
TBT-1403-10
Trade flow

The client's idea

Ayrik Quant Desk works US30 on M5; the opening brief was: Let the bot scale its risk as the account grows — without ever crossing the provider's rules.

Initial challenge

The team ran several challenge accounts with different caps and adjusted risk by hand — one human slip would end an account.

Solution

A state machine with defined risk steps, caps recalculated from the day's equity, and an automatic stop when any provider limit is approached.

Why this design

The risk steps were written as numbers in the specification, so changing them later is a management decision rather than a code change. It matches how US30 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 US30 filters.

Portfolio

Measured results

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

  • 2 Concurrent position cap
  • 5.6 % Max drawdown in test
  • 19 Configurable inputs
  • 99.7 % Runtime stability in test

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 US30 on M5 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.

    Day 6–15

  3. Implementation

    Completed

    Building the signal engine, risk module and execution layer as separate, testable pieces. Each risk step carries a state tag that is also written to the journal.

    Day 16–37

  4. Testing and validation

    Completed

    Backtest, forward test and trade-by-trade review on US30 data.

    Day 38–49

  5. Handover and support

    Completed

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

    Day 50–53