The strategy buys a pullback to the 9-period EMA in an uptrend with price above the 50-period EMA, once price closes back above the 9-period EMA, and sells short on the mirror. Each trade uses a stop of 2 ATR(14) and a target of 3 ATR(14) from entry.
Best run of 11. Nasdaq 100, 4 hours, spread 3, from run pf:2026-10-10-NAS100-4h.tsv:1.
| Period | Up to 2026-10-10 |
| Instrument | Nasdaq 100, 4 hours |
| 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-10 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| Nasdaq 100Best run | 4 hours | 1.34 | 480 | 44.17 | 8,819 EUR | -1,899 |
| Silver | 4 hours | n/a | 464 | 37.93 | 19,485 USD | -13,986 |
| US Crude Oil | Daily | n/a | 176 | 48.30 | 10,488 EUR | -2,946 |
| Dow Jones | 4 hours | n/a | 157 | 44.59 | 10,391 EUR | -4,539 |
| Nikkei 225 | Daily | n/a | 171 | 40.35 | 9,201 USD | -7,531 |
| USD/JPY | Daily | n/a | 203 | 42.86 | 8,460 USD | -3,830 |
| Nasdaq 100 | Daily | n/a | 175 | 36.57 | 7,174 EUR | -5,189 |
| Brent Crude | Daily | n/a | 68 | 51.47 | 6,175 EUR | -3,603 |
| DAX 40 | 4 hours | n/a | 485 | 40.00 | 4,185 EUR | -2,366 |
| Brent Crude | 1 hour | n/a | 1,054 | 40.04 | 3,623 EUR | -2,805 |
| FTSE 100 | 4 hours | n/a | 478 | 42.47 | 3,324 EUR | -1,721 |
Charts
Top 10 of 11 runs. The full list is in the table above.
The code
// ============================================================== // EMA Pullback With ATR Bracket // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: 4 hours // ============================================================== DEFPARAM CumulateOrders = false ONCE taken = 0 emafast = ExponentialAverage[9](close) emaslow = ExponentialAverage[21](close) ematrend = ExponentialAverage[50](close) myAtr = AverageTrueRange[14](close)
35 more lines: the entry and exit rules.
Setup
Nasdaq 100 had no history beyond the standard run, so both runs used 28,000 bars.
| Bars available | 28,000 |
| Net, standard 200,000-bar run | 8,818.90 EUR |
| Net, long run | 8,818.90 EUR |
| Net on the older data alone | 0.00 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 11 market and timeframe combinations. The best run was Nasdaq 100, 4 hours, with a profit factor of 1.34 over 480 trades.
The best run had a maximum drawdown of 1,899 EUR at the tested position size, against a net result of 8,819 EUR.
It trades both long and short.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.