Buys when volume is more than 1.5 times its 20-bar average, ATR(14) is within one standard deviation of its mean, and a drift measure is rising. The long closes at market when the low touches or passes a trailing line 2 ATR below, which only moves higher.
Best run of 17. Nasdaq 100, 15 min, spread 3, from run sweeps:2026-10-10-NAS100-15m-opt.tsv:5.
| Period | Up to 2026-10-10 |
| 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-11 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| Nasdaq 100Best run | 15 min | n/a | 2,649 | 35.94 | 3,033 EUR | -2,793 |
| USD/JPY | Daily | n/a | 44 | 43.18 | 334,630 USD | -163,600 |
| USD/JPY | 4 hours | n/a | 340 | 41.76 | 204,090 USD | -107,500 |
| Silver | 4 hours | n/a | 545 | 36.51 | 23,236 USD | -9,982 |
| Nikkei 225 | 1 hour | n/a | 1,166 | 39.19 | 17,555 USD | -12,680 |
| Nikkei 225 | Daily | n/a | 46 | 45.65 | 13,646 USD | -8,237 |
| DAX 40 | 1 hour | n/a | 1,464 | 41.46 | 12,076 EUR | -5,051 |
| Nasdaq 100 | 1 hour | n/a | 1,035 | 44.44 | 10,092 EUR | -3,672 |
| Nasdaq 100 | 4 hours | n/a | 438 | 40.41 | 8,739 EUR | -4,592 |
| Dow Jones | 30 min | n/a | 1,588 | 36.96 | 8,029 EUR | -7,089 |
| Brent Crude | 1 hour | n/a | 1,291 | 40.05 | 6,968 EUR | -4,689 |
| US Crude Oil | 4 hours | n/a | 614 | 37.46 | 5,604 EUR | -5,455 |
| DAX 40 | 4 hours | n/a | 447 | 41.39 | 4,944 EUR | -4,560 |
| Brent Crude | Daily | n/a | 48 | 43.75 | 3,759 EUR | -2,831 |
| FTSE 100 | 4 hours | n/a | 427 | 40.05 | 2,222 EUR | -1,512 |
| S&P 500 | Daily | n/a | 38 | 65.79 | 1,803 EUR | -920 |
| S&P 500 | 4 hours | n/a | 440 | 40.45 | 1,552 EUR | -721 |
Charts
Top 10 of 17 runs. The full list is in the table above.
The code
// ============================================================== // Volume Surge ATR Drift Long // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long only // Timeframe tested: 15 minutes // ============================================================== DEFPARAM CumulateOrders = false ONCE slp = 0 myAtr = AverageTrueRange[14](close) avgatr = Average[14](myAtr) stdatr = STD[14](myAtr) tsldist = AverageTrueRange[14](close) * 2.0 IF NOT LongOnMarket THEN slp = low - tsldist ELSE slp = MAX(slp, low - tsldist) ENDIF avgvol = Average[20](volume)
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 17 market and timeframe combinations. The best run by trade count was Nasdaq 100, 15 minutes, with 2,649 trades.
The best run had a maximum drawdown of 2,793 EUR at the tested position size, against a net result of 3,033 EUR.
It only takes long trades.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.