All posts
PublishedByEvidence recordRSIBollinger BandsIndicator combinationMean reversionBacktestUSDJPY

Does Combining RSI and Bollinger Bands Help? 720 Backtests

RSI below 30 plus a touch of the lower Bollinger band, tested on USD/JPY over two years against the only fair control: throwing away the same number of bars at random.

"Buy when RSI is below 30 and price touches the lower Bollinger band." Stacking two indicators like this is the most common way to build a rule out of two.

What the operation does is not in doubt. Combining creates no signals. It takes the bars where RSI is below 30 and discards the ones that did not touch the band.

On the hourly chart in 2025, RSI closed below 30 on 356 bars. 216 of them, 60.67%, also touched the lower band at two standard deviations. The other 40% are thrown away, and that is what "filtering" means here.

Throwing bars away moves the win rate on its own, because a smaller sample sits further from its own average. So "the win rate went up when I combined them" only means something if it went up more than discarding the same number of bars at random would have.

That is the measurement. Of 108 pairings, 21 fall outside the 95% range of random discards, and 19 of those 21 fall below it.

−12−8−40+450%60%70%80%90%100%share of the RSI level's trades the pair keepswin rate delta
long (RSI below 25, 30, 35)short (RSI above 75, 70, 65)USD/JPY hourly 2025, 18 pairings
Each point is one RSI level paired with one band deviation. Filtering harder moves points left; it does not move them up. Five of the 18 improved on the RSI level alone, all five on the long side, and the short side fell in all nine.

Settings for RSI and the Bollinger band

RSI runs between 0 and 100 in a pane under the chart. The Bollinger band draws a moving average with lines a multiple of the standard deviation above and below it, over the price itself.

ConditionFieldDefaultWhat it means
RSIperiod14how many bars the calculation reads
RSIlevel and comparator30, belowbelow 30 buys; above 70 sells
Bollinger bandperiod20bars in the average and the deviation
Bollinger banddeviation2how many standard deviations out the lines sit
Bollinger bandtriggertoucha low reaching the lower line buys, a high reaching the upper line sells

Both are states rather than events. RSI below 30 holds for as long as it holds; it does not fire once.

Using both at once

Switch both on and set the logic to require all conditions. Only bars where both point the same way remain. RSI below 30 and a lower-band touch both produce long signals only, so the pairing is long-only; the short pairing is built from RSI above 70 and an upper-band touch.

How this was measured

ItemValue
PairUSD/JPY
Timeframes15-minute, hourly, 4-hour
Period1 January 2024 to 31 December 2025
RSI levelsbelow 25, 30, 35 for longs; above 75, 70, 65 for shorts
Band deviations1.5, 2, 2.5
Control1,000 random draws of the same size from the same RSI pool
Horizonthe close 1, 5, 10 and 20 bars after the signal bar
Exitthe close 10 bars later, for all three
ConditionsRSI alone 3, band alone 3, combined 9, per side
Runs15 x 2 sides x 3 timeframes x 4 windows x with and without cost = 720
Spread0.3 pips, fixed
Lot0.1
Fillat the close

All three use the same ten-bar exit. The comparison is between three entries, and different exits would turn it into a comparison of exits.

The random range is built like this: if 356 bars are below the RSI level and 216 of them also touch the band, then 216 bars are drawn from the 356 at random, a thousand times, and the resulting win rates are sorted to take the 2.5th and 97.5th percentiles. The generator runs from a fixed seed, so the published range is reproducible.

Against the same number of bars picked at random

Hourly, long side. The pool is bars below the RSI level; the pairing is the subset that also touched the band.

YearRSIDeviationPoolKeptKept %Pool ratePairing rateRandom range
2025below 251.5σ11210694.64%61.61%59.43%59.43-63.21%
2025below 251127970.54%61.61%59.49%55.70-67.09%
2025below 252.5σ1124237.50%61.61%59.52%50.00-71.43%
2025below 301.5σ35632791.85%55.90%55.66%54.43-57.49%
2025below 3035621660.67%55.90%56.48%51.85-60.19%
2025below 302.5σ35611732.87%55.90%54.70%48.72-64.10%
2025below 351.5σ77261779.92%54.53%53.32%52.84-56.24%
2025below 3577239551.17%54.53%52.41%51.14-57.72%
2025below 352.5σ77221627.98%54.53%55.09%49.07-60.19%
2024below 251.5σ13212393.18%50.76%47.97%48.78-52.85%
2024below 251328463.64%50.76%40.48%44.05-57.14%
2024below 252.5σ1324634.85%50.76%41.30%39.13-63.04%
2024below 301.5σ30927789.64%50.16%48.74%48.38-51.99%
2024below 3030918559.87%50.16%45.41%45.95-55.14%
2024below 302.5σ3099831.72%50.16%52.04%42.86-58.16%
2024below 351.5σ61749980.88%48.78%49.90%46.89-50.70%
2024below 3561732152.03%48.78%47.35%45.17-52.65%
2024below 352.5σ61717528.36%48.78%51.43%42.86-54.86%

