Backtesting Arena

Backtesting Arena

PricingBlogBuild SaaS
🧭How it works🥋Strategies📖Wiki📓Glossary🎓How-To📚Reports
🧭Market State Today
🧱Market Structure₿BTC × Macro📈Market Pulse
🌀Arena Pulse
🌡Arena Heat Chart
🎯Dip Decision Tool
💶DCA vs. Lump Sum
🔗Portfolio Correlation
💧Liquidity Fair Value
🌍Macro Regime
🌐Market Pulse (Multi-Asset)soon
📊Bitcoin Charts
📍Max Pain History
🧘Bitcoin Lifestyle Calculator
📖Bitcoin Wiki
🔥Altcoin SeasonPro
💎Altcoin Screener
📥Market Charts
📊Strategy InsightsPro
🌍Market InsightsPro🔬Filter InsightsElite
🧪Edge Library
🥇Edge Leaderboard
📡Live Tracking
⏳Volatility InsightsPro
🏅Arena Score
💼Portfolio
₿Crypto
📈Tokenized RWAPro
📋My Backtests
⚖️Active vs Passive
🔔Alerts
🚦Signal Status
🤖Grid Bot Testing
🧪Strategy Mixersoon
🏆Winner's List
🎰Backtest Roulette
🌡️Sentiment
💡Improvements
🎁Referral
💬Telegram
🦋Bluesky
👥Reddit
𝕏X (Twitter)
🧭How it works
🥋Strategies
📖Wiki
📓Glossary
🎓How-To
📚Reports
🏠Overview
📖API Docs (interactive)
🔑Keys & Plans
📜OpenAPI 3.1
📦Postman Collection
🤖llms.txt
🧩skill.md
📝 BlogBuild SaaS💳 Pricing
LoginSign up

⚠ Not financial advice. All backtests are historical simulations — no guarantee of future results.

Study the Past — Improve your Future.

🟠Backtesting Arena· © 2026
How it worksPricingLeaderboardAPIImpressumDatenschutzAGBCookie-HinweisKontakt
📘 Built with Claude — how this platform was built in 70h (guide + boilerplate)→
Backtesting Arena

Backtesting Arena

PricingBlogBuild SaaS
🧭How it works🥋Strategies📖Wiki📓Glossary🎓How-To📚Reports
🧭Market State Today
🧱Market Structure₿BTC × Macro📈Market Pulse
🌀Arena Pulse
🌡Arena Heat Chart
🎯Dip Decision Tool
💶DCA vs. Lump Sum
🔗Portfolio Correlation
💧Liquidity Fair Value
🌍Macro Regime
🌐Market Pulse (Multi-Asset)soon
📊Bitcoin Charts
📍Max Pain History
🧘Bitcoin Lifestyle Calculator
📖Bitcoin Wiki
🔥Altcoin SeasonPro
💎Altcoin Screener
📥Market Charts
📊Strategy InsightsPro
🌍Market InsightsPro🔬Filter InsightsElite
🧪Edge Library
🥇Edge Leaderboard
📡Live Tracking
⏳Volatility InsightsPro
🏅Arena Score
💼Portfolio
₿Crypto
📈Tokenized RWAPro
📋My Backtests
⚖️Active vs Passive
🔔Alerts
🚦Signal Status
🤖Grid Bot Testing
🧪Strategy Mixersoon
🏆Winner's List
🎰Backtest Roulette
🌡️Sentiment
💡Improvements
🎁Referral
💬Telegram
🦋Bluesky
👥Reddit
𝕏X (Twitter)
🧭How it works
🥋Strategies
📖Wiki
📓Glossary
🎓How-To
📚Reports
🏠Overview
📖API Docs (interactive)
🔑Keys & Plans
📜OpenAPI 3.1
📦Postman Collection
🤖llms.txt
🧩skill.md
📝 BlogBuild SaaS💳 Pricing
LoginSign up
Strategies›Bollinger Bands Squeeze

⚠ This strategy is no longer active

