Buys when RSI(14) is below 20, stochastic %K(14) is below 25 and price is above 90% of the 200 EMA. Sells short when RSI(14) is above 65, %K(14) is above 75 and price is below the 200 EMA.
Best run of 46. Nasdaq 100, 1 hour, spread 3, from run pf:2026-10-05-NAS100-1h.tsv:12.
| Period | Up to 2026-10-05 |
| Instrument | Nasdaq 100, 1 hour |
| Spread | 3 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-07 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| Nasdaq 100Best run | 1 hour | 1.56 | 216 | 49.54 | 18,582 EUR | -4,383 |
| Nasdaq 100 | 30 min | 1.54 | 212 | 47.64 | 23,934 EUR | -4,942 |
| USD/JPY | 2 min | n/a | 4 | 75.00 | 169,470 USD | -116,370 |
| EUR/USD | 1 hour | n/a | 89 | 46.07 | 58,058 USD | -32,869 |
| Silver | 2 min | n/a | 120 | 51.67 | 48,250 USD | -16,707 |
| Silver | 3 min | n/a | 126 | 51.59 | 47,928 USD | -14,942 |
| Dow Jones | 1 hour | n/a | 53 | 60.38 | 38,762 EUR | -6,442 |
| EUR/USD | 10 min | n/a | 11 | 72.73 | 37,717 USD | -8,851 |
| EUR/USD | 15 min | n/a | 20 | 55.00 | 34,394 USD | -19,282 |
| Nikkei 225 | 10 min | n/a | 93 | 48.39 | 31,452 USD | -14,742 |
| Silver | 1 min | n/a | 52 | 55.77 | 29,918 USD | -6,636 |
| Nikkei 225 | 3 min | n/a | 51 | 52.94 | 26,991 USD | -20,500 |
| Silver | 5 min | n/a | 126 | 47.62 | 25,326 USD | -9,379 |
| Nikkei 225 | 5 min | n/a | 63 | 49.21 | 23,722 USD | -17,395 |
| EUR/USD | 3 min | n/a | 3 | 100.00 | 18,525 USD | -5,938 |
| Silver | 10 min | n/a | 173 | 46.82 | 17,614 USD | -7,619 |
| Nasdaq 100 | 15 min | n/a | 146 | 47.95 | 16,132 EUR | -5,171 |
| Dow Jones | 10 min | n/a | 44 | 47.73 | 13,890 EUR | -11,599 |
| Silver | 15 min | n/a | 208 | 42.79 | 13,645 USD | -11,371 |
| DAX 40 | 1 hour | n/a | 179 | 45.25 | 11,878 EUR | -4,804 |
| Dow Jones | 4 hours | n/a | 27 | 51.85 | 10,594 EUR | -8,906 |
| Nasdaq 100 | 3 min | n/a | 29 | 55.17 | 10,511 EUR | -4,524 |
| GBP/USD | 30 min | n/a | 47 | 57.45 | 9,864 USD | -3,373 |
| GBP/USD | 4 hours | n/a | 63 | 49.21 | 9,610 USD | -3,242 |
| DAX 40 | 15 min | n/a | 90 | 47.78 | 8,609 EUR | -7,907 |
| GBP/USD | 1 hour | n/a | 85 | 48.24 | 8,471 USD | -5,282 |
| Brent Crude | 10 min | n/a | 199 | 45.73 | 8,228 EUR | -4,304 |
| Brent Crude | 5 min | n/a | 119 | 47.90 | 8,144 EUR | -4,644 |
| US Crude Oil | 15 min | n/a | 300 | 41.67 | 6,392 EUR | -5,597 |
| US Crude Oil | 30 min | n/a | 361 | 42.38 | 6,137 EUR | -3,724 |
| US Crude Oil | 10 min | n/a | 237 | 43.04 | 5,859 EUR | -4,815 |
| S&P 500 | 15 min | n/a | 94 | 53.19 | 5,093 EUR | -1,504 |
| GBP/USD | 10 min | n/a | 17 | 64.71 | 4,942 USD | -2,129 |
| Nasdaq 100 | 1 min | n/a | 9 | 55.56 | 4,368 EUR | -3,698 |
| US Crude Oil | 1 hour | n/a | 261 | 42.53 | 3,998 EUR | -3,603 |
| S&P 500 | 30 min | n/a | 149 | 42.95 | 2,969 EUR | -2,258 |
| FTSE 100 | 3 min | n/a | 14 | 57.14 | 2,263 EUR | -1,178 |
| FTSE 100 | 5 min | n/a | 18 | 55.56 | 2,077 EUR | -1,719 |
| S&P 500 | 1 hour | n/a | 161 | 42.24 | 2,068 EUR | -1,406 |
| Gold | 3 min | n/a | 43 | 51.16 | 1,709 EUR | -881 |
| Gold | 2 min | n/a | 41 | 51.22 | 1,577 EUR | -1,199 |
| DAX 40 | Daily | n/a | 40 | 40.00 | 1,379 EUR | -1,333 |
| S&P 500 | 5 min | n/a | 30 | 50.00 | 1,301 EUR | -975 |
| S&P 500 | 3 min | n/a | 20 | 50.00 | 1,236 EUR | -769 |
| S&P 500 | 2 min | n/a | 6 | 66.67 | 937 EUR | -740 |
| Gold | Daily | n/a | 46 | 45.65 | 385 EUR | -163 |
Charts
Top 10 of 46 runs. The full list is in the table above.
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================== // RSI Stochastic Mean Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: 1 hour // ============================================================== DEFPARAM CumulateOrders = false ONCE stochk = 50 ema = ExponentialAverage[200](close) myRsi = RSI[14](close) hh = highest[14](high) ll = lowest[14](low)
21 more lines: the entry and exit rules.
Setup
Nasdaq 100 had no history beyond the standard run, so both runs used 114,000 bars.
| Bars available | 114,000 |
| Net, standard 200,000-bar run | 18,581.80 EUR |
| Net, long run | 19,001.00 EUR |
| Net on the older data alone | 419.20 EUR |
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 46 market and timeframe combinations. The best run was Nasdaq 100, 1 hour, with a profit factor of 1.56 over 216 trades.
The best run had a maximum drawdown of 4,383 EUR at the tested position size, against a net result of 18,582 EUR.
It trades both long and short.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.