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
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.
-
Discovery and problem framing
CompletedFraming US30 on M5 and reading back the client's written rules.
Day 2–5
-
Written specification
CompletedTurning the rules into codeable conditions: entries, exits, filters, sizing.
Day 6–15
-
Implementation
CompletedBuilding 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
-
Testing and validation
CompletedBacktest, forward test and trade-by-trade review on US30 data.
Day 38–49
-
Handover and support
CompletedHandover of the source, the parameter document and a demo-account install.
Day 50–53