The client's idea
Kamran Sharifi works NAS100 / XAUUSD on M5; the opening brief was: Execute the same signal I already see on my chart, automatically and without delay.
Project and starting point
The NAS100 and XAUUSD signal was being taken by hand with a visible delay — in the first minutes of the session the entry differed by several index points.
Solution architecture
The signal now feeds the execution layer directly, with sizing from stop distance, a slippage ceiling and order cancellation if price runs past the limit.
The indicator's own formula stayed untouched, so the client's signal remains the one they have trusted for years. It matches how NAS100 / XAUUSD is actually traded and can be tested against the data already available.
Why this design
The indicator's own formula stayed untouched, so the client's signal remains the one they have trusted for years. It matches how NAS100 / XAUUSD is actually traded and can be tested against the data already available.
Implemented capabilities
Modules and components built: Execution + slippage control.
Delivered output:
Automated indicator signal on NAS100 — NAS100 / XAUUSD (M5)
Specification document and the rule-to-code mapping table
Full MQL4 source, commented
Test report: Historical signal comparison
Parameter document and install guide (5 weeks)
Safeguards and risk control
The expert never reads future bars, and it stops opening positions when the connection drops.
Backtest and forward test method
Test method: Historical signal comparison.
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: MQL4, signal logs, NAS100 tick data.
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
Entry slippage in testing fell from a visible average to under half an index point, and the first month on demo missed no signal.
Limitations and cautions
The expert never reads future bars, and it stops opening positions when the connection drops.
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 chart dashboard showing the live signal and the filters that rejected a trade.
Portfolio
Measured results
These are the figures the test produced — not a promise about future performance.
- 0.4 pt Average execution slippage
- 38 ms Order round-trip time
- 418 Trades reviewed
- 2 Symbols covered