OPEN-SOURCE SCRIPT
Bitcoin Macro Oscillator (Cuga)

Bitcoin Macro Oscillator (BMO) — WooCharts-Style Composite Indicator
A single-number macro health check for Bitcoin, combining 4 key signals into one oscillator:
══════════════════════════════════════════════
HOW IT'S CALCULATED
══════════════════════════════════════════════
1. MVRV Z-Score
• Data: On-chain MVRV Ratio (INTOTHEBLOCK:BTC_MVRV)
• Z = (MVRV - μ_4yr) / σ_4yr
• Measures over/undervaluation vs. realized cost basis
2. VWAP Ratio Z-Score
• VWAP = Cumulative (Price × Volume) / Cumulative Volume
• Ratio = (Price / VWAP) - 1
• Z = (Ratio - μ_4yr) / σ_4yr
• Tracks deviation from volume-weighted fair value
3. CVDD Ratio Z-Score (Approximated)
• CVDD Proxy = 200-week SMA (long-term holder cost)
• Ratio = (Price / CVDD) - 1
• Z = (Ratio - μ_4yr) / σ_4yr
• Captures coin-age destruction & HODL cost basis
4. Sharpe Ratio Z-Score
• 90-day rolling Sharpe = (Daily Return) / σ_daily
• Z = (Sharpe - μ_4yr) / σ_4yr
• Measures risk-adjusted momentum quality
══════════════════════════════════════════════
FINAL BMO FORMULA
══════════════════════════════════════════════
BMO = 0.25 × (Z_MVRV + Z_VWAP + Z_CVDD + Z_Sharpe)
• Lookback: 1,460 days (~4 years) for mean & std dev
• Equal weighting → BMO oscillates ~ –2.5 to +2.5
• Optional 1-period SMA smoothing
══════════════════════════════════════════════
SIGNAL LEVELS
══════════════════════════════════════════════
< –1.5 → Deep Oversold (Macro Buy)
–1.5 to –0.8 → Oversold
–0.8 to +0.8 → Neutral
+0.8 to +1.5 → Overbought
> +1.5 → Deep Overbought (Macro Sell)
A single-number macro health check for Bitcoin, combining 4 key signals into one oscillator:
══════════════════════════════════════════════
HOW IT'S CALCULATED
══════════════════════════════════════════════
1. MVRV Z-Score
• Data: On-chain MVRV Ratio (INTOTHEBLOCK:BTC_MVRV)
• Z = (MVRV - μ_4yr) / σ_4yr
• Measures over/undervaluation vs. realized cost basis
2. VWAP Ratio Z-Score
• VWAP = Cumulative (Price × Volume) / Cumulative Volume
• Ratio = (Price / VWAP) - 1
• Z = (Ratio - μ_4yr) / σ_4yr
• Tracks deviation from volume-weighted fair value
3. CVDD Ratio Z-Score (Approximated)
• CVDD Proxy = 200-week SMA (long-term holder cost)
• Ratio = (Price / CVDD) - 1
• Z = (Ratio - μ_4yr) / σ_4yr
• Captures coin-age destruction & HODL cost basis
4. Sharpe Ratio Z-Score
• 90-day rolling Sharpe = (Daily Return) / σ_daily
• Z = (Sharpe - μ_4yr) / σ_4yr
• Measures risk-adjusted momentum quality
══════════════════════════════════════════════
FINAL BMO FORMULA
══════════════════════════════════════════════
BMO = 0.25 × (Z_MVRV + Z_VWAP + Z_CVDD + Z_Sharpe)
• Lookback: 1,460 days (~4 years) for mean & std dev
• Equal weighting → BMO oscillates ~ –2.5 to +2.5
• Optional 1-period SMA smoothing
══════════════════════════════════════════════
SIGNAL LEVELS
══════════════════════════════════════════════
< –1.5 → Deep Oversold (Macro Buy)
–1.5 to –0.8 → Oversold
–0.8 to +0.8 → Neutral
+0.8 to +1.5 → Overbought
> +1.5 → Deep Overbought (Macro Sell)
نص برمجي مفتوح المصدر
بروح TradingView الحقيقية، قام مبتكر هذا النص البرمجي بجعله مفتوح المصدر، بحيث يمكن للمتداولين مراجعة وظائفه والتحقق منها. شكرا للمؤلف! بينما يمكنك استخدامه مجانًا، تذكر أن إعادة نشر الكود يخضع لقواعد الموقع الخاصة بنا.
إخلاء المسؤولية
لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView. اقرأ المزيد في شروط الاستخدام.
نص برمجي مفتوح المصدر
بروح TradingView الحقيقية، قام مبتكر هذا النص البرمجي بجعله مفتوح المصدر، بحيث يمكن للمتداولين مراجعة وظائفه والتحقق منها. شكرا للمؤلف! بينما يمكنك استخدامه مجانًا، تذكر أن إعادة نشر الكود يخضع لقواعد الموقع الخاصة بنا.
إخلاء المسؤولية
لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView. اقرأ المزيد في شروط الاستخدام.