The client's idea
Farzaneh Alavi works EURUSD / GBPUSD on M15; the opening brief was: Tell me which session actually moves each pair, without digging through history.
Project and starting point
To pick trading hours the client reviewed history by hand, and the conclusion differed each time.
Solution architecture
A session map that measures each session's range over the chosen period and paints it on the chart, with a numeric summary underneath.
The measurement window is configurable so the client can compare last month against two years. It matches how EURUSD / GBPUSD is actually traded and can be tested against the data already available.
Why this design
The measurement window is configurable so the client can compare last month against two years. It matches how EURUSD / GBPUSD is actually traded and can be tested against the data already available.
Implemented capabilities
Modules and components built: Colour map + numeric summary.
Delivered output:
Session map indicator — EURUSD / GBPUSD (M15)
Specification document and the rule-to-code mapping table
Full MQL4 source, commented
Test report: Two years compared
Parameter document and install guide (5 weeks)
Safeguards and risk control
The indicator only reads and never sends an order, and its load on the terminal was measured.
Backtest and forward test method
Test method: Two years compared.
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, two years of data, session statistics.
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
The client changed their trading hours based on the output, and trades taken in their weakest session fell to under a third.
Limitations and cautions
The indicator only reads and never sends an order, and its load on the terminal was measured.
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 an output the expert can consume, turning the signal into execution.
Portfolio
Measured results
These are the figures the test produced — not a promise about future performance.
- 12,000 Bars in the test set
- 3 Sessions controlled
- 99.9 % Runtime stability in test
- 2 years Test window