Buys when the close is 2.5% or more below its 50-period exponential moving average, and sells when it is 2.5% or more above that average. A signal fires once per change in trend state, and the strategy holds one contract, long only.
Best run of 48. Silver, Daily, spread 2, from run sweeps:2026-10-04-SILVER-D-opt.tsv:22.
| Period | Up to 2026-10-04 |
| Instrument | Silver, Daily |
| 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-04 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| SilverBest run | Daily | n/a | 151 | 72.19 | 15,021 USD | -11,319 |
| USD/JPY | 30 min | n/a | 2 | 100.00 | 653,160 USD | -260,990 |
| USD/JPY | 15 min | n/a | 1 | 100.00 | 561,900 USD | -245,400 |
| USD/JPY | 1 hour | n/a | 4 | 50.00 | 389,290 USD | -312,340 |
| EUR/USD | 30 min | n/a | 9 | 66.67 | 107,762 USD | -50,920 |
| Nikkei 225 | 10 min | n/a | 8 | 75.00 | 36,655 USD | -12,992 |
| Nikkei 225 | 15 min | n/a | 16 | 56.25 | 35,481 USD | -12,049 |
| Nikkei 225 | 4 hours | n/a | 64 | 73.44 | 33,736 USD | -8,960 |
| Dow Jones | Daily | n/a | 104 | 77.88 | 31,909 EUR | -8,975 |
| Nikkei 225 | 1 hour | n/a | 43 | 72.09 | 31,873 USD | -11,603 |
| EUR/USD | 4 hours | n/a | 11 | 45.45 | 30,858 USD | -28,220 |
| Nikkei 225 | 30 min | n/a | 28 | 64.29 | 22,681 USD | -12,720 |
| DAX 40 | Daily | n/a | 125 | 76.00 | 14,958 EUR | -4,743 |
| Nasdaq 100 | 30 min | n/a | 31 | 77.42 | 14,899 EUR | -5,831 |
| DAX 40 | 1 hour | n/a | 61 | 65.57 | 14,837 EUR | -5,810 |
| Nasdaq 100 | 1 hour | n/a | 59 | 66.10 | 13,740 EUR | -6,758 |
| Nasdaq 100 | 4 hours | n/a | 82 | 65.85 | 13,230 EUR | -5,672 |
| DAX 40 | 4 hours | n/a | 81 | 75.31 | 13,032 EUR | -5,779 |
| DAX 40 | 30 min | n/a | 24 | 66.67 | 12,527 EUR | -4,984 |
| Nasdaq 100 | Daily | n/a | 98 | 75.51 | 11,831 EUR | -4,499 |
| Nasdaq 100 | 15 min | n/a | 20 | 80.00 | 10,505 EUR | -5,831 |
| Nasdaq 100 | 5 min | n/a | 4 | 100.00 | 10,120 EUR | -5,875 |
| US Crude Oil | 10 min | n/a | 51 | 64.71 | 8,258 EUR | -3,407 |
| FTSE 100 | Daily | n/a | 76 | 77.63 | 7,963 EUR | -2,804 |
| Nasdaq 100 | 10 min | n/a | 8 | 75.00 | 7,438 EUR | -5,844 |
| US Crude Oil | 15 min | n/a | 110 | 63.64 | 7,214 EUR | -5,219 |
| Brent Crude | 10 min | n/a | 37 | 56.76 | 5,620 EUR | -4,454 |
| Nasdaq 100 | 3 min | n/a | 2 | 50.00 | 5,050 EUR | -2,666 |
| DAX 40 | 10 min | n/a | 3 | 66.67 | 5,028 EUR | -4,419 |
| FTSE 100 | 4 hours | n/a | 50 | 78.00 | 4,780 EUR | -2,986 |
| Brent Crude | 3 min | n/a | 17 | 64.71 | 4,731 EUR | -2,851 |
| S&P 500 | 4 hours | n/a | 52 | 71.15 | 4,538 EUR | -1,298 |
| FTSE 100 | 1 hour | n/a | 37 | 67.57 | 4,195 EUR | -2,671 |
| Brent Crude | 5 min | n/a | 21 | 66.67 | 3,828 EUR | -3,040 |
| S&P 500 | 30 min | n/a | 18 | 77.78 | 3,736 EUR | -1,319 |
| Gold | 30 min | n/a | 20 | 65.00 | 3,686 EUR | -1,097 |
| S&P 500 | Daily | n/a | 101 | 71.29 | 3,468 EUR | -953 |
| Brent Crude | 2 min | n/a | 15 | 66.67 | 3,435 EUR | -3,010 |
| Dow Jones | 5 min | n/a | 2 | 100.00 | 3,173 EUR | -1,058 |
| S&P 500 | 1 hour | n/a | 42 | 69.05 | 2,840 EUR | -1,317 |
| GBP/USD | 10 min | n/a | 1 | 100.00 | 2,839 USD | -1,328 |
| Gold | 1 hour | n/a | 40 | 62.50 | 2,350 EUR | -1,109 |
| S&P 500 | 5 min | n/a | 3 | 100.00 | 2,060 EUR | -572 |
| Gold | 15 min | n/a | 7 | 57.14 | 2,005 EUR | -1,105 |
| Dow Jones | 3 min | n/a | 1 | 100.00 | 1,928 EUR | -918 |
| FTSE 100 | 15 min | n/a | 10 | 70.00 | 1,804 EUR | -1,308 |
| Gold | 4 hours | n/a | 56 | 71.43 | 1,127 EUR | -823 |
| S&P 500 | 3 min | n/a | 1 | 100.00 | 282 EUR | -147 |
Charts
Top 10 of 48 runs. The full list is in the table above.
The code
// ============================================================== // EMA Deviation Mean Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: Daily // ============================================================== DEFPARAM CumulateOrders = false ONCE trend = 0 emaval = ExponentialAverage[50](close) diff = (close / emaval * 100) - 100 longsig = 0 exitsig = 0
21 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 48 market and timeframe combinations. The best run by trade count was Silver, Daily, with 151 trades.
The best run had a maximum drawdown of 11,318 USD at the tested position size, against a net result of 15,020 USD.
It only takes long trades.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.