The strategy buys when a volatility spike is confirmed on consecutive bars and the close is below the lower Bollinger Band, expecting a rebound. It sells the long when the close rises above the upper Bollinger Band.
Best run of 25. S&P 500, Daily, spread 1, from run pf:2026-10-05-USA500-D.tsv:6.
| Period | Up to 2026-10-05 |
| Instrument | S&P 500, Daily |
| Spread | 1 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-05 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| S&P 500Best run | Daily | 3.81 | 140 | 77.14 | 5,218 EUR | -1,190 |
| Nikkei 225 | 1 hour | 1.38 | 887 | 65.39 | 41,536 USD | -9,011 |
| USD/JPY | 4 hours | n/a | 333 | 64.86 | 532,910 USD | -177,370 |
| Dow Jones | Daily | n/a | 135 | 76.30 | 38,320 EUR | -9,762 |
| Nikkei 225 | Daily | n/a | 111 | 71.17 | 29,874 USD | -22,755 |
| Dow Jones | 4 hours | n/a | 96 | 77.08 | 21,361 EUR | -10,364 |
| Nikkei 225 | 4 hours | n/a | 219 | 67.12 | 18,103 USD | -9,460 |
| DAX 40 | Daily | n/a | 143 | 62.94 | 17,935 EUR | -5,511 |
| Nasdaq 100 | 4 hours | n/a | 291 | 73.20 | 16,901 EUR | -4,471 |
| Nikkei 225 | 15 min | n/a | 1,834 | 62.21 | 15,375 USD | -14,878 |
| Dow Jones | 1 hour | n/a | 419 | 65.87 | 13,590 EUR | -7,317 |
| Nasdaq 100 | Daily | n/a | 91 | 71.43 | 12,939 EUR | -6,091 |
| Dow Jones | 15 min | n/a | 1,522 | 65.44 | 11,546 EUR | -8,411 |
| Dow Jones | 30 min | n/a | 778 | 63.75 | 10,084 EUR | -7,522 |
| Nasdaq 100 | 1 hour | n/a | 1,233 | 62.53 | 9,803 EUR | -4,217 |
| FTSE 100 | Daily | n/a | 112 | 75.00 | 9,474 EUR | -2,722 |
| Silver | Daily | n/a | 118 | 66.95 | 9,242 USD | -8,263 |
| FTSE 100 | 1 hour | n/a | 1,098 | 67.67 | 5,989 EUR | -2,754 |
| FTSE 100 | 4 hours | n/a | 265 | 66.42 | 3,801 EUR | -2,781 |
| S&P 500 | 4 hours | n/a | 291 | 71.48 | 3,799 EUR | -1,149 |
| Dow Jones | 2 min | n/a | 1,712 | 63.61 | 3,192 EUR | -2,757 |
| FTSE 100 | 10 min | n/a | 1,816 | 65.14 | 2,520 EUR | -1,672 |
| S&P 500 | 1 hour | n/a | 1,236 | 64.08 | 2,246 EUR | -1,131 |
| Gold | Daily | n/a | 114 | 64.91 | 1,150 EUR | -856 |
| Gold | 4 hours | n/a | 269 | 65.80 | 954 EUR | -823 |
Charts
Top 10 of 25 runs. The full list is in the table above.
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================== // Volatility Spike Mean Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: Daily // ============================================================== DEFPARAM CumulateOrders = false basis = Average[20](close) dev = 2.0 * STD[20](close) upper = basis + dev lower = basis - dev hh = Highest[20](close) wvf = ((hh - low) / hh) * 100 midline = Average[20](wvf) upperband = midline + 2.0 * STD[20](wvf) rangehigh = Highest[50](wvf) * 0.85 spike = 0
13 more lines: the entry and exit rules.
Setup
S&P 500 had no history beyond the standard run, so both runs used 14,000 bars.
| Bars available | 14,000 |
| Net, standard 200,000-bar run | 5,217.65 EUR |
| Net, long run | 5,217.65 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 25 market and timeframe combinations. The best run was S&P 500, Daily, with a profit factor of 3.81 over 140 trades.
The best run had a maximum drawdown of 1,190 EUR at the tested position size, against a net result of 5,218 EUR.
It only takes long trades.
Related
Copy trading on US indices is available to ProRealAlgos members as spots open.