The client's idea
Shahab Moradi works EURUSD / GBPUSD on M15; the opening brief was: Get this running on a stable server, and give me steps I can repeat myself later.
Project and starting point
The expert ran on a home PC: a power or internet cut left open positions unattended.
Solution architecture
A staged server rollout, daily monitoring, a rollback plan, and every step written down so the client can repeat it alone.
The runbook was written so someone else could execute it, not just the person who did it. It matches how EURUSD / GBPUSD is actually traded and can be tested against the data already available.
Why this design
The runbook was written so someone else could execute it, not just the person who did it. It matches how EURUSD / GBPUSD is actually traded and can be tested against the data already available.
Implemented capabilities
Modules and components built: Rollback + daily monitoring.
Delivered output:
VPS deployment runbook — EURUSD / GBPUSD (M15)
Specification document and the rule-to-code mapping table
Full MQL5 source, commented
Test report: Seven-day pilot run
Parameter document and install guide (4 weeks)
Safeguards and risk control
Every first run happens on a demo account, and the pre-live checklist is filled in before the live connection.
Backtest and forward test method
Test method: Seven-day pilot run.
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, cloud VPS, an operations checklist.
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
After seven days with no unexpected outage the client deployed a test build to a second server alone, following the same steps.
Limitations and cautions
Every first run happens on a demo account, and the pre-live checklist is filled in before the live connection.
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 quarterly settings review and keeping the documentation current with broker changes.
Portfolio
Measured results
These are the figures the test produced — not a promise about future performance.
- 100 % Runtime stability in test
- 12 scenarios Scenario test coverage
- 55 ms Order round-trip time
- 2 min Recovery after drawdown