BTC Macro Timing โ How it works
This page explains everything you need to know to understand what you see on the dashboard and in the Telegram bot. If you just want to play, go to the dashboard or @getrichbtc_bot.
The thermometer
The thermometer (also called composite score) is a number between -100 and +100 summarising Bitcoin's macro state by combining 11 technical and on-chain indicators.
The idea: instead of staring at 11 charts, we compress their consensus into one reading. Cyclical BTC bottoms (2015, 2018, 2022) read between -80 and -100. Tops (2017, 2021) between +70 and +100.
Important: the thermometer sitting in a historical buy zone doesn't mean price can't keep falling, and vice-versa. It's a map, not the territory.
The 11 indicators
Each indicator is computed from public data (price, on-chain network metrics, market caps), normalised to a -100..+100 scale, and contributes its weighted score to the thermometer.
- MVRVCompares market cap to the average cost basis of each coin. High readings โ lots of latent profit (top). Low โ most coins underwater (bottom).
- CVDDCumulative Value Days Destroyed. Sums coin-days destroyed weighted by price. Marks brutal historical bottoms in each cycle.
- Miner Production CostEstimated electrical cost to produce 1 BTC. When price falls near this cost, it has historically coincided with cyclical bottoms.
- Miner Revenue (90d)Daily total miner revenue smoothed. Extreme readings mark euphoric tops and capitulations.
- Supply in Profit% of circulating supply in profit. >95% tops; <50% bottoms.
- SMA 200 weeks200-week simple moving average. Historically acts as a floor during bear markets.
- SMA 300 weeksSlower; captures long-term adoption slope. Extreme deviations mark parabolic tops and generational bottoms.
- Mayer MultiplePrice divided by daily SMA200. >2.4 tops; <1 bottoms. Classic.
- Drawdown from ATH% decline from all-time-high. >70% has been a solid cyclical bottom.
- Stablecoin Dominance% of total crypto market cap held in stables. Rises in bears (flight to safety), falls in bulls (rotation to risk).
- BTC.D vs USDT.DRelative dominance of BTC vs USDT. Sharp shifts detect capital rotations between BTC, alts and stables.
Each indicator has a weight (1.0 default) you can tweak from the dashboard or the bot (/indicators). The thermometer is the weighted mean of the indicators currently firing in their signal direction.
Statistical regime
The regime defines the window against which each indicator's current value is measured to get its percentile (and therefore its score). The same raw value (e.g. MVRV = 1.5) may score -30 under one regime and +20 under another.
- Cycle (halving): percentile within the current halving cycle. Most sensitive to in-cycle extremes. Resets at every halving โ unreliable in the first 18 months of a new cycle (too few samples).
- 2 years: percentile over the trailing 730 days. Most reactive; can saturate when the trailing window is dominated by a single market phase.
- 4 years: percentile over the trailing 1460 days (one full cycle). Default โ most stable scores.
Which one to use? If you believe each cycle is unique, use Cycle. If you trust ~4 years of conditions as a baseline, use 4 years. The header strip shows all three at once so you can compare.
Candle timeframe
The 1W (weekly) and 1M (monthly) options in the header only control candle aggregation in the chart.
They do not affect the thermometer. The composite is always computed on daily data โ candle speed only changes how you see price, not how indicators are scored. For different scores, switch the regime, not the timeframe.
Zones and thresholds
The thermometer is split into 5 zones, colour-coded both in the dashboard and the bot:
- ๐ข Strong buy: โค -70
- ๐ข Buy: -30 to -70
- โช๏ธ Neutral: -30 to +30
- ๐ด Sell: +30 to +70
- ๐ด Strong sell: โฅ +70
When you create alarms in the bot (/alarm buy -70), the bot pings you when the threshold is crossed โ regardless of zone.
Chart tools
The chart uses lightweight-charts. Left-click on a candle pins a snapshot with the 11 indicator values at that moment. ESC closes.
Header toggles (desktop):
- Heatmap โ composite intensity colour band
- Score โ composite as a line overlay
- Halvings โ vertical lines at each halving
- EMA 50 / 100 / 200 โ exponential moving averages of close
- BB โ Bollinger Bands (20, 2ฯ)
- RSI โ RSI in a bottom pane with 30/50/70 reference lines
Drawings (desktop only):
- ๐ Horizontal: click places a line at the cursor's price
- ๐ Trend line: two clicks define points A and B
- โญ Rectangle: two clicks mark opposite corners
- ๐ Delete: click on any drawing
All drawings persist in localStorage, partitioned by timeframe (1d/1w/1M).
Telegram bot
@getrichbtc_bot @getrichbtc_bot is the dashboard companion. Daily pushes, custom-threshold alarms, and natural-language Q&A backed by current data.
/todayโ current thermometer state/chartโ dashboard screenshot/indicatorsโ 11 indicators with explanations and weight editor/alarm buy -70โ alarm when thermometer โค -70/alarmsโ list/delete alarms/menuโ interactive menu with buttons/infoโ short explainer
Any free text is treated as a question for an AI fed with composite context and your last 12 messages. Restricted to BTC/crypto. Never gives investment advice.
FAQ
Why doesn't the header thermometer change when I switch timeframe?
Because timeframe only affects candle aggregation. The composite is daily by definition. To see different scores, switch the regime (Cycle / 2y / 4y) in the header strip.
Why is the composite slightly different across regimes?
Each regime measures the current value of each indicator against a different historical window. An MVRV of 1.5 might be extreme over the last 2 years but normal over the full cycle. The score reflects that difference.
Are my weight changes saved?
Yes. The bot stores your weights per chat in a server-side SQLite. The dashboard stores weights in the local store (volatile). Sync between the two is coming.
How fresh is the data?
Candles refresh every 10s. Macro indicators every 10 min. The backend caches upstream API calls (Binance, blockchain.info, DeFi Llama) with TTLs by data type.
Is this financial advice?
No. It's data analysis. Buy/sell decisions are yours. The dashboard and bot are not investment recommendations.