
Capitulation / euphoria proxy from rolling 155-day price extremes — STH/LTH wave behavior without on-chain data.
Basis: 28 user backtests · BTCUSDT · 1d · 4 years
Glassnode-style HODL Waves split supply by coin-age cohorts (Short-Term Holders, Long-Term Holders). When STH supply spikes, distribution is happening; when LTH supply spikes, accumulation is happening. The full data requires Glassnode-class on-chain analytics — but the price-based proxy captures the same regime shifts.
This strategy uses a 155-day rolling window:
Buy when Stress ≥ threshold (default 30%): capitulation zone, statistically reliable rebound area in BTC's historical cycles.
Sell when Euphoria ≥ threshold (default 150%): the rally has extended; LTH-cohort distribution typically begins here.
BTC-only because the parameters are calibrated to Bitcoin's cyclical structure — applying it to altcoins or stocks won't reproduce the same regime mapping.
| Name | Default | Range | Description |
|---|---|---|---|
| Lookback | 155 | 30–730 | Rolling window in days. 155 ≈ midpoint of Glassnode's STH/LTH cutoff (155 days). |
| Stress Threshold (%) | 30 | 5–90 | Buy when current price is at least X% below the rolling 155d high. |
| Euphoria Threshold (%) | 150 | 20–500 | Sell when current price is at least X% above the rolling 155d low. |
The pre-baked mini-backtest is refreshed daily — check back soon or start a live run in the Arena.
Run in Arena →Top-10 assets by average CAGR (1d interval), aggregated from community + platform backtests. Actual results depend on parameters and period.
| Asset | CAGR | vs B&H | ★ | Runs |
|---|---|---|---|---|
| BTCUSDT | +13.0% | -12.5pp | 43 | 1 |
| OCEANBTC | +9.0% | +22.2pp | 60 | 1 |
| THETAETH | -1.9% | +10.9pp | 53 | 1 |
| MKRBTC | -2.4% | +27.7pp | 52 | 1 |
| JOEBUSD | -28.6% | +0.1pp | 25 | 1 |
| PAXGBNB | -31.3% | -30.8pp | 23 | 1 |
| PEPEBRL | -36.3% | +31.2pp | 49 | 1 |
| SCETH | -38.4% | +4.0pp | 33 | 1 |
| PNUTUSDT | -43.8% | +32.7pp | 49 | 1 |
| OCEANBNB | -48.5% | -37.3pp | 24 | 1 |
// Rolling 155-day max/min
for each bar:
hi155 = max(close[-155..])
lo155 = min(close[-155..])
stress = (hi155 - price) / hi155 * 100
euphoria = (price - lo155) / lo155 * 100
if position.is_flat and stress >= stressThreshold:
BUY
if position.is_long and euphoria >= euphoriaThreshold:
SELLGlassnode subscriptions start at ~$30/month for individual cohorts. The price-proxy captures ~80% of the regime-shift signal with public BTCUSDT OHLC data alone. For real institutional research, Glassnode is the gold standard — but for a strategy backtest, the proxy is sufficient.
The classic BTC top indicator — 111-day SMA crossing the 350-day SMA × 2. One signal per cycle, near-perfect track record (2013/2017/2021).
Capital-flow proxy combining price change with volume conviction — EMA-cascade cross or threshold detection.
Check out our Strategy Insights Reports — pre-baked deep-dives with historical results, comparisons, and market context.