All nine 2025 pairings land inside the range. Three of the 2024 pairings land outside it, and all three land below (47.97% against 48.78-52.85%, 40.48% against 44.05-57.14%, 45.41% against 45.95-55.14%).

Notice how the range widens. Keeping 94.64% of the pool gives a range 3.78 points wide; keeping 37.50% gives one 21.43 points wide. The harder the filter, the more the win rate is expected to move on its own.

Across three timeframes and both sides there are 108 pairings. 21 land outside the range: 19 below and 2 above. Requiring the same timeframe, side and setting to land outside in the same direction in both years leaves 4 of 54, all of them on the hourly short side and all of them below.

What the band condition selects

If the pairing lands low, the band must be selecting a particular kind of bar. Splitting the RSI pool by whether the bar touched the band:

TimeframeYearSideTouchedRun-upBar sizeMean RSIMissedRun-upBar sizeMean RSI
15-minute2025long7803.07 ATR1.56 ATR25.045691.31 ATR0.93 ATR24.97
15-minute2025short7392.93 ATR1.39 ATR75.127131.24 ATR0.86 ATR74.92
Hourly2025long2163.05 ATR1.46 ATR25.481401.42 ATR0.97 ATR26.25
Hourly2025short1853.13 ATR1.36 ATR76.162191.11 ATR0.84 ATR75.78
Hourly2024long1853.17 ATR1.80 ATR24.201241.22 ATR0.92 ATR25.25
Hourly2024short2912.87 ATR1.50 ATR76.413071.11 ATR0.82 ATR75.40
4-hour2025short603.29 ATR1.26 ATR74.93581.26 ATR0.88 ATR75.61
4-hour2024short1062.70 ATR1.40 ATR77.88741.28 ATR0.88 ATR76.38

Run-up is how far price had already travelled into the signal over five bars, in ATR: for a long, how far it had already fallen.

The touched half had run 1.80 to 2.82 times as far, on bars 1.43 to 2.03 times as large. The mean RSI of the two halves differs by less than 2.1 points.

So the band is not selecting bars that are more oversold. At the same RSI reading, it selects the ones falling faster. In 8 of the 12 cells the touched half had the lower rate ten bars on. On the hourly chart in 2025 the short side reads 32.97% against 54.79%, a gap of 21.82 points.

The 4-hour long pool in 2025 is left out of the table: only 11 bars there did not touch.

Did the win rate rise?

Hourly, the RSI level alone against the pairing:

SideRSIDeviationAlonePairedKept %Alone win ratePaired win rateDelta
longbelow 251.5σ413995.1%70.73%69.23%-1.50
longbelow 25413687.8%70.73%69.44%-1.29
longbelow 252.5σ412356.1%70.73%65.22%-5.51
longbelow 301.5σ858296.5%50.59%50.00%-0.59
longbelow 30857487.1%50.59%52.70%+2.11
longbelow 302.5σ855665.9%50.59%51.79%+1.20
longbelow 351.5σ14513089.7%46.90%46.92%+0.02
longbelow 3514511377.9%46.90%47.79%+0.89
longbelow 352.5σ1458760.0%46.90%50.57%+3.67
shortabove 751.5σ353291.4%37.14%31.25%-5.89
shortabove 75352982.9%37.14%34.48%-2.66
shortabove 752.5σ351954.3%37.14%31.58%-5.56
shortabove 701.5σ736386.3%42.47%38.10%-4.37
shortabove 70735372.6%42.47%32.08%-10.39
shortabove 702.5σ734054.8%42.47%32.50%-9.97
shortabove 651.5σ14612787.0%53.42%51.97%-1.45
shortabove 6514610672.6%53.42%50.00%-3.42
shortabove 652.5σ1467853.4%53.42%47.44%-5.98

Five of the 18 improved, by between 0.02 and 3.67 points, and all five are long. All nine short pairings fell, the largest by 10.39 points.

How much was discarded does not predict the change. Keeping 95.1% gives -1.50; keeping 53.4% gives -5.98.

Trading all 720 runs

Entering at the close and exiting ten bars later, hourly long side:

