Backtesting ArenaBacktesting Arena
PricingBlogBuild SaaS
🧭How it works🎬Guide🥋Strategies📖Wiki₿Bitcoin Wiki📓Glossary🎓How-To
★My panel
🧭Market State Today
🧱Market Structure🗺Context Chart₿BTC × Macro📈Market Pulse🔄Cycle Phase😨Sentiment (Fear & Greed)
🌀Arena Pulse
🌡Arena Heat Chart
🎲Return Probability
🪞Historical Analogues
🌍Macro Regime
🌐Market Pulse (Multi-Asset)soon
🔥Altcoin SeasonPro
💎Altcoin Screener
🎯Alts vs Bitcoin
📶Altcoin Market Breadth
🏃Altcoin Treadmill
📊Bitcoin Charts
▸Price Models▸On-Chain Valuation▸Mining▸Supply▸Performance📍Max Pain History💧Liquidity Fair Value
🪙Altcoin Charts
📅Monthly Returns⏳Price-Time Displacement🏦ETF Flows
📊Strategy InsightsPro
🌍Market InsightsPro🔬Filter InsightsElite🔀Pair Trading
🧪Edge Library
🥇Edge Leaderboard
⏳Volatility InsightsPro
🏅Arena Score
🔍Wyckoff Reality Check
🏢Fundamental Base Rates
📚Reports
💼Portfolio
₿Crypto
⚡Leverage BacktestPro
📈Tokenized RWAPro
🤖Grid Bot Testing
📋My Backtests
⚖️Active vs Passive
🔔Alerts
🚦Signal Status
📡Live Tracking
🔥On Fire (strategy of the week)
🎮Demo
🧪Strategy Mixersoon
🎯Dip Decision Tool
💶DCA vs. Lump Sum
🧮Valuation Matrix
🔗Portfolio Correlation
🎰Backtest Roulette
📝Order a Custom Report
🧘Bitcoin Lifestyle Calculator
🪜Ladder Stacking
🏆Winner's List
🌡️Sentiment
💡Improvements
🎁Referral
💬Telegram
🦋Bluesky
👥Reddit
𝕏X (Twitter)
🧭How it works
🎬Guide
🥋Strategies
📖Wiki
₿Bitcoin Wiki
📓Glossary
🎓How-To
🏠Overview
🤖AI Agents (MCP)
📖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 worksVideo guidePricingLeaderboardAPIFor AI AgentsImpressumDatenschutzAGBCookie-HinweisKontakt
📘 Built with Claude — how this platform was built in 70h (guide + boilerplate)→
Backtesting ArenaBacktesting Arena
PricingBlogBuild SaaS
🧭How it works🎬Guide🥋Strategies📖Wiki₿Bitcoin Wiki📓Glossary🎓How-To
★My panel
🧭Market State Today
🧱Market Structure🗺Context Chart₿BTC × Macro📈Market Pulse🔄Cycle Phase😨Sentiment (Fear & Greed)
🌀Arena Pulse
🌡Arena Heat Chart
🎲Return Probability
🪞Historical Analogues
🌍Macro Regime
🌐Market Pulse (Multi-Asset)soon
🔥Altcoin SeasonPro
💎Altcoin Screener
🎯Alts vs Bitcoin
📶Altcoin Market Breadth
🏃Altcoin Treadmill
📊Bitcoin Charts
▸Price Models▸On-Chain Valuation▸Mining▸Supply▸Performance📍Max Pain History💧Liquidity Fair Value
🪙Altcoin Charts
📅Monthly Returns⏳Price-Time Displacement🏦ETF Flows
📊Strategy InsightsPro
🌍Market InsightsPro🔬Filter InsightsElite🔀Pair Trading
🧪Edge Library
🥇Edge Leaderboard
⏳Volatility InsightsPro
🏅Arena Score
🔍Wyckoff Reality Check
🏢Fundamental Base Rates
📚Reports
💼Portfolio
₿Crypto
⚡Leverage BacktestPro
📈Tokenized RWAPro
🤖Grid Bot Testing
📋My Backtests
⚖️Active vs Passive
🔔Alerts
🚦Signal Status
📡Live Tracking
🔥On Fire (strategy of the week)
🎮Demo
🧪Strategy Mixersoon
🎯Dip Decision Tool
💶DCA vs. Lump Sum
🧮Valuation Matrix
🔗Portfolio Correlation
🎰Backtest Roulette
📝Order a Custom Report
🧘Bitcoin Lifestyle Calculator
🪜Ladder Stacking
🏆Winner's List
🌡️Sentiment
💡Improvements
🎁Referral
💬Telegram
🦋Bluesky
👥Reddit
𝕏X (Twitter)
🧭How it works
🎬Guide
🥋Strategies
📖Wiki
₿Bitcoin Wiki
📓Glossary
🎓How-To
🏠Overview
🤖AI Agents (MCP)
📖API Docs (interactive)
🔑Keys & Plans
📜OpenAPI 3.1
📦Postman Collection
🤖llms.txt
🧩skill.md
📝 BlogBuild SaaS💳 Pricing
LoginSign up
Strategies›Bull Market Support Band (20W SMA / 21W EMA)
Bull Market Support Band (20W SMA / 21W EMA) master

