Bollinger BandWidth Settings: Does the Squeeze Hold Up?
We tested 4,032 Bollinger BandWidth settings on USD/JPY. BBW levels changed by timeframe, and a 125-bar rolling low did not stay profitable across years.
Bollinger BandWidth turns the distance between the upper and lower Bollinger Bands into one volatility line. A low reading says the bands are tight; a high one says they are wide. It says nothing about whether price is moving up or down.
The usual search for the “best BBW settings” starts at 20 periods, two standard deviations and a squeeze defined by the lowest BandWidth in 125 bars. Across 4,032 USD/JPY runs, the convention did not transfer cleanly. A fixed BBW number changed meaning by almost five times across the three timeframes, and the 125-bar low produced fewer two-year hourly winners than a 20- or 50-bar low.
Period 20 did stand out on the hourly chart: 42 of 64 combinations were profitable in both years. But the default-like combination of 20, 2, a 125-bar low and a 75-bar breakout window took 58 trades and lost 70.6 pips in 2025. One good marginal is not a universal preset.
What Bollinger BandWidth measures
The calculation starts with ordinary Bollinger Bands:
- Middle band: a simple moving average of the close
- Upper and lower bands: middle ± deviation × standard deviation
- BandWidth = (upper − lower) ÷ middle × 100
If the deviation multiplier is k, the numerator is 2 × k × standard deviation. With the familiar two-deviation setting, BBW is 4 × standard deviation ÷ 20-bar average × 100.
Dividing by the middle band makes the width a percentage of price rather than a raw number of yen or dollars. It does not make every timeframe comparable. Twenty 15-minute bars cover five hours; twenty four-hour bars cover 80 hours, so the standard deviations being measured are different objects.
Volatility does not supply a side
We measured every fresh 125-bar BBW low and the close-to-close move over the next 20 bars in 2025.
| Timeframe | Squeeze lows | Mean signed move | Mean absolute move | All-bar absolute move |
|---|---|---|---|---|
| M15 | 615 | −5.03 pips | 27.40 | 29.39 |
| H1 | 129 | +0.45 pips | 76.90 | 61.73 |
| H4 | 38 | −15.35 pips | 110.89 | 119.69 |
Only the hourly chart moved more than its all-bar baseline after a squeeze, by 24.6%. M15 and H4 moved less. More importantly, the signed means did not point consistently anywhere: −5.03, +0.45 and −15.35 pips.
That is why the trading rule below waits for price. A close through the upper band supplies a long; a close through the lower band supplies a short. BBW identifies the volatility setup, not the direction.
Bollinger BandWidth settings and signals
BandWidth is drawn as one line in a separate pane below price. It is bounded by zero but has no universal 30/70-style reference lines.
| Platform | Where it is found |
|---|---|
| MT4 / MT5 | Install a custom BBW indicator; only Bollinger Bands are built in |
| TradingView | Search Indicators for Bollinger BandWidth |
| Browser (Formiq) | Pick “BB Width” from the indicator list |
The standard MetaTrader lists contain Bollinger Bands and Standard Deviation, not BandWidth. Custom MT4/MT5 versions therefore vary in their fields and guide lines; there is no standard BBW level drawn by default.
The chart inputs
TradingView's official Bollinger BandWidth guide lists the following defaults. Formiq exposes period and deviation, fixes the source to close and the average to SMA, and lets the ordinary line colour and thickness controls handle appearance.
| Input | Default | What it changes |
|---|---|---|
| Length | 20 | Bars used for both the average and standard deviation |
| Source | Close | Price series entering the calculation |
| StdDev | 2 | Standard deviations between the middle and each outer band |
| Highest Expansion Length | 125 | Window used to show the recent BBW maximum |
| Lowest Contraction Length | 125 | Window used to show the recent BBW minimum |
The last two are reference windows; they do not change the BBW line. John Bollinger’s own BandWidth note describes the popular squeeze as a 125-period low.
The backtest inputs
BBW is now available directly in the strategy builder.
| Input | Starting value | What it does |
|---|---|---|
| Trigger | Band break after squeeze | Waits for price to confirm the side |
| Period | 20 | Builds BBW and the matching Bollinger Bands |
| Deviation | 2 | Sets both the line scale and the outer bands |
| Contraction lookback | 125 | Bars over which BBW must be the minimum |
| Breakout wait | 75 bars | How long that squeeze remains eligible |
| Width level | 0.5 | Used only by the absolute width-cross trigger |
The two selectable readings are deliberately explicit:
- Band break after squeeze: once BBW makes a lookback low, buy the next upper-band close or sell the next lower-band close inside the wait window
- Width crosses level: when BBW crosses upward through a fixed number, use close above or below the middle band to pick long or short
The second reading is the control group for a fixed threshold. For ordinary use, the relative squeeze is the more defensible starting point. Period, lookback and wait decide what “unusually narrow” means; deviation also moves the price band that confirms the break.
How this was measured
| Item | Value |
|---|---|
| Pair | USD/JPY |
| Window | 2025-01-01 to 2025-12-31, with 2024 run identically for comparison |
| Timeframes | 15-minute / 1-hour / 4-hour |
| Squeeze grid | 4 periods × 4 deviations × 4 contraction windows × 4 waits = 256 |
| Fixed-level control | 4 periods × 4 deviations × 5 levels = 80 |
| Periods | 10 / 20 / 30 / 50 |
| Deviations | 1 / 1.5 / 2 / 2.5 |
| Contraction lookbacks | 20 / 50 / 125 / 250 bars |
| Breakout waits | 10 / 20 / 50 / 75 bars |
| Fixed levels | 0.1 / 0.2 / 0.4 / 0.8 / 1.6 |
| Total | 336 settings × 3 timeframes × 4 windows = 4,032 runs |
| Exit | The opposite signal; entry and exit use the same rule set |
| Stops and targets | Off in the main grid; tested separately below |
| Spread and fill | 0.3 pips fixed, filled at the close |
| Size | 0.1 lot |
A rolling low alone never opens a trade. Price must subsequently close through an outer band. This keeps the line’s volatility information separate from the direction supplied by price.
A fixed BBW level changes meaning with timeframe
Period 20, deviation 2, every bar in 2025:
| Timeframe | 10th percentile | Median | 90th percentile | Full range |
|---|---|---|---|---|
| M15 | 0.1392 | 0.2943 | 0.6611 | 0.0384–3.5979 |
| H1 | 0.3303 | 0.6439 | 1.3723 | 0.1082–3.7455 |
| H4 | 0.7642 | 1.3693 | 2.5363 | 0.3544–4.6219 |
The median rises from 0.2943 to 1.3693, a factor of 4.7. A threshold of 0.4 is above the M15 median, just above the hourly tenth percentile, and below even the H4 tenth percentile. One number has become “wide,” “narrow” and “extremely narrow” at once.
The fixed-level control reflects that mismatch. Settings profitable in both years fell from 36 of 80 on M15 to 22 of 80 on H1 and 14 of 80 on H4. The 2025 median was +201.6 pips on M15 and zero on H1 and H4, where many level combinations never traded.
A fixed BBW threshold is not portable. Narrowness needs a percentile, rolling low or other comparison drawn from the same market and timeframe.
Did the squeeze survive both years?
The 256 relative-squeeze settings:
| Timeframe | Year | Profitable settings | Median net | Positive in both years |
|---|---|---|---|---|
| M15 | 2025 | 159/256 | +324.1 pips | 115/256 |
| M15 | 2024 | 177/256 | +661.1 pips | 115/256 |
| H1 | 2025 | 166/256 | +490.5 pips | 106/256 |
| H1 | 2024 | 162/256 | +458.4 pips | 106/256 |
| H4 | 2025 | 111/256 | −283.9 pips | 65/256 |
| H4 | 2024 | 168/256 | +566.7 pips | 65/256 |
M15 and H1 each put more than half the settings above zero in an individual year, but only 45% and 41% survived both years. H4 inverted from a +566.7-pip median in 2024 to −283.9 in 2025.
That is not evidence that every squeeze is profitable. It is evidence that changing the year and timeframe removes more than half the candidates. H4 averaged only 22 trades per setting, so its brightest rows were also its least dependable.
The published 125-bar low was not special
Hourly marginals, 64 settings per row:
| Contraction lookback | 2025 mean | 2024 mean | Profitable in both | 2025 mean trades |
|---|---|---|---|---|
| 20 | +916.0 | +665.7 | 37/64 | 143.2 |
| 50 | +144.6 | +753.7 | 31/64 | 100.0 |
| 125 | −13.4 | +322.4 | 16/64 | 51.5 |
| 250 | +399.3 | −125.4 | 22/64 | 28.4 |
The conventional 125-bar row had the fewest two-year winners. A longer lookback makes a squeeze rarer, but rarity is not an edge by itself. At 250 bars, the mean count was down to 28.4 trades and the 2024 marginal was already negative.
Period 20 led the hourly chart
The same hourly grid grouped by period, 64 settings per row:
| Period | 2025 mean | 2024 mean | Profitable in both | 2025 mean trades |
|---|---|---|---|---|
| 10 | −7.3 | +392.2 | 22/64 | 130.8 |
| 20 | +1,101.1 | +815.3 | 42/64 | 80.6 |
| 30 | +612.8 | −345.8 | 19/64 | 65.3 |
| 50 | −260.1 | +754.8 | 23/64 | 46.4 |
Period 20 was the only row above +800 pips in both annual means, and 42 of 64 settings stayed profitable. Period 30 worked in 2025 and failed in 2024; period 50 did the reverse.
The breakout wait mattered too. The two-year profitable counts for waits of 10, 20, 50 and 75 bars were 19, 25, 33 and 29 of 64. Their 2024 means were −155.2, +27.5, +991.8 and +752.4 pips. A confirmation can be too early, but an old squeeze can also be kept alive too long.
Deviation rescales the line, then moves the price band
Every deviation-2 BBW value was twice its deviation-1 counterpart, with maximum error below 4.1e-14 on all three timeframes. The peaks, troughs and bars qualifying as rolling lows do not change.
That creates an exact identity in the fixed-level control:
- deviation 1 / level 0.1 equals deviation 2 / level 0.2
- deviation 1 / level 0.2 equals deviation 2 / level 0.4
- deviation 1 / level 0.4 equals deviation 2 / level 0.8
- deviation 1 / level 0.8 equals deviation 2 / level 1.6
Across four periods, three timeframes and four windows, all 192 matched pairs had identical trades, win rates and net pips. When the rule only reads BBW crossing a number, scaling both fields changes nothing.
The squeeze-break system is different because deviation also moves the outer price bands. Its hourly deviation-1 marginal averaged +735.3 pips in 2025 and +763.1 in 2024, with 38 of 64 profitable in both. Deviation 2 averaged +225.3 and +116.3, with 22 of 64. The squeeze dates are unchanged; the price required to confirm them is not.
Where the default-like row finished
Period 20, deviation 2, a 125-bar low and a 75-bar breakout window combines the familiar chart defaults with the strategy builder’s starting wait.
| Timeframe | Year | Trades | Win rate | Net |
|---|---|---|---|---|
| M15 | 2025 | 314 | 35.35% | +88.9 pips |
| M15 | 2024 | 298 | 30.54% | −293.5 pips |
| H1 | 2025 | 58 | 41.38% | −70.6 pips |
| H1 | 2024 | 71 | 40.85% | +909.0 pips |
| H4 | 2025 | 26 | 15.38% | −1,307.7 pips |
| H4 | 2024 | 20 | 40.00% | +570.4 pips |
No timeframe was profitable in both years. On H1, keeping period 20, deviation 2 and the 125-bar low but shortening the wait to 50 bars produced 34 trades and +3,043.1 pips in 2025, then 55 and +1,459.6 in 2024. Extending eligibility to 75 bars turned 2025 into −70.6. How long a squeeze remains valid matters as much as how it is identified.
Checking single-year maximum settings in another year
| Timeframe | Selection year | Period | Deviation | Low lookback | Wait | Trades in selection year | Net in selection year | Net in check year |
|---|---|---|---|---|---|---|---|---|
| H1 | 2025 | 20 | 1 | 20 bars | 10 bars | 167 | +3,868.5 pips | 2024 +1,589.6 pips |
| H1 | 2024 | 50 | 1 | 125 bars | 75 bars | 63 | +3,025.0 pips | 2025 +450.2 pips |
| H4 | 2025 | — | — | — | — | 3 | +2,392.6 pips | 2024 −889.8 pips |
| H4 | 2024 | — | — | — | — | 10 | +4,025.5 pips | 2025 −710.7 pips |
Both hourly settings remained profitable in the check year, but at smaller totals. Both four-hour settings turned negative, and their selection-year samples contained only three and ten trades.
Win rate pointed the same way as profit this time
The default-like hourly row took 58 trades at a 41.38% win rate. Its mean winner was +134.46 pips and mean loser −96.99. Winners were 1.39 times larger, but 24 wins against 34 losses still summed to −70.6 pips. Win rate, payoff size and sample size have to be read together.
Filters, exits and cost
These follow-up runs keep the default-like hourly 20 / 2 / 125 / 75 setup fixed.
ADX and sessions
| Entry filter | Year | Trades | Net |
|---|---|---|---|
| None | 2025 | 58 | −70.6 pips |
| None | 2024 | 71 | +909.0 pips |
| ADX ≥ 20 | 2025 | 43 | +289.7 pips |
| ADX ≥ 20 | 2024 | 56 | +583.1 pips |
| ADX ≥ 25 | 2025 | 32 | +284.4 pips |
| ADX ≥ 25 | 2024 | 44 | +17.6 pips |
| ADX ≥ 30 | 2025 | 21 | +219.5 pips |
| ADX ≥ 30 | 2024 | 28 | +793.8 pips |
| 00:00–08:00 UTC only | 2025 | 32 | +821.5 pips |
| 00:00–08:00 UTC only | 2024 | 39 | +1,020.8 pips |
| 07:00–21:00 UTC only | 2025 | 50 | +6.0 pips |
| 07:00–21:00 UTC only | 2024 | 57 | +1,518.3 pips |
ADX turned 2025 positive, but every threshold reduced 2024 from its +909.0-pip baseline. Both session windows improved both annual totals, although the smaller window leaves only 32 and 39 trades and was selected after seeing these years.
Stops, targets and time
| Exit | Year | Trades | Net |
|---|---|---|---|
| Opposite BBW signal | 2025 | 58 | −70.6 pips |
| Opposite BBW signal | 2024 | 71 | +909.0 pips |
| Stop 30 / target 60 | 2025 | 131 | +570.0 pips |
| Stop 30 / target 60 | 2024 | 134 | +694.0 pips |
| Stop 50 / target 100 | 2025 | 104 | +489.7 pips |
| Stop 50 / target 100 | 2024 | 115 | +1,055.2 pips |
| Stop 100 / target 200 | 2025 | 74 | +1,556.3 pips |
| Stop 100 / target 200 | 2024 | 85 | +1,181.4 pips |
| Exit after 24 bars | 2025 | 103 | +826.0 pips |
| Exit after 24 bars | 2024 | 110 | +976.2 pips |
The 100/200 exit and the 24-bar exit beat the opposite-signal exit in both years. In 2025 that base position stayed open for 149 bars on average, so shortening the exit changes the system substantially. These are exploratory comparisons chosen from four candidates, not an untouched validation set.
Spread
At zero spread the row already lost 53.2 pips over 58 trades. At 0.3 it lost 70.6; the 17.4-pip difference is exactly 58 × 0.3. It fell to −111.2 at 1.0 pips and −227.2 at 3.0.
The arithmetic break-even spread is −0.92 pips. A trader cannot receive a negative spread, so there is no non-negative break-even spread for this row. Cost made it worse, but cost did not create the loss.
What this test supports
- Fixed BBW levels do not transfer across timeframes. The three medians differed by a factor of 4.7.
- Deviation is a pure scale change for the line. Scaling the fixed threshold with it left all 192 matched controls identical.
- A 125-bar low was not uniquely durable. It produced 16 of 64 two-year hourly winners against 37 of 64 at 20 bars.
- Period 20 was the strongest hourly marginal. Forty-two of 64 survived both years, but the default-like single row did not.
- A single-year maximum did not select a durable setting. The H4 settings turned into −889.8 and −710.7 pips in the check year.
Related tests
Bollinger Band fades versus breakouts compares the two price readings of the underlying bands. The period sweep from 5 to 200 and the deviation sweep from 0.5σ to 4σ isolate the two fields that build BBW’s numerator.
Squeeze Momentum settings define contraction as Bollinger Bands moving inside a Keltner Channel, which is not the same event as a 125-bar BandWidth low. Building a backtest without code is the route to repeat the new BBW condition on another pair or timeframe.
Notes
- It covers USD/JPY in 2024 and 2025. Equities, crypto and other FX pairs may have different BBW distributions and breakout behaviour.
- “Squeeze” means a rolling N-bar low followed by an outer-band close inside a bounded wait. Percentile lows and Bollinger-inside-Keltner definitions are separate systems.
- The grid is limited to the listed periods, deviations, lookbacks, waits and fixed levels; it is not a continuous optimisation.
- The line uses close, SMA and population standard deviation. Other applied prices and average types were not tested.
- Several H4 settings took only three to ten trades in a year, leaving their results highly uncertain.
- Fills are at the close with a fixed 0.3-pip spread. Slippage, variable intraday cost and financing are excluded.
Questions people ask
- What are the best Bollinger BandWidth settings?
- Period 20 was the strongest hourly marginal in this USD/JPY test: 42 of its 64 combinations made money in both 2024 and 2025. That does not make every 20-period setup good. The default-like 20-period, 2-deviation, 125-bar-low setup with a 75-bar breakout window took 58 trades and lost 70.6 pips in 2025.
- How many bars should a BBW squeeze use?
- The widely published definition uses a 125-bar low. This test compared 20, 50, 125 and 250 bars. On the hourly chart, the counts profitable in both years were 37 of 64, 31 of 64, 16 of 64 and 22 of 64 respectively. The 125-bar convention did not finish ahead.
- What BBW level indicates a squeeze?
- There was no portable fixed level. With period 20 and deviation 2, the 2025 median BBW was 0.2943 on M15, 0.6439 on H1 and 1.3693 on H4. A level of 0.4 is above the M15 median but below the H4 tenth percentile of 0.7642, so narrowness has to be judged against the same market and timeframe.
- What does the standard-deviation setting do to BBW?
- It rescales the line. Moving deviation from 1 to 2 doubled every measured BBW value with a maximum error of 4.1e-14. In the fixed-level control, scaling deviation and the threshold together produced identical trades in all 192 matched comparisons. Deviation still moves the outer bands used to confirm a price breakout.
- Is Bollinger BandWidth built into MT4 or MT5?
- No. Bollinger Bands are built in, but BandWidth is not in the standard indicator list, so MT4 and MT5 need a custom indicator. TradingView includes Bollinger BandWidth. Formiq plots BB Width in a separate pane and now exposes both a post-squeeze band break and an absolute width cross as backtest conditions.
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.