All posts
Bollinger BandWidthBBWsqueezevolatilityindicator settingsbacktestUSDJPY

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.

0.00.51.01.52.02.5M15H1H4BBW (%)
line = 10th to 90th percentile; dot = medianM15 0.2943 · H1 0.6439 · H4 1.3693
Period-20, deviation-2 BBW in 2025. The median was 0.2943 on M15, 0.6439 on H1 and 1.3693 on H4, so one fixed level cannot mean the same thing.

What Bollinger BandWidth measures

The calculation starts with ordinary Bollinger Bands:

  1. Middle band: a simple moving average of the close
  2. Upper and lower bands: middle ± deviation × standard deviation
  3. 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.

TimeframeSqueeze lowsMean signed moveMean absolute moveAll-bar absolute move
M15615−5.03 pips27.4029.39
H1129+0.45 pips76.9061.73
H438−15.35 pips110.89119.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.

PlatformWhere it is found
MT4 / MT5Install a custom BBW indicator; only Bollinger Bands are built in
TradingViewSearch 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.

InputDefaultWhat it changes
Length20Bars used for both the average and standard deviation
SourceClosePrice series entering the calculation
StdDev2Standard deviations between the middle and each outer band
Highest Expansion Length125Window used to show the recent BBW maximum
Lowest Contraction Length125Window 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.

InputStarting valueWhat it does
TriggerBand break after squeezeWaits for price to confirm the side
Period20Builds BBW and the matching Bollinger Bands
Deviation2Sets both the line scale and the outer bands
Contraction lookback125Bars over which BBW must be the minimum
Breakout wait75 barsHow long that squeeze remains eligible
Width level0.5Used 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

ItemValue
PairUSD/JPY
Window2025-01-01 to 2025-12-31, with 2024 run identically for comparison
Timeframes15-minute / 1-hour / 4-hour
Squeeze grid4 periods × 4 deviations × 4 contraction windows × 4 waits = 256
Fixed-level control4 periods × 4 deviations × 5 levels = 80
Periods10 / 20 / 30 / 50
Deviations1 / 1.5 / 2 / 2.5
Contraction lookbacks20 / 50 / 125 / 250 bars
Breakout waits10 / 20 / 50 / 75 bars
Fixed levels0.1 / 0.2 / 0.4 / 0.8 / 1.6
Total336 settings × 3 timeframes × 4 windows = 4,032 runs
ExitThe opposite signal; entry and exit use the same rule set
Stops and targetsOff in the main grid; tested separately below
Spread and fill0.3 pips fixed, filled at the close
Size0.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:

Timeframe10th percentileMedian90th percentileFull range
M150.13920.29430.66110.0384–3.5979
H10.33030.64391.37230.1082–3.7455
H40.76421.36932.53630.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:

TimeframeYearProfitable settingsMedian netPositive in both years
M152025159/256+324.1 pips115/256
M152024177/256+661.1 pips115/256
H12025166/256+490.5 pips106/256
H12024162/256+458.4 pips106/256
H42025111/256−283.9 pips65/256
H42024168/256+566.7 pips65/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 lookback2025 mean2024 meanProfitable in both2025 mean trades
20+916.0+665.737/64143.2
50+144.6+753.731/64100.0
125−13.4+322.416/6451.5
250+399.3−125.422/6428.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:

Period2025 mean2024 meanProfitable in both2025 mean trades
10−7.3+392.222/64130.8
20+1,101.1+815.342/6480.6
30+612.8−345.819/6465.3
50−260.1+754.823/6446.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.

−2000+400+80010205075bars allowed for breakoutmean net pips
20252024profitable both years: 19 / 25 / 33 / 29 of 64
Hourly means by breakout wait. Fifty bars left 33 of 64 settings profitable in both years; extending the squeeze to 75 bars reduced that to 29.

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.

TimeframeYearTradesWin rateNet
M15202531435.35%+88.9 pips
M15202429830.54%−293.5 pips
H120255841.38%−70.6 pips
H120247140.85%+909.0 pips
H420252615.38%−1,307.7 pips
H420242040.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

TimeframeSelection yearPeriodDeviationLow lookbackWaitTrades in selection yearNet in selection yearNet in check year
H1202520120 bars10 bars167+3,868.5 pips2024 +1,589.6 pips
H12024501125 bars75 bars63+3,025.0 pips2025 +450.2 pips
H420253+2,392.6 pips2024 −889.8 pips
H4202410+4,025.5 pips2025 −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 filterYearTradesNet
None202558−70.6 pips
None202471+909.0 pips
ADX ≥ 20202543+289.7 pips
ADX ≥ 20202456+583.1 pips
ADX ≥ 25202532+284.4 pips
ADX ≥ 25202444+17.6 pips
ADX ≥ 30202521+219.5 pips
ADX ≥ 30202428+793.8 pips
00:00–08:00 UTC only202532+821.5 pips
00:00–08:00 UTC only202439+1,020.8 pips
07:00–21:00 UTC only202550+6.0 pips
07:00–21:00 UTC only202457+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

ExitYearTradesNet
Opposite BBW signal202558−70.6 pips
Opposite BBW signal202471+909.0 pips
Stop 30 / target 602025131+570.0 pips
Stop 30 / target 602024134+694.0 pips
Stop 50 / target 1002025104+489.7 pips
Stop 50 / target 1002024115+1,055.2 pips
Stop 100 / target 200202574+1,556.3 pips
Stop 100 / target 200202485+1,181.4 pips
Exit after 24 bars2025103+826.0 pips
Exit after 24 bars2024110+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

  1. Fixed BBW levels do not transfer across timeframes. The three medians differed by a factor of 4.7.
  2. Deviation is a pure scale change for the line. Scaling the fixed threshold with it left all 192 matched controls identical.
  3. A 125-bar low was not uniquely durable. It produced 16 of 64 two-year hourly winners against 37 of 64 at 20 bars.
  4. Period 20 was the strongest hourly marginal. Forty-two of 64 survived both years, but the default-like single row did not.
  5. 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.

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.