Bull Market Support Band (20W SMA / 21W EMA) Strategy

Long while the weekly close sits above both the 20-week SMA and the 21-week EMA, cash below both — no change while the close is inside the band. Defined on weekly candles with 20/21: any other periods or interval are a new trial, not a tuning. Every result reports its week anchor (Binance weeks start Monday UTC, KuCoin-sourced pairs Thursday UTC) and its band width.

Try in Arena →View Live Insights →

Quick Facts

Type:
Trend Following · regime
Plan:
Pro
Asset Classes:
Crypto
Indicators:
SMA(20W) · EMA(21W)

Community Performance

ⓘ
CAGR
+39.5%
Win Rate
33%
Max DD
-56%

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

How It Works

The Bull Market Support Band is the space between two weekly lines: the 20-week simple moving average and the 21-week exponential moving average. The rule reads the weekly close relative to that band, not the lines relative to each other.

  • Long — the weekly close is above both lines
  • Cash — the weekly close is below both lines
  • Inside the band — nothing changes; the previous state is held

The third line is the defining feature. It turns two lines into a hysteresis zone: the price has to cross the whole band before the state flips, which is what separates the BMSB from a plain crossover (Golden Cross, EMA Cross) or a single-line regime. Signals are read on the confirmed weekly close and filled at the open of the following week. The band width is reported as a diagnostic: when the two lines almost coincide, the hysteresis is inert and the rule behaves like a one-line filter.

The strategy is defined on weekly candles with periods 20 and 21. Both are exposed as parameters, but any other value is a new trial, not a tuning of the same strategy — and it counts as one in the multiple-testing correction.

Entry & Exit Rules

▲Entry

  • ●Weekly close is above both the 20-week SMA and the 21-week EMA → enter long at the open of the next week
  • ●After the 21-week warm-up, start long only if the first confirmed close is above both lines; inside or below the band starts in cash

▼Exit

  • ●Weekly close is below both lines → sell to 100% cash at the open of the next week
  • ●Weekly close inside the band (including a tie with one line) → hold the previous state, no trade
  • ●Open position is marked to the last close at the end of the backtest

Parameters

NameDefaultRangeDescription
SMA period (weeks)205–100Length of the simple moving average on weekly closes. 20 is the definition; any other value is a new trial.
EMA period (weeks)215–100Length of the exponential moving average on weekly closes, seeded with the SMA of the first 21 values. 21 is the definition.

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-4 assets by average CAGR (1w interval), aggregated from community + platform backtests. Actual results depend on parameters and period.

AssetCAGRvs B&H★Win%YearsRuns
SOLUSDT+118.0%+112.7pp8541%5.81
BTCUSDT+25.3%+2.3pp4633%8.83
ETHUSDT+19.9%+7.3pp4637%8.81
PAXGUSDT+13.9%-9.8pp4124%5.81
pp = delta vs avg-B&H · ★ = robustness score 0-100 (CAGR / win-rate / drawdown / consistency).Full Insights →

