The strategy buys when ADX(14) is above 43 and the 30, 46 and 80-period EMAs are stacked upward with the close above the 30-period EMA. It exits at a stop 1.8 times ATR(14) below entry or a target 3.3 times ATR(14) above.
Best run of 12. Nasdaq 100, 15 min, spread 3, from run sweeps:2026-10-07-NAS100-15m-opt.tsv:8.
| Period | Up to 2026-10-07 |
| Instrument | Nasdaq 100, 15 minutes |
| 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 | 15 min | n/a | 715 | 35.80 | 1,478 EUR | -1,359 |
| Silver | 1 hour | n/a | 11 | 45.45 | 375,029 USD | -310 |
| Nikkei 225 | Daily | n/a | 46 | 54.35 | 9,681 USD | -3,521 |
| Nikkei 225 | 4 hours | n/a | 101 | 41.58 | 4,447 USD | -3,054 |
| USD/JPY | Daily | n/a | 51 | 47.06 | 4,410 USD | -1,130 |
| Nikkei 225 | 1 hour | n/a | 394 | 33.76 | 3,739 USD | -3,331 |
| DAX 40 | 4 hours | n/a | 102 | 45.10 | 3,360 EUR | -1,205 |
| Brent Crude | Daily | n/a | 11 | 54.55 | 3,290 EUR | -1,174 |
| Dow Jones | Daily | n/a | 55 | 43.64 | 2,549 EUR | -1,403 |
| Gold | 3 min | n/a | 689 | 38.32 | 459 EUR | -205 |
| S&P 500 | 4 hours | n/a | 114 | 38.60 | 382 EUR | -197 |
| Gold | 2 min | n/a | 4 | 75.00 | 17.90 EUR | -9.70 |
Charts
Top 10 of 12 runs. The full list is in the table above.
The code
// ============================================================== // ADX Filtered EMA Stack Long // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long only // Timeframe tested: 15 minutes // ============================================================== DEFPARAM CumulateOrders = false ONCE islong = 0 ONCE isshort = 0 ONCE slprice = 0 ONCE tpprice = 0 emafast = ExponentialAverage[30](close) emamid = ExponentialAverage[46](close) emaslow = ExponentialAverage[80](close) myAdx = ADX[14] myAtr = AverageTrueRange[14](close)
57 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 12 market and timeframe combinations. The best run by trade count was Nasdaq 100, 15 minutes, with 715 trades.
The best run had a maximum drawdown of 1,359 EUR at the tested position size, against a net result of 1,478 EUR.
It only takes long trades.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.