Buys when price is below the 5-bar and 12-bar EMAs, at a 12-bar closing low and at or below the lower 20-bar band. Sells when price is above both EMAs, at a 12-bar closing high and at or above the upper band.
Best run of 33. EUR/USD, 2 min, spread 1, from run pf:2026-10-05-EURUSD-2m.tsv:1.
| Period | Up to 2026-10-05 |
| Instrument | EUR/USD, 2 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-05 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| EUR/USDBest run | 2 min | 1.95 | 2,655 | 57.40 | 264,709 USD | -31,103 |
| EUR/USD | 3 min | 1.86 | 2,648 | 60.01 | 181,259 USD | -21,419 |
| EUR/USD | 5 min | 1.62 | 2,631 | 61.61 | 123,929 USD | -21,413 |
| EUR/USD | 10 min | 1.37 | 2,671 | 63.83 | 86,146 USD | -11,842 |
| USD/JPY | 4 hours | n/a | 484 | 67.56 | 407,370 USD | -233,480 |
| USD/JPY | Daily | n/a | 68 | 70.59 | 270,350 USD | -232,520 |
| EUR/USD | 4 hours | n/a | 624 | 63.94 | 43,283 USD | -28,314 |
| Nikkei 225 | 1 hour | n/a | 831 | 65.46 | 25,833 USD | -10,890 |
| Nikkei 225 | Daily | n/a | 63 | 57.14 | 21,182 USD | -8,437 |
| Dow Jones | Daily | n/a | 41 | 65.85 | 19,918 EUR | -7,166 |
| Dow Jones | 4 hours | n/a | 155 | 71.61 | 19,516 EUR | -7,683 |
| Nikkei 225 | 30 min | n/a | 1,658 | 65.02 | 18,077 USD | -14,698 |
| EUR/USD | 15 min | n/a | 2,766 | 64.17 | 15,229 USD | -14,415 |
| DAX 40 | Daily | n/a | 64 | 65.62 | 15,077 EUR | -2,885 |
| Nasdaq 100 | 1 hour | n/a | 944 | 69.81 | 13,199 EUR | -7,950 |
| Nasdaq 100 | Daily | n/a | 58 | 60.34 | 12,676 EUR | -4,114 |
| Nasdaq 100 | 4 hours | n/a | 243 | 72.02 | 12,564 EUR | -4,281 |
| DAX 40 | 4 hours | n/a | 254 | 69.69 | 11,745 EUR | -4,217 |
| Dow Jones | 10 min | n/a | 2,674 | 67.39 | 10,697 EUR | -7,327 |
| Dow Jones | 1 hour | n/a | 610 | 67.38 | 9,742 EUR | -8,415 |
| Dow Jones | 30 min | n/a | 1,152 | 67.97 | 8,732 EUR | -7,927 |
| Brent Crude | 30 min | n/a | 1,757 | 66.36 | 8,712 EUR | -3,146 |
| DAX 40 | 1 hour | n/a | 870 | 65.40 | 7,334 EUR | -3,889 |
| Dow Jones | 15 min | n/a | 2,198 | 68.61 | 7,147 EUR | -6,551 |
| FTSE 100 | 1 hour | n/a | 917 | 70.45 | 5,674 EUR | -2,202 |
| S&P 500 | 4 hours | n/a | 233 | 73.39 | 3,485 EUR | -1,132 |
| S&P 500 | Daily | n/a | 55 | 65.45 | 2,809 EUR | -877 |
| FTSE 100 | 15 min | n/a | 2,684 | 67.32 | 2,670 EUR | -2,610 |
| FTSE 100 | 4 hours | n/a | 230 | 66.09 | 2,626 EUR | -1,908 |
| S&P 500 | 1 hour | n/a | 902 | 68.18 | 2,444 EUR | -1,240 |
| FTSE 100 | 10 min | n/a | 2,652 | 67.01 | 2,341 EUR | -2,032 |
| S&P 500 | 30 min | n/a | 1,698 | 67.79 | 1,809 EUR | -1,201 |
| Gold | Daily | n/a | 81 | 62.96 | 823 EUR | -671 |
Charts
Top 10 of 33 runs. The full list is in the table above.
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================== // Pump Avoiding Mean Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: 2 minutes // ============================================================== DEFPARAM CumulateOrders = false emashort = ExponentialAverage[5](close) emamed = ExponentialAverage[12](close) tp = (high + low + close) / 3 mid = Average[20](tp) sd = STD[20](tp) * SQRT(20 / 19) bbup = mid + 2 * sd bblow = mid - 2 * sd lowwin = Lowest[12](close) highwin = Highest[12](close) volavg = Average[30](volume)
14 more lines: the entry and exit rules.
Setup
On the long run with 997,000 bars the net result was 195,147 USD, against 264,709 USD on the standard 200,000-bar run. The older data alone gave -69,562 USD.
| Bars available | 997,000 |
| Net, standard 200,000-bar run | 264,709.00 USD |
| Net, long run | 195,147.00 USD |
| Net on the older data alone | -69,562.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 33 market and timeframe combinations. The best run was EUR/USD, 2 minutes, with a profit factor of 1.95 over 2,655 trades.
The best run had a maximum drawdown of 31,103 USD at the tested position size, against a net result of 264,709 USD.
It only takes long trades.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.