The strategy buys when five EMA slopes are all positive and ordered from fastest to slowest, with RSI between 50 and 70 and above-average volume. It sells short on the mirror setup and closes when the slope ordering breaks or the fan score weakens.
Best run of 17. USD/JPY, Daily, spread 1, from run pf:2026-10-04-USDJPY-D.tsv:1.
| Period | Up to 2026-10-04 |
| Instrument | USD/JPY, Daily |
| 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 |
|---|---|---|---|---|---|---|
| USD/JPYBest run | Daily | 1.60 | 161 | 44.10 | 12,540 USD | -2,140 |
| Nikkei 225 | Daily | n/a | 146 | 45.21 | 8,112 USD | -7,342 |
| Dow Jones | 4 hours | n/a | 60 | 55.00 | 6,908 EUR | -1,912 |
| Nasdaq 100 | Daily | n/a | 139 | 45.32 | 4,183 EUR | -3,724 |
| Dow Jones | 30 min | n/a | 44 | 56.82 | 3,207 EUR | -2,481 |
| Nasdaq 100 | 1 hour | n/a | 146 | 51.37 | 2,330 EUR | -1,108 |
| Nasdaq 100 | 4 hours | n/a | 164 | 45.73 | 1,998 EUR | -1,758 |
| Brent Crude | 1 hour | n/a | 562 | 43.06 | 1,951 EUR | -1,809 |
| DAX 40 | 1 hour | n/a | 80 | 48.75 | 802 EUR | -658 |
| Gold | 1 hour | n/a | 84 | 36.90 | 551 EUR | -324 |
| USD/JPY | 30 min | n/a | 12 | 41.67 | 520 USD | -430 |
| USD/JPY | 15 min | n/a | 9 | 44.44 | 490 USD | -300 |
| DAX 40 | 3 min | n/a | 3 | 66.67 | 418 EUR | -356 |
| USD/JPY | 10 min | n/a | 1 | 100.00 | 230 USD | -0.00 |
| Nikkei 225 | 2 min | n/a | 1 | 100.00 | 70.90 USD | -47.60 |
| DAX 40 | 2 min | n/a | 1 | 100.00 | 43.60 EUR | -2.00 |
| Nasdaq 100 | 2 min | n/a | 1 | 100.00 | 24.50 EUR | -16.30 |
Charts
Top 10 of 17 runs. The full list is in the table above.
The code
// ============================================================== // EMA Ribbon Slope Alignment // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: Daily // ============================================================== DEFPARAM CumulateOrders = false emaa = ExponentialAverage[8](close) emab = ExponentialAverage[13](close) emac = ExponentialAverage[21](close) emad = ExponentialAverage[34](close) emae = ExponentialAverage[55](close) sa = (emaa - emaa[5]) / emaa[5] * 100 sb = (emab - emab[5]) / emab[5] * 100 sc = (emac - emac[5]) / emac[5] * 100 sd = (emad - emad[5]) / emad[5] * 100 se = (emae - emae[5]) / emae[5] * 100
45 more lines: the entry and exit rules.
Setup
USD/JPY had no history beyond the standard run, so both runs used 12,000 bars.
| Bars available | 12,000 |
| Net, standard 200,000-bar run | 12,540.00 USD |
| Net, long run | 12,540.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 17 market and timeframe combinations. The best run was USD/JPY, Daily, with a profit factor of 1.60 over 161 trades.
The best run had a maximum drawdown of 2,140 USD at the tested position size, against a net result of 12,540 USD.
It trades both long and short.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.