Retired 2026-06. Across the bulk sample (Alle Assets, Produktionsläufe ≥5 Trades, Pair-Median-Aggregat (32 Paare, Stand 2026-06-23). Crypto allein 11/28 Paare, Ø ΔCAGR −9,0% (lauf-gewichtet sogar −20,9% Median). TTM-Standard-Rebuild-Prototyp erreichte +8,6% vs B&H, blieb aber unter ema_cross/supertrend.) only 11 of 32 assets beat Avg B&H — avg strategy +2% vs B&H +10.9% (avg ΔCAGR -8.9%). The data stays visible; it is no longer offered in the backtester.

Bollinger Bands Squeeze master

Bollinger Bands Squeeze Strategy

Compression precedes expansion — wait for the Bollinger bands to squeeze tight, then ride the breakout. John Bollinger's classic volatility-cycle play.

View Live Insights →

Quick Facts

Type:
Volatility · Trend Following
Plan:
Pro
Asset Classes:
Crypto · Tokenized RWA
Indicators:
Bollinger Bands · SMA · StdDev

Community Performance

ⓘ
CAGR
+0.5%
Win Rate
11%
Max DD
-14%

Basis: 480 user backtests · BTCUSDT · 1d · 4 years

How It Works

Bollinger Bands wrap around a moving average (default SMA-20) at a fixed standard-deviation distance (default 2×). When the market is volatile, the bands are wide. When the market is quiet, they squeeze tight together.

John Bollinger himself observed: periods of low volatility tend to be followed by periods of high volatility — and vice versa. The squeeze is therefore a setup, not a signal: it tells you a volatility expansion is coming, but not in which direction.

This strategy catches the long side of that expansion:

  1. Compute Bollinger Bands (middle = SMA, upper/lower = middle ± stdDev × σ)
  2. Compute normalized band width: (upper − lower) / middle — a relative measure of how tight the bands are
  3. Squeeze detected when band width drops below a configurable threshold (default 10%)
  4. BUY when, after a squeeze, the close pushes above the upper band — the breakout has fired
  5. SELL when the close falls back below the middle band — a classic mean-reversion exit

The squeeze-threshold is the most sensitive parameter. Lower threshold (e.g. 0.05) = only the tightest squeezes count — fewer, higher-quality setups. Higher threshold (e.g. 0.2) = more setups, also more false breakouts. Default 0.1 is a sensible starting point on daily crypto charts; weekly charts may want tighter.

The breakoutDirection parameter has both long_only (default) and both options reserved — but the platform engine currently only supports long-side trades, so both behave identically. The parameter is kept for future short-strategy support.

Entry & Exit Rules

▲Entry

  • ●Previous candle was in squeeze state (band width < squeeze threshold)
  • ●Current close pushes above the upper Bollinger band
  • ●Position is currently flat

▼Exit

  • ●Close falls below the middle Bollinger band (SMA)
  • ●Position is currently long

Parameters

NameDefaultRangeDescription
BB Period205–100Number of candles for the moving average + standard-deviation window. Default 20 — Bollinger's canonical value.
Standard Deviation20.5–5Multiplier for the standard deviation. Default 2.0 means upper/lower bands sit 2σ from the mean — captures ~95% of price action.
Squeeze Threshold0.10.01–0.5Normalized band width below which the market is considered 'in squeeze'. 0.1 = bands are within 10% of the middle. Lower = stricter (fewer trades).

Live Backtest

The pre-baked mini-backtest is refreshed daily — check back soon or start a live run in the Arena.

Run in Arena →

Performance per Asset

Top-10 assets by average CAGR (1d interval), aggregated from community + platform backtests. Actual results depend on parameters and period.

AssetCAGRvs B&H★Win%YearsRuns
BTCUSDT+17.8%-19.7pp4539%8.47
TRXUSDT+12.0%-31.7pp—44%7.89
XLMUSDT+10.7%+5.5pp—33%7.98
OCEANBTC+10.6%+23.8pp6664%3.81
CLVBUSD+8.2%+79.7pp067%2.11
DOGEUSDT+6.4%-50.9pp—33%6.88
BNBUSDT+6.3%-76.2pp—31%8.48
PAXGUSDT+4.0%-9.0pp—30%5.95
CRVUSDT+3.5%+49.0pp—45%5.75
BCHUSDT+3.4%+1.3pp—22%6.48
pp = delta vs avg-B&H · ★ = robustness score 0-100 (CAGR / win-rate / drawdown / consistency).Full Insights →