Condition2025 trades2025 win rate2025 net pips2024 trades2024 win rate2024 net pips
RSI below 25 alone4170.73%+695.93452.94%-113.3
RSI below 30 alone8550.59%+316.47354.79%+164.5
RSI below 35 alone14546.90%+210.111348.67%-529.9
1.5σ touch alone28450.00%-745.526054.23%-391.5
2σ touch alone21449.53%+194.120252.97%-194.4
2.5σ touch alone16050.00%+446.415153.64%+194.6
RSI 25 + 1.5σ3969.23%+629.33250.00%-381.1
RSI 25 + 2σ3669.44%+545.12951.72%-163.0
RSI 25 + 2.5σ2365.22%+254.72142.86%-356.3
RSI 30 + 1.5σ8250.00%+439.77154.93%+138.8
RSI 30 + 2σ7452.70%+385.66251.61%+106.5
RSI 30 + 2.5σ5651.79%+337.94951.02%+63.5
RSI 35 + 1.5σ13046.92%-101.610852.78%+208.4
RSI 35 + 2σ11347.79%+244.89251.09%+269.6
RSI 35 + 2.5σ8750.57%+335.68051.25%+287.4

Seven of the 15 cleared both years. The rest of the grid:

TimeframeSideCleared both years, of 15
15-minutelong0
Hourlylong7
4-hourlong0
15-minuteshort0
Hourlyshort0
4-hourshort2

Only the hourly long side and the 4-hour short side produced anything. In the other four cells nothing survived, alone or paired.

The two cases where combining rescued a losing level

Five of the seven survivors were already profitable in both years using the RSI level alone. Only two turned a level that lost a year into one that did not.

ConditionRSI alone, 2024Paired, 2024RSI alone, 2025Paired, 2025
Hourly, RSI 35 + 2σ-529.9+269.6+210.1+244.8
Hourly, RSI 35 + 2.5σ-529.9+287.4+210.1+335.6

Read alone, that looks like the filter earning its place. But both sit inside the random range: the 2024 pool below RSI 35 won 48.78%, the 321 bars kept at 2σ won 47.35%, and the random range is 45.17 to 52.65%. Discarding the same number of bars at random reaches the same place.

The short fade does not get fixed by combining

The short side lost almost everywhere, alone and paired. On the hourly chart in 2025 all 15 finished negative, the shallowest being RSI above 65 at -324.6 pips.

This series has measured the short fade breaking in a rising market several times, and 2024 rose from 140.87 to 157.20. But 2025 opened at 157.23 and closed at 156.67, and the short side still lost in all 15 hourly runs. Direction alone does not account for it.

Combining does not soften it either. Hourly 2025, RSI above 70 alone returns -1,040.3 pips; adding the 2σ touch gives -1,158.0, and the win rate falls from 42.47% to 32.08%.

Cost

Spread paid matched trade count times 0.3 pips in all 18 hourly runs.

SideConditionTradesSpread paidTrades x 0.3
longRSI 30 + 1.5σ8224.524.6
longRSI 30 + 2σ7422.122.2
longRSI 35 + 1.5σ13038.939.0
shortRSI 70 + 2σ5315.815.9
shortRSI 65 + 1.5σ12738.038.1

Combining does cut the bill. RSI below 35 takes 145 trades and pays 43.5 pips; adding the 2.5σ touch takes 87 and pays 26.1. The 17.4 pips saved cost 58 trades.

Notes

The data is USD/JPY from 1 January 2024 to 31 December 2025. Fills are at the close, the spread is fixed at 0.3 pips, and the lot is 0.1. RSI uses a period of 14 and the band a period of 20. The random range comes from drawing the pairing's own number of bars out of the pool a thousand times and taking the 2.5th and 97.5th percentiles of the resulting win rates; the generator uses a fixed seed. Where the pairing keeps the whole pool there is nothing to draw, so the pool's own rate is used. Because the horizons run out to 20 bars, that many bars at the end of each year are excluded from the counts.

Questions people ask

Does combining RSI with Bollinger Bands raise the win rate?
It did not here. Comparing 18 pairings on the hourly chart (two sides, three RSI levels, three band deviations) with the RSI level on its own, the win rate rose in five. All five were on the long side; every one of the nine short pairings fell, by as much as 10.39 points.
Is the combination really filtering anything?
Not compared with throwing bars away at random. Drawing the same number of bars from the same RSI pool a thousand times gives a 95% range for the win rate. Of 108 pairings, 21 land outside that range, but 19 of them land below it and only 2 above.
What kind of bars does the band condition keep?
Faster ones, at the same RSI reading. Splitting the RSI pool by whether the bar touched the band, the five-bar run-up into the signal is 1.80 to 2.82 times larger in ATR, and the bar itself is 1.43 to 2.03 times larger, while the mean RSI of the two halves differs by less than 2.1 points.
Are there settings where the combination works?
Seven of 15 on the hourly long side cleared both 2024 and 2025. Five of those seven were already profitable in both years using the RSI level alone. Only two combinations turned a level that lost a year into one that did not, and both sit inside the random range.
Can I test combinations in Formiq?
Yes. Switch on RSI and the Bollinger band together in the backtest condition list and set the logic to require all conditions, and only bars where both point the same way remain. The 720 runs here were built that way.

Formiq is a free browser-based FX terminal with replay practice and no-code backtesting. Open the chart or see what the free plan includes.