This idea buys when the price moves well below its recent average and begins turning back up. It closes the long when the z-score returns above a high level and starts falling, using one long position at a time.
Best run of 18. Silver, 1 hour, spread 2, from run pf:2026-10-12-SILVER-1h.tsv:18.
| Period | Up to 2026-10-12 |
| Instrument | Silver, 1 hour |
| Spread | 2 points |
| Starting capital | 1,000,000 |
| Costs | Spread only. Commissions and overnight financing are not included. |
| Bars | Up to 200,000 bars, fewer where the instrument has less history |
| Last tested | 2026-10-12 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| SilverBest run | 1 hour | 3.77 | 1,777 | 62.80 | 537,148 USD | -38,840 |
| FTSE 100 | Daily | 2.17 | 196 | 78.06 | 11,394 EUR | -2,643 |
| USD/JPY | 4 hours | n/a | 547 | 66.18 | 282,510 USD | -248,460 |
| Dow Jones | Daily | n/a | 241 | 76.35 | 29,166 EUR | -8,615 |
| Nikkei 225 | 4 hours | n/a | 397 | 70.03 | 23,922 USD | -11,536 |
| Silver | Daily | n/a | 204 | 69.61 | 20,564 USD | -11,221 |
| Dow Jones | 1 hour | n/a | 635 | 69.76 | 17,886 EUR | -8,696 |
| DAX 40 | 4 hours | n/a | 489 | 69.94 | 17,439 EUR | -5,659 |
| Nasdaq 100 | 4 hours | n/a | 502 | 73.90 | 16,773 EUR | -5,641 |
| Nasdaq 100 | 1 hour | n/a | 1,835 | 66.76 | 14,448 EUR | -4,337 |
| Nikkei 225 | 1 hour | n/a | 1,424 | 63.34 | 12,767 USD | -10,860 |
| Nasdaq 100 | Daily | n/a | 168 | 72.02 | 10,166 EUR | -4,522 |
| DAX 40 | Daily | n/a | 224 | 67.41 | 10,131 EUR | -5,272 |
| FTSE 100 | 1 hour | n/a | 1,719 | 67.83 | 4,514 EUR | -2,692 |
| S&P 500 | 4 hours | n/a | 500 | 73.20 | 4,077 EUR | -1,384 |
| FTSE 100 | 4 hours | n/a | 457 | 68.05 | 3,628 EUR | -2,635 |
| S&P 500 | Daily | n/a | 238 | 76.05 | 3,191 EUR | -1,098 |
| S&P 500 | 1 hour | n/a | 1,882 | 66.15 | 2,810 EUR | -1,088 |
Charts
Top 10 of 18 runs. The full list is in the table above.
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================== // Weighted Average Z Score Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: 1 hour // ============================================================== DEFPARAM CumulateOrders = false ONCE rate = 0 fp = WeightedAverage[3](TotalPrice) sd = STD[17](fp) em = ExponentialAverage[17](fp)
13 more lines: the entry and exit rules.
Setup
Questions
Yes. The code is ProBuilder and runs as an automated ProOrder system. Backtest it on your own account with your own spread and position size before trading it live.
It was tested on 18 market and timeframe combinations. The best run was Silver, 1 hour, with a profit factor of 3.77 over 1,777 trades.
The best run had a maximum drawdown of 38,840 USD at the tested position size, against a net result of 537,148 USD.
It only takes long trades.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.