The strategy buys when the 20-period EMA crosses above the 50-period EMA with the close above the 200-period EMA and RSI(14) at or below 70. It holds the long until a stop, a target, or the 20-period EMA crosses below the 50-period EMA.
Best run of 14. Dow Jones, 1 hour, spread 3, from run pf:2026-10-12-DOW30-1h.tsv:2.
| Period | Up to 2026-10-12 |
| Instrument | Dow Jones, 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-12 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| Dow JonesBest run | 1 hour | 1.33 | 231 | 36.80 | 7,610 EUR | -1,888 |
| Nikkei 225 | 1 hour | n/a | 578 | 32.70 | 15,966 USD | -4,070 |
| Nasdaq 100 | Daily | n/a | 81 | 45.68 | 10,611 EUR | -1,307 |
| Nikkei 225 | 4 hours | n/a | 159 | 37.11 | 9,886 USD | -6,100 |
| Dow Jones | 30 min | n/a | 435 | 33.79 | 8,387 EUR | -2,197 |
| Dow Jones | 4 hours | n/a | 70 | 42.86 | 7,765 EUR | -3,366 |
| Dow Jones | Daily | n/a | 105 | 36.19 | 7,619 EUR | -4,360 |
| USD/JPY | Daily | n/a | 67 | 41.79 | 6,490 USD | -1,370 |
| US Crude Oil | Daily | n/a | 57 | 42.11 | 5,546 EUR | -1,917 |
| DAX 40 | Daily | n/a | 101 | 39.60 | 3,276 EUR | -2,312 |
| DAX 40 | 1 hour | n/a | 641 | 32.76 | 2,073 EUR | -1,707 |
| S&P 500 | 4 hours | n/a | 210 | 39.05 | 1,249 EUR | -693 |
| S&P 500 | Daily | n/a | 115 | 35.65 | 1,129 EUR | -545 |
| S&P 500 | 1 hour | n/a | 745 | 33.15 | 1,049 EUR | -498 |
Charts
Top 10 of 14 runs. The full list is in the table above.
The code
// ============================================================== // EMA Crossover Swing With RSI Filter // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long only // Timeframe tested: 1 hour // ============================================================== DEFPARAM CumulateOrders = false emaf = ExponentialAverage[20](close) emas = ExponentialAverage[50](close) emat = ExponentialAverage[200](close) myRsi = RSI[14](close) myAtr = AverageTrueRange[14](close)
18 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 14 market and timeframe combinations. The best run was Dow Jones, 1 hour, with a profit factor of 1.33 over 231 trades.
The best run had a maximum drawdown of 1,888 EUR at the tested position size, against a net result of 7,610 EUR.
It only takes long trades.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.