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›CapFlow Proxy (BTC)
CapFlow Proxy (BTC) master

CapFlow Proxy (BTC) Strategy

Capital-flow proxy combining price change with volume conviction — EMA-cascade cross or threshold detection.

Try in Arena →View Live Insights →

Quick Facts

Type:
Momentum · btc-only
Plan:
Pro
Asset Classes:
Crypto
Indicators:
Weighted Capital Flow · EMA Fast · EMA Slow

Community Performance

ⓘ
CAGR
-23.0%
Win Rate
37%
Max DD
-72%

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

How It Works

CapFlow Proxy synthesizes a capital-flow signal from price + volume on BTC. The core idea: not every price move is meaningful — moves backed by high relative volume carry more directional conviction.

Calculation:

  1. Weighted flow per bar = (close − prevClose) / prevClose × min(volume / avgVolume, 3.0). The volume cap prevents extreme volume spikes from dominating the signal.
  2. Fast EMA of the weighted flow (default 14 periods, EMA-smoothed).
  3. Slow EMA (Length × 2 + smoothing tail) — derived slow line for crossover detection.
  4. Pre-smoothing (default 3) reduces noise on the raw flow before the EMA cascade.

Mode crossover (default): Buy when Fast EMA crosses above Slow EMA, Sell when it crosses below.

Mode threshold: Buy when Fast EMA > +multiplier × stdDev, Sell when Fast EMA < −multiplier × stdDev. Different trade-off — fewer signals, higher per-trade conviction.

BTC-only because the parameters are calibrated to Bitcoin's volume profile (Binance spot). Altcoins have very different volume / price relationships (wash trading, lower liquidity) — the proxy doesn't transfer cleanly.

Entry & Exit Rules

▲Entry

  • ●Mode `crossover`: Fast EMA crosses above Slow EMA
  • ●Mode `threshold`: Fast EMA > +multiplier × stdDev
  • ●Position is currently flat

▼Exit

  • ●Mode `crossover`: Fast EMA crosses below Slow EMA
  • ●Mode `threshold`: Fast EMA < −multiplier × stdDev
  • ●Position is currently long

Parameters

NameDefaultRangeDescription
Length (EMA period)145–50Fast EMA period applied to the smoothed weighted-flow series.
Multiplier1.50.5–5Threshold-mode: how many standard deviations above/below 0 to trigger entry/exit. Crossover mode: ignored.
Smoothing31–20Pre-smoothing window on the raw weighted-flow before EMA cascade.
Modecrossover–`crossover`: Fast-vs-Slow MA cross. `threshold`: Fast-EMA vs ±multiplier × stdDev.

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
THETAETH+53.6%+66.4pp7537%6.41
BTCUSDT+45.0%+19.8pp7040%8.51
MKRBTC+43.2%+73.3pp8045%5.11
SUSHIBNB+31.2%+85.0pp7040%3.11
PAXGBNB+13.5%+14.0pp5041%3.31
JOEBUSD+8.2%+36.9pp5543%1.81
STOUSDC+0.4%+59.6pp5744%1.11
SCETH-1.6%+40.8pp4143%7.61
OCEANBNB-12.1%-0.9pp2036%3.81
LTOBTC-18.7%+61.0pp3436%5.41
pp = delta vs avg-B&H · ★ = robustness score 0-100 (CAGR / win-rate / drawdown / consistency).Full Insights →

Pseudo-Code

expand
// Weighted capital flow per bar
for each bar:
  priceChange = (close - prevClose) / prevClose
  volRatio    = min(volume / avgVolume(20), 3.0)   // cap extreme spikes
  flow[i]     = priceChange * volRatio

// Smoothing + EMA cascade
flowSmooth = SMA(flow, smooth)        // default 3
emaFast    = EMA(flowSmooth, length)  // default 14
emaSlow    = EMA(flowSmooth, length * 2)

for each bar:
  if mode == 'crossover':
    if position.is_flat and crossover(emaFast, emaSlow):   BUY
    if position.is_long and crossunder(emaFast, emaSlow):  SELL
  if mode == 'threshold':
    upper = +multiplier * stdDev(emaFast, 20)
    lower = -multiplier * stdDev(emaFast, 20)
    if position.is_flat and emaFast > upper:  BUY
    if position.is_long and emaFast < lower:  SELL

Strengths & Weaknesses

+Strengths

  • ●Active strategy with ~30 trades/year — enough sample for robust statistics
  • ●Volume-weighted: filters meaningless price moves
  • ●Two distinct modes give flexibility for noise vs conviction trade-offs

−Weaknesses

  • ●BTC-only — volume profile of altcoins / stocks doesn't fit
  • ●Threshold-mode needs stable volatility regime — can underperform in regime shifts
  • ●Volume data quality: pre-2017 Binance volume is thin

Frequently Asked Questions

Why not use plain OBV?+

OBV (On-Balance Volume) sums signed volume but treats every direction-day equally — a 0.1% move on big volume contributes the same direction-vote as a 5% move. CapFlow weights the contribution by both relative volume AND magnitude of price change, so significant moves dominate the signal.

Related Strategies

HODL Wave Proxy (BTC)

Capitulation / euphoria proxy from rolling 155-day price extremes — STH/LTH wave behavior without on-chain data.

Rolling Max · Rolling Min · % Drawdown · % Recovery

OBV-MACD

Apply MACD logic to On-Balance Volume — combining volume confirmation with trend signals. Volume tells you the truth that price hides.

OBV · MACD

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 →