Pseudo-Code

expand
// Indicators
middle = SMA(close, period)
std    = stddev(close, period)
upper  = middle + std_dev * std
lower  = middle - std_dev * std
bb_width = (upper - lower) / middle

// State tracking
was_squeezing[i] = bb_width[i-1] < squeeze_threshold

// Entry
if was_squeezing and close > upper and position.is_flat:
  BUY

// Exit
if close < middle and position.is_long:
  SELL

Strengths & Weaknesses

+Strengths

  • ●Pre-positions for big moves — squeezes historically precede high-volatility expansions
  • ●Volatility-cycle approach is John Bollinger's original insight — well-documented
  • ●Works across all liquid markets — not asset-class specific
  • ●Mean-reversion exit (close < middle) keeps you in only as long as the trend persists

−Weaknesses

  • ●False breakouts — not every squeeze resolves with a clean directional move
  • ●Long-only — misses the downside expansion entirely (caught as no-signal, not as short)
  • ●Threshold parameter is highly market-dependent — needs calibration per asset and timeframe
  • ●Lagging mean-reversion exit can give back significant gains on rapid reversals

Frequently Asked Questions

How is BB Squeeze different from Keltner Channel Breakout?+

Both are breakout strategies that use bands around a moving average. Keltner uses ATR (Average True Range) for band width — wider when volatility is high. Bollinger Bands use standard deviation — also volatility-sensitive but with a different math basis (StdDev considers all close moves vs ATR which considers full bar ranges incl. gaps). The key strategic difference: **Keltner is a direct breakout** (BUY when close > upper band, anytime). **BB Squeeze adds a setup condition** (close > upper band AND we were just in a squeeze) — it's a filter on top of the breakout. BB Squeeze trades less but tries to be more selective about which breakouts to take.

What if I set squeeze_threshold very high (e.g. 0.5)?+

At threshold 0.5 (50% band width), almost every period qualifies as 'squeeze' — the setup condition becomes meaningless. The strategy degenerates into a pure 'close > upper band' breakout, similar to a momentum-band cross. Useful as a control experiment to see how much value the squeeze filter actually adds vs the raw breakout signal.

When does BB Squeeze fail badly?+

Three classic failure modes: 1. **False breakout** — bands squeeze, price pops above upper band, but it's a fake-out and immediately reverses. The strategy buys at the top of the wick, gets stopped at middle band a few candles later. 2. **Downside squeeze** — bands squeeze, then the breakout fires *downward*. Long-only strategy misses the move entirely. With a 'both' (long+short) parameter this would be catchable, but the platform engine doesn't support short trades yet. 3. **Squeeze-but-no-breakout** — bands stay tight for weeks. The strategy just doesn't trade. Not a loss, but no opportunity captured either. All three are inherent to the volatility-cycle approach. Combining with the ATR or Bullmarket-Ampel filters in our platform helps avoid #1 (false breakouts in noise) and #2 (downside breakouts in bear markets).

Related Strategies

Keltner Channel Breakout

EMA mid-line plus ATR-scaled bands — breakout above the upper band signals real momentum, mid-line exit catches reversals early. ATR-adaptive trend following.

EMA · ATR

EMA Cross

The configurable trend-switcher — two exponential moving averages cross, and the trade direction flips. Faster than Golden Cross, simpler than EMA Trend Bias.

EMA

MACD Cross

The momentum classic — Moving Average Convergence Divergence in its purest form. Two modes: signal-line cross or histogram flip.

MACD · EMA

Don't want to backtest yourself?

Check out our Strategy Insights Reports — pre-baked deep-dives with historical results, comparisons, and market context.

📊 View Reports →

Ready to backtest?

Open the Arena →