OPEN-SOURCE SCRIPT

Bitcoin Cycle Master [InvestorUnknown]

The "Bitcoin Cycle Master" indicator is designed for in-depth, long-term analysis of Bitcoin's price cycles, using several key metrics to track market behavior and forecast potential price tops and bottoms. The indicator integrates multiple moving averages and on-chain metrics, offering a comprehensive view of Bitcoin’s historical and projected performance. Each of its components plays a crucial role in identifying critical cycle points:

  • Top Cap: This is a multiple of the Average Cap, which is calculated as the cumulative sum of Bitcoin’s price (price has a longer history than Market Cap) divided by its age in days. Top Cap serves as an upper boundary for speculative price peaks, multiplied by a factor of 35.


Time_dif() =>
    date                = ta.valuewhen(bar_index == 0, time, 0)

    sec_r               = math.floor(date / 1000)
    min_r               = math.floor(sec_r / 60)
    h_r                 = math.floor(min_r / 60)
    d_r                 = math.floor(h_r / 24)

    // Launch of BTC
    start               = timestamp(2009, 1, 3, 00, 00)
    sec_rb              = math.floor(start / 1000)
    min_rb              = math.floor(sec_rb / 60)
    h_rb                = math.floor(min_rb / 60)
    d_rb                = math.floor(h_rb / 24)

    difference          = d_r - d_rb

AverageCap() =>
    ta.cum(btc_price) / (Time_dif() + btc_age)

TopCap() =>
    // To calculate Top Cap, it is first necessary to calculate Average Cap, which is the cumulative sum of Market Cap divided by the age of the market in days.
    // This creates a constant time-based moving average of market cap.
    // Once Average cap is calculated, those values are multiplied by 35. The result is Top Cap.

    // For AverageCap the BTC price was used instead of the MC because it has more history
    // (the result should have minimal if any deviation since MC would have to be divided by Supply)
    AverageCap() * 35


  • Delta Top: Defined as the difference between the Realized Cap and the Average Cap, this metric is further multiplied by a factor of 7. Delta Top provides a historically reliable signal for Bitcoin market cycle tops.


DeltaTop() =>
    // Delta Cap = Realized Cap - Average Cap
    // Average Cap is explained in the Top Cap section above.
    // Once Delta Cap is calculated, its values over time are then multiplied by 7. The result is Delta Top.
    (RealizedPrice() - AverageCap()) * 7


  • Terminal Price: Derived from Coin Days Destroyed, Terminal Price normalizes Bitcoin’s historical price behavior by its finite supply (21 million bitcoins), offering an adjusted price forecast as all bitcoins approach being mined. The original formula for Terminal Price didn’t produce expected results, hence the calculation was adjusted slightly.


CVDD() =>
    // CVDD stands for Cumulative Value Coin Days Destroyed.
    // Coin Days Destroyed is a term used for bitcoin to identify a value of sorts to UTXO’s (unspent transaction outputs). They can be thought of as coins moving between wallets.
    (MCR - TV) / 21000000

TerminalPrice() =>
    // Theory:
    // Before Terminal price is calculated, it is first necessary to calculate Transferred Price.
    // Transferred price takes the sum of > Coin Days Destroyed and divides it by the existing supply of bitcoin and the time it has been in circulation.
    // The value of Transferred Price is then multiplied by 21. Remember that there can only ever be 21 million bitcoin mined.
    // This creates a 'terminal' value as the supply is all mined, a kind of reverse supply adjustment.
    // Instead of heavily weighting later behavior, it normalizes historical behavior to today. By normalizing by 21, a terminal value is created

    // Unfortunately the theoretical calculation didn't produce results it should, in pinescript.
    // Therefore the calculation was slightly adjusted/improvised
    TransferredPrice = CVDD() / (Supply * math.log(btc_age))
    tp = TransferredPrice * 210000000 * 3


  • Realized Price: Calculated as the Market Cap Realized divided by the current supply of Bitcoin, this metric shows the average value of Bitcoin based on the price at which coins last moved, giving a market consensus price for long-term holders.
  • CVDD (Cumulative Value Coin Days Destroyed): This on-chain metric analyzes Bitcoin’s UTXOs (unspent transaction outputs) and the velocity of coins moving between wallets. It highlights key market dynamics during prolonged accumulation or distribution phases.
  • Balanced Price: The Balanced Price is the difference between the Realized Price and the Terminal Price, adjusted by Bitcoin's supply constraints. This metric provides a useful signal for identifying oversold market conditions during bear markets.


BalancedPrice() =>
    // It is calculated by subtracting Transferred Price from Realized Price
    RealizedPrice() - (TerminalPrice() / (21 * 3))


Each component can be toggled individually, allowing users to focus on specific aspects of Bitcoin’s price cycle and derive meaningful insights from its long-term behavior. The combination of these models provides a well-rounded view of both speculative peaks and long-term value trends.

Important consideration:
Top Cap did historically provide reliable signals for cycle peaks, however it may not be a relevant indication of peaks in the future.

Отказ от ответственности

Все виды контента, которые вы можете увидеть на TradingView, не являются финансовыми, инвестиционными, торговыми или любыми другими рекомендациями. Мы не предоставляем советы по покупке и продаже активов. Подробнее — в Условиях использования TradingView.