The strategy buys when %B, the close's position within 21-period Bollinger Bands (2 standard deviations), is below -0.13. It sells the long when %B rises above 1.2, and it uses no stop or target.
Best run of 45. FTSE 100, 5 min, spread 2, from run pf:2026-10-05-FTSE100-5m.tsv:1.
| Period | Up to 2026-10-05 |
| Instrument | FTSE 100, 5 minutes |
| Spread | 2 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 |
|---|---|---|---|---|---|---|
| FTSE 100Best run | 5 min | 1.34 | 716 | 64.80 | 3,573 EUR | -829 |
| FTSE 100 | 10 min | 1.27 | 784 | 64.54 | 4,026 EUR | -982 |
| USD/JPY | 4 hours | n/a | 137 | 60.58 | 336,220 USD | -302,850 |
| Dow Jones | Daily | n/a | 24 | 83.33 | 47,370 EUR | -11,142 |
| Nikkei 225 | 4 hours | n/a | 81 | 66.67 | 41,624 USD | -12,330 |
| EUR/USD | 10 min | n/a | 766 | 62.01 | 41,333 USD | -13,815 |
| Nikkei 225 | 1 hour | n/a | 370 | 65.95 | 34,184 USD | -15,017 |
| Nasdaq 100 | Daily | n/a | 19 | 94.74 | 31,463 EUR | -5,914 |
| Silver | Daily | n/a | 50 | 68.00 | 26,995 USD | -8,781 |
| Nikkei 225 | 10 min | n/a | 862 | 63.23 | 25,679 USD | -11,514 |
| DAX 40 | Daily | n/a | 24 | 91.67 | 25,126 EUR | -5,511 |
| Nikkei 225 | 30 min | n/a | 798 | 61.90 | 24,618 USD | -17,033 |
| Nikkei 225 | 15 min | n/a | 851 | 63.45 | 20,608 USD | -13,638 |
| Nasdaq 100 | 15 min | n/a | 890 | 66.07 | 19,711 EUR | -5,744 |
| Nasdaq 100 | 4 hours | n/a | 104 | 75.00 | 17,467 EUR | -5,606 |
| Nasdaq 100 | 1 hour | n/a | 717 | 65.27 | 17,303 EUR | -5,979 |
| Dow Jones | 4 hours | n/a | 31 | 64.52 | 16,421 EUR | -11,189 |
| Dow Jones | 1 hour | n/a | 238 | 68.07 | 15,708 EUR | -11,342 |
| Nikkei 225 | 5 min | n/a | 762 | 63.25 | 15,223 USD | -12,844 |
| DAX 40 | 4 hours | n/a | 104 | 67.31 | 15,180 EUR | -5,779 |
| Dow Jones | 30 min | n/a | 427 | 64.17 | 14,419 EUR | -8,952 |
| Brent Crude | Daily | n/a | 17 | 70.59 | 13,109 EUR | -6,671 |
| Nasdaq 100 | 10 min | n/a | 825 | 63.39 | 12,236 EUR | -5,676 |
| Dow Jones | 15 min | n/a | 727 | 65.20 | 12,086 EUR | -10,969 |
| Dow Jones | 10 min | n/a | 817 | 63.16 | 11,115 EUR | -9,801 |
| DAX 40 | 1 hour | n/a | 549 | 64.48 | 10,481 EUR | -5,966 |
| Dow Jones | 2 min | n/a | 658 | 65.05 | 8,639 EUR | -3,858 |
| FTSE 100 | 1 hour | n/a | 510 | 69.22 | 8,448 EUR | -3,497 |
| Brent Crude | 15 min | n/a | 854 | 63.47 | 7,998 EUR | -4,525 |
| FTSE 100 | Daily | n/a | 21 | 71.43 | 7,978 EUR | -3,643 |
| FTSE 100 | 4 hours | n/a | 91 | 68.13 | 7,906 EUR | -2,884 |
| S&P 500 | Daily | n/a | 21 | 80.95 | 7,157 EUR | -1,238 |
| S&P 500 | 4 hours | n/a | 97 | 78.35 | 5,388 EUR | -1,278 |
| Dow Jones | 1 min | n/a | 620 | 62.74 | 4,866 EUR | -3,876 |
| S&P 500 | 1 hour | n/a | 635 | 66.93 | 4,451 EUR | -1,392 |
| FTSE 100 | 30 min | n/a | 908 | 62.67 | 4,328 EUR | -3,380 |
| S&P 500 | 15 min | n/a | 851 | 65.57 | 3,141 EUR | -1,424 |
| Gold | Daily | n/a | 50 | 62.00 | 2,876 EUR | -1,534 |
| S&P 500 | 30 min | n/a | 963 | 63.14 | 2,867 EUR | -1,246 |
| FTSE 100 | 3 min | n/a | 682 | 62.90 | 1,782 EUR | -1,126 |
| S&P 500 | 10 min | n/a | 753 | 63.61 | 1,628 EUR | -1,488 |
| Gold | 4 hours | n/a | 128 | 63.28 | 1,440 EUR | -1,038 |
| GBP/USD | 5 min | n/a | 642 | 61.99 | 1,331 USD | -876 |
| GBP/USD | 3 min | n/a | 636 | 62.74 | 797 USD | -554 |
| S&P 500 | 2 min | n/a | 574 | 60.10 | 683 EUR | -543 |
Charts
Top 10 of 45 runs. The full list is in the table above.
Above 1.0 made money, below 1.0 lost money.
The code
// ============================================================== // Bollinger %B Reversal Long // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long only // Timeframe tested: 5 minutes // ============================================================== DEFPARAM CumulateOrders = false basis = Average[21](close) sd = STD[21](close) * SQRT(1.05) upper = basis + 2 * sd lower = basis - 2 * sd width = upper - lower
10 more lines: the entry and exit rules.
Setup
On the long run with 940,000 bars the net result was 3,773 EUR, against 3,573 EUR on the standard 200,000-bar run. The older data alone gave 199 EUR.
| Bars available | 940,000 |
| Net, standard 200,000-bar run | 3,573.40 EUR |
| Net, long run | 3,772.80 EUR |
| Net on the older data alone | 199.40 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 45 market and timeframe combinations. The best run was FTSE 100, 5 minutes, with a profit factor of 1.34 over 716 trades.
The best run had a maximum drawdown of 829 EUR at the tested position size, against a net result of 3,573 EUR.
It only takes long trades.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.