Zscore Return
- Experts
- Versione: 1.0
- Attivazioni: 5
Statistical mean-reversion EA: fades closes that sit more than a set number of standard deviations from the moving average, targeting the average.
Zscore Return is a fully automated Expert Advisor for MetaTrader 5 - statistical z-score mean reversion. Measures how far price has stretched in standard deviations - and trades the return. It is designed for XAUUSD (gold) and also runs on forex majors such as EURUSD and GBPUSD.
How it trades
- Z-score = (close - SMA) / standard deviation over the same period (default 50 bars).
- Entry - the last closed bar has a z-score at or beyond the entry level (default -2.0 for buys, +2.0 for sells) and closes in the trade direction (a turning candle).
- Range filter - no new trades when ADX is above the maximum (default 25).
- Target - the moving average itself, moved every bar. Setups with too little room versus the stop are skipped.
- Exits - hard ATR stop-loss, take-profit at the average, and a time stop after N bars.
Risk management (built in)
- Every trade is opened with a stop-loss. There is no martingale, no grid and no averaging down.
- Position size from risk % of equity (default 1%) or a fixed lot; lots are normalised to the broker's min / max / step and reduced if free margin is not enough.
- Daily loss limit: no new trades for the rest of the day once equity is down the set % from the day-start equity.
- Max spread filter, optional trading-hours filter, and no orders while the market is closed or trading on the symbol is disabled.
- Stop-loss / take-profit are always placed outside the broker's stops and freeze levels.
- Works on hedging and netting accounts (on netting accounts it opens only when the symbol has no other position).
- One position at a time per magic number; signals are evaluated once per closed bar (no repainting).
Inputs
| Input | Default |
|---|---|
| Signal timeframe | H1 |
| SMA / standard deviation period | 50 |
| Entry z-score (absolute) | 2.0 |
| ADX period | 14 |
| Skip new trades when ADX is above this (0 = off) | 25.0 |
| ATR period | 14 |
| Stop-loss distance (x ATR) | 1.5 |
| Skip if distance to the average is below stop x this | 0.7 |
| Move the take-profit to the current average every bar | true |
| Close a trade after N bars (0 = off) | 30 |
| Risk per trade (% of equity), used when Fixed lot = 0 | 1.0 |
| Fixed lot (0 = size from risk %) | 0.0 |
| Maximum lot per trade (0 = broker maximum) | 10.0 |
| Daily loss limit (% of day-start equity, 0 = off) | 3.0 |
| Max spread (points, 2-digit gold scale: 100 = 1.00 USD; 0 = off) | 50 |
| Max slippage (points, same scale) | 30 |
| Trade only inside the hours below | false |
| Trading start hour (server time, 0-23) | 1 |
| Trading end hour (server time, 0-23) | 22 |
| Show status panel on the chart | true |
| Magic number (change it to run several instances on one symbol) | 26102216 |
Recommended
- Symbol / timeframe: XAUUSD on the default timeframe shown above; also forex majors. Test other timeframes in the Strategy Tester first.
- Account: hedging or netting, any deposit that allows the broker's minimum lot with a sensible risk %.
- VPS: recommended for uninterrupted operation.
Important notes
- No trading system can guarantee profit. Past performance, in the tester or live, does not guarantee future results.
- Always test the EA in the MetaTrader 5 Strategy Tester and then on a demo account before using real money, with your broker's own data and spread.
- Hours are in your broker's server time.
- Start with a low risk % and use money you can afford to lose.
