Bitcoin Cycle Highs and LowsOVERVIEW
The Bitcoin Cycle Highs and Lows indicator maps out the historical macro market cycle tops and bottoms of Bitcoin, dating back to 2011. In addition to serving as a visual map of historical market phases, the indicator features an algorithmic projection engine. This engine uses various statistical and geometric decay models to forecast the date and price of future macro highs and lows based on the asset's historical behaviour.
This tool is designed for macro-level market analysis, allowing traders to visualise diminishing returns, cycle duration trends, and phase retracements.
I created this indicator during a "vibe coding" session (cringe) with Google Gemini in an AI Canvas. Check out the YouTube video on this at the mafftopia channel.
CHART ELEMENTS
The indicator plots several visual elements:
• Vertical Cycle Markers: Solid vertical lines identify the exact date of historical macro highs (Red) and macro lows (Lime).
• Price & Date Labels: Located at the anchor of each vertical line, detailing the exact recorded date and price (formatted automatically to the chart's active currency).
• Phase Arrows (Dashed Lines): Horizontal dashed lines connecting a low to the subsequent high (Bull Phase) or a high to the subsequent low (Bear Phase).
• Phase Statistics: Floating text labels positioned at the end of each Phase Arrow. These display the duration of the phase in days, the absolute price change, and the percentage move from the previous point.
PREDICTION MODELS
The indicator includes multiple distinct mathematical models for projecting future dates and prices.
Date Predictors:
• Previous bar count: Projects the next date by applying the exact duration of the most recent corresponding cycle.
• Average: Calculates the simple arithmetic average duration of all historical cycles of the same type.
• Weighted average: Averages previous cycle lengths but applies a mathematical recency bias, giving more weight to recent cycles to account for cycle duration stabilisation.
Price Predictors:
• Previous % move: Projects the next target by applying the exact percentage multiplier of the most recent corresponding cycle.
• Average: Projects the target using the geometric mean of all historical cycle multipliers, limiting the skew of extreme outliers.
• Diminishing gains: Analyses the cycle-over-cycle rate of change. It isolates peak-to-peak or trough-to-trough macro moves, calculates the historical decay in those percentage gains, and applies the decayed growth rate to project the next target.
• Fibonacci extension decay: Evaluates swing ratios by measuring the magnitude of a phase relative to the preceding phase (for example, how far a bull market extended past the previous bear market drop). It calculates the historical decay of that extension premium and applies it to the current swing.
SETTINGS AND INPUTS
• Predictions: Determines the number of future cycle highs and lows to project. Set to 0 to disable projections and only view historical data.
• Date predictor: Selects the algorithmic model used to project the X-axis (time) coordinate of future cycle points.
• Price predictor: Selects the algorithmic model used to project the Y-axis (price) coordinate of future cycle points.
• Bear/Bull market arrows: Toggles the visibility of the horizontal dashed lines and their accompanying statistical labels.
• Full height backgrounds: When true, vertical cycle markers extend infinitely across the Y-axis. When false, markers anchor precisely to the price level of the previous cycle phase, creating a stair-step visualisation.
• Ignore 2011 cycle: Excludes the extreme volatility and outliers of the 2011 cycle from the indicator's mathematical averages and trend decay calculations.
• Backtest # lows/highs: A testing feature that temporarily removes the most recent 1 or 2 historical cycle points from the dataset. This allows users to test the prediction models against known outcomes to evaluate their historical accuracy.
Pine Script® indicator