Default settings, tested

One backtest per pair on default parameters since 2018, net of cost, and the out-of-sample verdict over the same window. Recomputed daily. Unlike the table above, not an average over many runs.

Bull Market Support Band (20W SMA / 21W EMA)

BTCUSDT · weekly · default settings

Anecdote

17 closed round-trips — a verdict needs 30.

Net CAGR
+17.1%
vs buy & hold
−2.5 pp
Max. Drawdown
−66.2%
Round-Trips
17
Win rate
41%
StrategyBuy & Holdlog scale · 2018-01-01 – 2026-10-26

Today: invested since 2026-08-24

Since the rules were frozen (2026-09-22): −9.5% vs buy & hold −4.0% · 0 Round-Trips — too short for a verdict (total return, not annualised)

As of 2026-11-06 · window 2018-01-01 – 2026-10-26 · net of cost, descriptive, not a signal

tradingstrategies.workShare card →

Bull Market Support Band (20W SMA / 21W EMA)

ETHUSDT · weekly · default settings

Anecdote

15 closed round-trips — a verdict needs 30.

Net CAGR
+18.5%
vs buy & hold
+10.2 pp
Max. Drawdown
−74.2%
Round-Trips
15
Win rate
40%
StrategyBuy & Holdlog scale · 2018-01-01 – 2026-10-26

Today: invested since 2026-08-24

Since the rules were frozen (2026-09-22): −16.6% vs buy & hold −13.5% · 0 Round-Trips — too short for a verdict (total return, not annualised)

As of 2026-11-06 · window 2018-01-01 – 2026-10-26 · net of cost, descriptive, not a signal

tradingstrategies.workShare card →

Pseudo-Code

expand
// Long-only, weekly candles, hysteresis band
sma = SMA(close, 20)
ema = EMA(close, 21)   // seeded with SMA(21)
upper = max(sma, ema); lower = min(sma, ema)
state = flat            // after 21-week warm-up
for each confirmed weekly close:
  if close > upper: next = long
  elif close < lower: next = flat
  else: next = state    // inside the band: hold
  if next != state: order at NEXT week's open
  state = next

Strengths & Weaknesses

+Strengths

  • ●Hysteresis: a weekly close inside the band changes nothing, so a single noisy week cannot flip the position
  • ●Decisions on confirmed weekly closes — few trades, no intra-week trigger
  • ●Reports its own band width, so you can see when the two lines coincide and the band effect is absent
  • ●Every parameter deviation is declared as a new trial, which keeps the multiple-testing count honest

−Weaknesses

  • ●Weekly candles mean very few decisions per market — on most pairs the sample is too small for a verdict
  • ●Enters late and exits late by construction; it cannot catch bottoms or tops
  • ●When the band is thin, the hysteresis is inert and the rule collapses into a one-line regime filter
  • ●The 21-week warm-up removes the first five months of every pair's history from the evaluation window

Frequently Asked Questions

Why does it show a mismatch note on daily candles?+

The band is defined on weekly candles. SMA(20) and EMA(21) on daily candles are a different indicator that only shares the name — the run still executes, but the result carries `definition_interval_mismatch` so nobody reads it as the BMSB.

How is this different from Golden Cross or EMA Cross?+

Those rules act when the two lines cross each other. The BMSB ignores the lines' order and reads the close against the band — and it does nothing while the close is between the lines. That hold-inside rule is the whole difference.

Why does my chart show a different band?+

Our weekly candles open on Monday 00:00 UTC (reported as `interval_anchor` in every result). A chart with a different week start or exchange feed draws different weekly closes and therefore a different band.

Related Strategies

Index Regime (200-Day Trend)

Invested above the 200-day line, cash below. Meb Faber's classic trend filter — roughly Buy & Hold returns at a fraction of the drawdown.

SMA

Golden Cross

The classic trend-following signal — when the 50-day SMA crosses above the 200-day SMA, the trend has flipped bullish.

SMA

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

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 →