The strategy buys when the 50-period EMA is above the 150-period EMA, closes sit above the 50-period EMA, and a hidden bullish RSI divergence appeared within 5 bars. It sells short on the bearish version of the setup, with stops and targets set from ATR.
Best run of 15. DAX 40, 1 hour, spread 3, from run pf:2026-10-12-DAX40-1h.tsv:3.
| Period | Up to 2026-10-12 |
| Instrument | DAX 40, 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 |
|---|---|---|---|---|---|---|
| DAX 40Best run | 1 hour | 1.50 | 228 | 41.23 | 11,249 EUR | -2,380 |
| USD/JPY | Daily | n/a | 39 | 51.28 | 12,660 USD | -2,200 |
| Silver | Daily | n/a | 22 | 54.55 | 12,064 USD | -3,686 |
| Nikkei 225 | 10 min | n/a | 400 | 40.25 | 8,576 USD | -8,226 |
| Brent Crude | 4 hours | n/a | 40 | 50.00 | 7,047 EUR | -3,465 |
| US Crude Oil | 30 min | n/a | 346 | 39.88 | 4,171 EUR | -4,007 |
| Nasdaq 100 | Daily | n/a | 24 | 45.83 | 3,768 EUR | -2,341 |
| DAX 40 | 15 min | n/a | 400 | 36.50 | 3,677 EUR | -2,294 |
| USD/JPY | 4 hours | n/a | 112 | 38.39 | 3,580 USD | -2,940 |
| Brent Crude | 5 min | n/a | 375 | 39.20 | 3,363 EUR | -1,693 |
| Nasdaq 100 | 3 min | n/a | 359 | 38.16 | 2,532 EUR | -2,265 |
| Dow Jones | 2 min | n/a | 328 | 36.28 | 2,421 EUR | -2,157 |
| Gold | 5 min | n/a | 371 | 39.08 | 1,242 EUR | -365 |
| Gold | 15 min | n/a | 415 | 36.14 | 1,092 EUR | -369 |
| Gold | Daily | n/a | 21 | 52.38 | 418 EUR | -411 |
Charts
Top 10 of 15 runs. The full list is in the table above.
The code
// ============================================================== // Hidden RSI Divergence ATR Bracket // ProRealAlgos Strategy Library | prorealalgos.com // Type: Pattern // Direction: Long & short // Timeframe tested: 1 hour // ============================================================== DEFPARAM CumulateOrders = false ONCE raw = 50 ONCE plbar = -1000 ONCE plosc = 0 ONCE pllow = 0 ONCE plset = 0 ONCE phbar = -1000 ONCE phosc = 0 ONCE phhigh = 0 ONCE phset = 0 emaf = ExponentialAverage[50](close) emas = ExponentialAverage[150](close) hh = highest[3](high) ll = lowest[3](low)
62 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 15 market and timeframe combinations. The best run was DAX 40, 1 hour, with a profit factor of 1.50 over 228 trades.
The best run had a maximum drawdown of 2,380 EUR at the tested position size, against a net result of 11,248 EUR.
It trades both long and short.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.