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 อ่านเพิ่มเติมที่ ข้อกำหนดการใช้งาน