Does the 200-week moving average work?
The price at 3× its 200-week average or more. Mixed: 2 of 5 signals were on within 90 days of a cycle top, catching 2 of the 3 tops in its record; a year later the price had changed by a median +16.4%, against +79.4% for a typical day of the same cycles. With 3 independent signals, chance cannot be ruled out.
The price below its 200-week average. Mixed: 3 of 7 signals were on within 90 days of a cycle bottom, catching 3 of the 4 bottoms in its record; a year later the price had changed by a median +157%, against +72.6% for a typical day of the same cycles. With 4 independent signals, chance cannot be ruled out.
- The price at 3× its 200-week average or more: 5 signals; 2 of 5 decided were on within 90 days of a cycle top (3 false alarms); it caught 2 of the 3 cycle tops in its record.
- The price below its 200-week average: 7 signals; 3 of 7 decided were on within 90 days of a cycle bottom (4 false alarms); it caught 3 of the 4 cycle bottoms in its record.
What followed the signals
The price at 3× its 200-week average or more
| After | Signals | Median change | Mean change | Share up | All days: median | All days: share up | Same cycles: median |
|---|---|---|---|---|---|---|---|
| 7 days | 5 5 independent | +4.0% | +3.6% | 60% | +0.6% | 54% | +1.0% |
| 30 days | 5 5 independent | +20.8% | +21.7% | 60% | +2.5% | 56% | +5.1% |
| 90 days | 5 5 independent | +43.4% | +49.2% | 60% | +6.9% | 57% | +19.5% |
| 365 days | 5 3 independent | +16.4% | +121% | 60% | +66.1% | 69% | +79.4% |
The price below its 200-week average
| After | Signals | Median change | Mean change | Share up | All days: median | All days: share up | Same cycles: median |
|---|---|---|---|---|---|---|---|
| 7 days | 7 7 independent | +0.6% | +8.6% | 57% | +0.6% | 54% | +0.6% |
| 30 days | 7 7 independent | +4.2% | +14.5% | 71% | +2.5% | 56% | +2.0% |
| 90 days | 7 6 independent | +33.2% | +37.0% | 100% | +6.9% | 57% | +12.3% |
| 365 days | 6 4 independent | +157% | +281% | 100% | +66.1% | 69% | +72.6% |
Every signal
The price at 3× its 200-week average or more
| First day | Reading | BTC close | 7 days | 30 days | 90 days | 365 days | Nearest cycle top | Near a turn |
|---|---|---|---|---|---|---|---|---|
| 3 May 2017 403 days in signal | 3.01× | $1,486 | +18.0% | +67.8% | +84.9% | +556% | 227 days before the 2017 top (16 Dec 2017); price −92.3% from it | Hit |
| 24 Jul 2018 7 days in signal | 3.26× | $8,396 | −7.9% | −22.1% | −22.8% | +16.4% | 220 days after the 2017 top (16 Dec 2017); price −56.6% from it | False alarm |
| 25 Jun 2019 8 days in signal | 3.04× | $11,740 | −7.6% | −15.8% | −17.4% | −20.8% | 556 days after the 2017 top (16 Dec 2017); price −39.3% from it | False alarm |
| 17 Dec 2020 160 days in signal | 3.02× | $22,822 | +4.0% | +57.9% | +158% | +102% | 326 days before the 2021 top (8 Nov 2021); price −66.2% from it | False alarm |
| 6 Aug 2021 104 days in signal | 3.00× | $42,852 | +11.6% | +20.8% | +43.4% | −46.4% | 94 days before the 2021 top (8 Nov 2021); price −36.6% from it | Hit |
| Cycle top | BTC close | Signal on within 90 days |
|---|---|---|
| 16 Dec 2017 | $19,345 | Yes: the signal from 3 May 2017, which began 227 days before it |
| 8 Nov 2021 | $67,549 | Yes: the signal from 6 Aug 2021, which began 94 days before it |
| 6 Oct 2025 | $124,766 | No signal on within 90 days |
The price below its 200-week average
| First day | Reading | BTC close | 7 days | 30 days | 90 days | 365 days | Nearest cycle bottom | Near a turn |
|---|---|---|---|---|---|---|---|---|
| 14 Jan 2015 | 0.85× | $164.92 | +38.4% | +43.2% | +32.2% | +160% | the same day the 2015 bottom (14 Jan 2015); price 0.0% from it | Hit |
| 19 Aug 2015 39 days in signal | 0.97× | $226.00 | −0.5% | +2.7% | +47.7% | +154% | 217 days after the 2015 bottom (14 Jan 2015); price +37.0% from it | False alarm |
| 12 Mar 2020 6 days in signal | 0.89× | $4,917 | +25.8% | +40.1% | +101% | +1065% | 453 days after the 2018 bottom (15 Dec 2018); price +52.1% from it | False alarm |
| 14 Jun 2022 249 days in signal | 0.99× | $22,118 | −6.4% | −7.0% | +1.3% | +13.6% | 160 days before the 2022 bottom (21 Nov 2022); price +40.3% from it | Hit |
| 5 Jun 2023 10 days in signal | 0.98× | $25,740 | +0.6% | +18.5% | +0.9% | +174% | 196 days after the 2022 bottom (21 Nov 2022); price +63.3% from it | False alarm |
| 17 Aug 2023 58 days in signal | 0.97× | $26,630 | −1.7% | −0.2% | +42.3% | +121% | 269 days after the 2022 bottom (21 Nov 2022); price +69.0% from it | False alarm |
| 5 Jun 2026 26 days in signal | 0.99× | $61,038 | +4.1% | +4.2% | +33.2% | – | 25 days before the current cycle's bottom so far (30 Jun 2026); price +4.3% from it | Hit |
| Cycle bottom | BTC close | Signal on within 90 days |
|---|---|---|
| 14 Jan 2015 | $164.92 | Yes: the signal from 14 Jan 2015, which began that day it |
| 15 Dec 2018 | $3,233 | No signal on within 90 days |
| 21 Nov 2022 | $15,760 | Yes: the signal from 14 Jun 2022, which began 160 days before it |
| 30 Jun 2026 | $58,532 | Yes: the signal from 5 Jun 2026, which began 25 days before it |
Method and sources
Signals. Top signal: the price at 3× its 200-week average or more; Bottom signal: the price below its 200-week average. The levels are the ones commonly quoted for this indicator, fixed before any result was looked at. A signal starts on the first day the condition holds after it has been off for at least 30 days, so a run of days counts once (the same rule as the signal lab).
Point in time. The reading is the daily close divided by the published 1,400-day average of closes, which is trailing, so each day uses only closes up to it. Daily readings are closed UTC days from 16 May 2014 to 26 October 2026; the open day is never used.
Outcomes. The change of the BTC daily close from the close of the signal's first day to the close 7, 30, 90 and 365 days later, against the same change from every day the indicator has a reading (the base rate). Signals whose windows overlap share the same price moves, so the tables also count independent signals: windows that do not overlap, counted from the first. Recent signals wait for their outcomes.
Cycle tops and bottoms. A cycle top is an all-time-high close followed by a fall of at least 75% before any higher close; the latest all-time high starts the current cycle. A cycle bottom is the lowest close between two tops; the current cycle's bottom is its lowest close so far, so it can still move. A signal is a hit when a turn of its kind came while it was on or within 90 days either side (from 90 days before its first day to 90 days after its last), and a false alarm otherwise; a signal still on, or ended less than 90 days ago, waits. The verdict compares each signal with the median change of every day in the same four-year halving cycle, so the outsized early years neither flatter nor penalise later signals.
Plans. The chart is Free, so every signal and today's reading are shown to everyone.
Sources. Our own Bitcoin node and BTC/USD price record, through the published chart linked below. Past signals describe what happened; they are not a forecast and nothing here is investment advice.
Questions
Does the 200-week moving average work?
How accurate is the 200-week moving average?
Has the 200-week moving average given false signals?
Is the 200-week moving average signalling now?
How is this backtest calculated?
Each signal is the first day the price against its 200-week average meets its level after at least 30 days without it, using only data that existed that day. We measure the BTC price change 7, 30, 90 and 365 days later against the same change from every day and from the days of the same four-year cycle, and the distance to the nearest cycle top or bottom.
Open the 200-week moving average chartAll free tools
Signals and outcomes are calculated by CryptoKeyhole from our own Bitcoin node and price data, using only data that existed on each day. Past signals describe what happened; they are not a forecast, and nothing here is investment advice.