The strategy buys when price breaks above the prior 20-bar high after Bollinger band width was compressed, with above average volume and a close above the 200-bar average. It exits at market when the close falls below the higher of a fixed stop and a trailing stop.
Best run of 24. Nasdaq 100, 1 hour, spread 3, from run pf:2026-10-04-NAS100-1h.tsv:1.
| Period | Up to 2026-10-04 |
| Instrument | Nasdaq 100, 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-04 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| Nasdaq 100Best run | 1 hour | 1.44 | 447 | 40.72 | 9,781 EUR | -1,694 |
| USD/JPY | 1 hour | n/a | 626 | 35.30 | 362,980 USD | -153,220 |
| USD/JPY | 30 min | n/a | 1,226 | 36.62 | 348,940 USD | -144,870 |
| USD/JPY | 10 min | n/a | 1,153 | 32.35 | 98,790 USD | -79,900 |
| Silver | 4 hours | n/a | 176 | 39.77 | 19,649 USD | -17,035 |
| Nikkei 225 | Daily | n/a | 27 | 44.44 | 16,518 USD | -6,005 |
| Nikkei 225 | 4 hours | n/a | 108 | 38.89 | 12,027 USD | -5,184 |
| Nikkei 225 | 1 hour | n/a | 369 | 34.69 | 11,439 USD | -5,840 |
| Nasdaq 100 | Daily | n/a | 25 | 60.00 | 9,199 EUR | -2,140 |
| Nasdaq 100 | 30 min | n/a | 953 | 36.94 | 6,130 EUR | -3,001 |
| DAX 40 | 1 hour | n/a | 407 | 38.08 | 5,989 EUR | -1,854 |
| Dow Jones | 4 hours | n/a | 64 | 35.94 | 5,324 EUR | -4,144 |
| Dow Jones | 5 min | n/a | 868 | 33.76 | 4,047 EUR | -1,629 |
| Brent Crude | Daily | n/a | 16 | 62.50 | 3,773 EUR | -3,131 |
| Brent Crude | 4 hours | n/a | 101 | 39.60 | 3,270 EUR | -2,315 |
| Nasdaq 100 | 4 hours | n/a | 113 | 38.94 | 2,977 EUR | -2,221 |
| Gold | 30 min | n/a | 1,164 | 34.02 | 1,722 EUR | -520 |
| Gold | 4 hours | n/a | 208 | 37.02 | 1,376 EUR | -745 |
| S&P 500 | 4 hours | n/a | 102 | 46.08 | 1,106 EUR | -624 |
| S&P 500 | Daily | n/a | 23 | 47.83 | 1,100 EUR | -633 |
| Gold | Daily | n/a | 34 | 35.29 | 996 EUR | -456 |
| S&P 500 | 1 hour | n/a | 440 | 39.32 | 980 EUR | -506 |
| Gold | 1 hour | n/a | 623 | 33.23 | 740 EUR | -635 |
| Gold | 15 min | n/a | 1,177 | 31.44 | 735 EUR | -550 |
Charts
Top 10 of 24 runs. The full list is in the table above.
The code
// ============================================================== // Volatility Compression Breakout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long only // Timeframe tested: 1 hour // ============================================================== DEFPARAM CumulateOrders = false ONCE entrystop = 0 ONCE hwm = 0 basis = Average[20](close) dev = STD[20](close) * 2.0 bbw = (2.0 * dev) / basis * 100.0 myAtr = AverageTrueRange[22](close) smat = Average[200](close)
35 more lines: the entry and exit rules.
Setup
Nasdaq 100 had no history beyond the standard run, so both runs used 114,000 bars.
| Bars available | 114,000 |
| Net, standard 200,000-bar run | 9,780.70 EUR |
| Net, long run | 9,872.00 EUR |
| Net on the older data alone | 91.30 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 24 market and timeframe combinations. The best run was Nasdaq 100, 1 hour, with a profit factor of 1.44 over 447 trades.
The best run had a maximum drawdown of 1,694 EUR at the tested position size, against a net result of 9,781 EUR.
It only takes long trades.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.