The idea buys when price closes at least 2% below a 55 period EMA, and sells short when it closes at least 2% above, provided the candle body is under 2%. Positions close when price returns to the EMA.
Best run of 41. EUR/USD, 3 min, spread 1, from run pf:2026-10-04-EURUSD-3m.tsv:1.
| Period | Up to 2026-10-04 |
| Instrument | EUR/USD, 3 minutes |
| Spread | 1 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 |
|---|---|---|---|---|---|---|
| EUR/USDBest run | 3 min | 5.65 | 127 | 33.86 | 692,090 USD | -49,159 |
| EUR/USD | 2 min | 5.09 | 188 | 29.79 | 899,442 USD | -53,696 |
| Nikkei 225 | 30 min | 1.34 | 413 | 61.50 | 26,803 USD | -6,288 |
| EUR/USD | 5 min | n/a | 87 | 34.48 | 521,711 USD | -50,484 |
| EUR/USD | 10 min | n/a | 41 | 34.15 | 204,818 USD | -38,222 |
| USD/JPY | 1 hour | n/a | 81 | 61.73 | 202,750 USD | -84,590 |
| EUR/USD | 15 min | n/a | 29 | 31.03 | 122,056 USD | -35,870 |
| EUR/USD | 30 min | n/a | 18 | 55.56 | 121,677 USD | -27,398 |
| USD/JPY | 30 min | n/a | 23 | 78.26 | 89,530 USD | -51,710 |
| EUR/USD | 1 hour | n/a | 46 | 67.39 | 68,753 USD | -30,664 |
| USD/JPY | 5 min | n/a | 3 | 100.00 | 44,910 USD | -12,640 |
| USD/JPY | 10 min | n/a | 6 | 66.67 | 39,520 USD | -30,080 |
| EUR/USD | 4 hours | n/a | 164 | 60.37 | 29,371 USD | -16,320 |
| Nikkei 225 | 1 hour | n/a | 595 | 54.45 | 26,961 USD | -6,895 |
| USD/JPY | 3 min | n/a | 1 | 100.00 | 14,270 USD | -5,320 |
| Dow Jones | 1 hour | n/a | 154 | 53.25 | 9,530 EUR | -5,321 |
| Nikkei 225 | 15 min | n/a | 175 | 59.43 | 8,979 USD | -6,696 |
| Nikkei 225 | 5 min | n/a | 53 | 60.38 | 8,760 USD | -3,217 |
| Nikkei 225 | 10 min | n/a | 82 | 56.10 | 7,003 USD | -4,361 |
| Dow Jones | 30 min | n/a | 125 | 52.00 | 6,547 EUR | -5,316 |
| FTSE 100 | Daily | n/a | 851 | 37.13 | 6,512 EUR | -3,511 |
| DAX 40 | 15 min | n/a | 149 | 59.73 | 5,983 EUR | -1,800 |
| Nasdaq 100 | 30 min | n/a | 427 | 56.67 | 5,546 EUR | -3,993 |
| Dow Jones | 15 min | n/a | 110 | 54.55 | 5,209 EUR | -3,236 |
| DAX 40 | 30 min | n/a | 385 | 52.21 | 4,686 EUR | -3,205 |
| FTSE 100 | 1 hour | n/a | 473 | 53.70 | 4,460 EUR | -1,619 |
| FTSE 100 | 4 hours | n/a | 553 | 49.37 | 3,813 EUR | -2,906 |
| Brent Crude | 3 min | n/a | 166 | 63.25 | 3,002 EUR | -1,959 |
| Silver | 1 min | n/a | 40 | 70.00 | 2,579 USD | -2,530 |
| Dow Jones | 3 min | n/a | 8 | 62.50 | 1,819 EUR | -1,430 |
| US Crude Oil | 1 min | n/a | 75 | 60.00 | 1,716 EUR | -1,329 |
| FTSE 100 | 30 min | n/a | 203 | 56.65 | 1,700 EUR | -1,381 |
| S&P 500 | 15 min | n/a | 137 | 58.39 | 1,291 EUR | -591 |
| S&P 500 | 1 hour | n/a | 536 | 48.32 | 1,164 EUR | -1,043 |
| S&P 500 | 30 min | n/a | 245 | 54.69 | 1,042 EUR | -615 |
| Gold | 2 min | n/a | 25 | 76.00 | 736 EUR | -194 |
| FTSE 100 | 15 min | n/a | 85 | 54.12 | 730 EUR | -661 |
| Gold | 3 min | n/a | 27 | 70.37 | 726 EUR | -336 |
| DAX 40 | 2 min | n/a | 1 | 100.00 | 515 EUR | -345 |
| Nasdaq 100 | 2 min | n/a | 2 | 100.00 | 473 EUR | -258 |
| Gold | 5 min | n/a | 36 | 58.33 | 389 EUR | -350 |
Charts
Top 10 of 41 runs. The full list is in the table above.
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================== // EMA Deviation Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: 3 minutes // ============================================================== DEFPARAM CumulateOrders = false ema = ExponentialAverage[55](close) body = ABS(close - open) / open * 100
17 more lines: the entry and exit rules.
Setup
On the long run with 997,000 bars the net result was 692,090 USD, against 692,090 USD on the standard 200,000-bar run. The older data alone gave 0 USD.
| Bars available | 997,000 |
| Net, standard 200,000-bar run | 692,090.00 USD |
| Net, long run | 692,090.00 USD |
| Net on the older data alone | 0.00 USD |
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 41 market and timeframe combinations. The best run was EUR/USD, 3 minutes, with a profit factor of 5.65 over 127 trades.
The best run had a maximum drawdown of 49,159 USD at the tested position size, against a net result of 692,090 USD.
It trades both long and short.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.