Custom Session Tracker (KN)**Custom Session Tracker (KN)**
Visually highlight any intraday session’s high, low, and midpoint on your chart with full styling control.
**Description**
Custom Session Tracker (KN) lets you define any trading session (e.g. 09:30–16:00 NY time) and automatically draws:
* A translucent box spanning the session’s High and Low
* A horizontal line marking the session midpoint
All elements update in real time and persist after session close.
**Features**
* **Session Range Box**: Plots from session open through close
* **Mid-Price Line**: Marks the exact midpoint of High/Low
* **Timezone Input**: Aligns session to any GMT offset
* **Custom Colors**: Fill, border, and mid-line colors
* **Line & Border Styles**: Choose solid or dashed
**Inputs**
* **Timezone** – GMT offset for your market
* **Session** – Hours in `HHMM-HHMM` format
* **Fill Color** – Box interior transparency
* **Border Color** – Box outline
* **Box Border Style** – Solid or dashed
* **Midline Color** – Mid-price line color
* **Mid Price Line Style** – Solid or dashed
**How to Use**
1. Add the script to your chart.
2. Set your session hours and timezone.
3. Customize colors and styles.
4. Watch each session’s high, low, and midpoint appear automatically.
Perfect for session-overlap strategies, mean-reversion signals, or simply keeping key levels in view.
Kitaran
Real-Time Open Levels with Labels + Info TableReal-Time Multi-Timeframe Open Levels with Labels & Info Panel
Overview
This indicator displays real-time opening price levels across multiple timeframes (Monthly, Weekly, Daily, 4H) directly on your chart. It features:
• Dynamic horizontal lines extending through each timeframe period
• Customizable labels with text/colors
• Special 4H line treatment for the last hour (5-min charts only)
• Integrated information panel showing symbol, timeframe, and price changes
! (www.tradingview.com)
*Example showing multiple timeframe levels with labels and info panel*
---
Features & Configuration
1. Monthly Settings
! (www.tradingview.com)
Show Monthly: Toggle visibility of monthly opening price
Color: Semi-transparent blue (#2196F3 at 70% opacity)
Width: 2px line thickness
Style: Solid/Dotted/Dashed
Label: Display "M-Open" text with white text on blue background
2. Weekly Settings
! (www.tradingview.com)
Show Weekly: Toggle weekly opening price visibility
Color: Semi-transparent red (#FF5252 at 70% opacity)
Width: 1px thickness
Style: Dotted by default
Label: "W-Open" text in white on red background
3. Daily Settings
! (www.tradingview.com)
Show Daily: Toggle daily opening price
Color: Amber (#FFA000 at 70% opacity)
Width: 2px thickness
Style: Solid
Label: "D-Open" in white on orange background
---
4. 4-Hour Settings (5-Minute Charts Only)
Special Features for 5-Min Timeframe:
1. Standard 4H Line
• First 3 hours: Green (#4CAF50) dashed line
• Last hour: Bright red solid line (configurable)
• Vertical divider between 3rd/4th hours
2. Configuration Options
• Main 4H Line:
◦ Color/Width/Style for initial 3 hours
◦ Toggle label ("H4-Open") visibility and styling
• Final Hour Enhancement:
*Last Hour Line*
◦ Unique red color and line style
◦ Separate width (1px) and style (Solid)
*Divider Line*
◦ Vertical red dotted line marking last hour
◦ Adjustable position/width/transparency
! (www.tradingview.com)
*4H levels showing 3-hour segment and final hour treatment*
---
5. Info Panel Settings
Positioning:
• Anchor to any chart corner (Top/Bottom + Left/Right combinations)
• Three text sizes: Title (Huge), Change % (Large), Signature (Small)
Display Elements:
• Symbol: Show exchange prefix (e.g., "NASDAQ:")
• Timeframe: Current chart period (e.g., "5m")
• Change %: 24-hour price movement ▲/▼ percentage
• Custom Signature: Add text/username in footer
Styling:
• Semi-transparent white text (#ffffff77)
• Currency pair formatting (e.g., BTC/USD vs BTC-USD)
! (www.tradingview.com)
*Sample info panel with all elements enabled*
---
Usage Tips
1. Multi-Timeframe Context: Use levels to identify key daily/weekly support/resistance
2. 4H Trading: On 5-min charts, watch for price reactions near final hour transition
3. Customization:
• Match line colors to your chart theme
• Use different labels for clarity (e.g., "Weekly Open")
• Disable unused elements to reduce clutter
4. Divider Lines: Helps identify institutional trading periods (hour closes)
---
*Created using Pine Script v6. For optimal performance, use on charts <1H timeframe. ()*
Seasonality DOW CombinedOverall Purpose
This script analyzes historical daily returns based on two specific criteria:
Month of the year (January through December)
Day of the week (Sunday through Saturday)
It summarizes and visually displays the average historical performance of the selected asset by these criteria over multiple years.
Step-by-Step Breakdown
1. Initial Settings:
Defines minimum year (i_year_start) from which data analysis will start.
Ensures the user is using a daily timeframe, otherwise prompts an error.
Sets basic display preferences like text size and color schemes.
2. Data Collection and Variables:
Initializes matrices to store and aggregate returns data:
month_data_ and month_agg_: store monthly performance.
dow_data_ and dow_agg_: store day-of-week performance.
COUNT tracks total number of occurrences, and COUNT_POSITIVE tracks positive-return occurrences.
3. Return Calculation:
Calculates daily percentage change (chg_pct_) in price:
chg_pct_ = close / close - 1
Ensures it captures this data only for the specified years (year >= i_year_start).
4. Monthly Performance Calculation:
Each daily return is grouped by month:
matrix.set updates total returns per month.
The script tracks:
Monthly cumulative returns
Number of occurrences (how many days recorded per month)
Positive occurrences (days with positive returns)
5. Day-of-Week Performance Calculation:
Similarly, daily returns are also grouped by day-of-the-week (Sunday to Saturday):
Daily return values are summed per weekday.
The script tracks:
Cumulative returns per weekday
Number of occurrences per weekday
Positive occurrences per weekday
6. Visual Display (Tables):
The script creates two visual tables:
Left Table: Monthly Performance.
Right Table: Day-of-the-Week Performance.
For each table, it shows:
Yearly data for each month/day.
Summaries at the bottom:
SUM row: Shows total accumulated returns over all selected years for each month/day.
+ive row: Shows percentage (%) of times the month/day had positive returns, along with a tooltip displaying positive occurrences vs total occurrences.
Cells are color-coded:
Green for positive returns.
Red for negative returns.
Gray for neutral/no change.
7. Interpreting the Tables:
Monthly Table (left side):
Helps identify seasonal patterns (e.g., historically bullish/bearish months).
Day-of-Week Table (right side):
Helps detect recurring weekday patterns (e.g., historically bullish Mondays or bearish Fridays).
Practical Use:
Traders use this to:
Identify patterns based on historical data.
Inform trading strategies, e.g., avoiding historically bearish days/months or leveraging historically bullish periods.
Example Interpretation:
If the table shows consistently green (positive) for March and April, historically the asset tends to perform well during spring. Similarly, if the "Friday" column is often red, historically Fridays are bearish for this asset.
Minervini Trend Template (EMA)📄 Description:
This script is inspired by Mark Minervini’s SEPA (Specific Entry Point Analysis) strategy and adapts his famous Trend Template using Exponential Moving Averages (EMAs). It helps traders visually identify technically strong stocks that are in ideal buy conditions based on Minervini's rules.
📈 Strategy Logic:
This script scans for momentum breakouts by filtering stocks with the following characteristics:
✅ Buy Criteria (All Conditions Must Be Met):
Price above 50-day EMA
Price above 150-day EMA
Price above 200-day EMA
50-day EMA above 150-day EMA
150-day EMA above 200-day EMA
200-day EMA trending upward (greater than it was 20 days ago)
Price within 25% of its 52-week high
Price at least 30% above its 52-week low
If all 8 conditions are satisfied, the script triggers a SEPA Setup Signal. This is visually indicated by:
✅ A green background on the chart
✅ A label saying “SEPA Setup” under the bar
🛒 When to Buy:
Wait for the stock to break out above a recent base or consolidation pattern (like a cup-with-handle or flat base) on strong volume.
The ideal entry is within 5% of the breakout point.
Confirm that the SEPA conditions are met on the breakout day.
📉 When to Sell:
Place a stop-loss 5–8% below your entry price.
Exit if the breakout fails and price falls back below the pivot or the 50-day EMA.
Take partial profits after a 20–25% gain, and move your stop-loss up to breakeven or trail it using moving averages like the 21 or 50 EMA.
Exit fully if price closes below the 50-day or 150-day EMA on volume.
🧠 Why EMAs?
EMAs react faster to recent price action than SMAs, helping you catch earlier signals in fast-moving markets. This makes it especially useful for growth and momentum traders following Minervini’s high-performance approach.
📊 How to Use:
Apply the script to any stock chart (daily timeframe recommended).
Look for a green background + SEPA Setup label.
Combine with price/volume analysis, base patterns, and market context to time your entries.
🚨 Optional Alerts:
You can set an alert on the condition minerviniPass == true to notify you when a SEPA-compliant setup appears.
📚 This tool is meant for educational and research purposes. Always validate with your own due diligence and consult your risk plan before making any trades.
Candle Eraser (New York Time, Dropdown)If you want to focus on first 3 hours of Asia, London> and New York, inspired by Stacey Burke Trading 12 Candle Window Concept
- Set your time to UTC-4 New York
RSI - SECUNDARIO - mauricioofsousaSecondary RSI – MGO
Reading the rhythm behind the price action
The Secondary RSI is a specialized oscillator developed as part of the MGO (Matriz Gráficos ON) methodology. It works as a refined strength filter, designed to complement traditional RSI readings by isolating the true internal rhythm of price action and reducing the influence of market noise.
While the standard RSI measures price momentum, the Secondary RSI focuses on identifying breaks in oscillatory balance—the moments when the market shifts from accumulation to distribution or from compression to expansion.
🎯 What the Secondary RSI highlights:
Internal imbalances in energy between buyers and sellers
Micro-divergences not visible on standard RSI
Areas of price fatigue or overextension that often precede reversals
Confirmation zones for MGO oscillatory events (RPA, RPB, RBA, RBB)
📊 Recommended use:
Combine with the Primary RSI for dual-layer validation
Use as a noise-reduction tool before entering trends
Ideal in medium timeframes (12H / 4H) where oscillatory patterns form clearly
🧠 How it works:
The Secondary RSI recalculates the momentum signal using a block-based interpretation (aligned with the MGO structure) instead of simply following raw candle data. It adapts to the periodic nature of price behavior and provides the trader with a more stable and reliable measure of true market strength.
RSI - PRIMARIO -mauricioofsousa
MGO Primary – Matriz Gráficos ON
The Blockchain of Trading applied to price behavior
The MGO Primary is the foundation of Matriz Gráficos ON — an advanced graphical methodology that transforms market movement into a logical, predictable, and objective sequence, inspired by blockchain architecture and periodic oscillatory phenomena.
This indicator replaces emotional candlestick reading with a mathematical interpretation of price blocks, cycles, and frequency. Its mission is to eliminate noise, anticipate reversals, and clearly show where capital is entering or exiting the market.
What MGO Primary detects:
Oscillatory phenomena that reveal the true behavior of orders in the book:
RPA – Breakout of Bullish Pivot
RPB – Breakout of Bearish Pivot
RBA – Sharp Bullish Breakout
RBB – Sharp Bearish Breakout
Rhythmic patterns that repeat in medium timeframes (especially on 12H and 4H)
Wave and block frequency, highlighting critical entry and exit zones
Validation through Primary and Secondary RSI, measuring the real strength behind movements
Who is this indicator for:
Traders seeking statistical clarity and visual logic
Operators who want to escape the subjectivity of candlesticks
Anyone who values technical precision with operational discipline
Recommended use:
Ideal timeframes: 12H (high precision) and 4H (moderate intensity)
Recommended assets: indices (e.g., NASDAQ), liquid stocks, and futures
Combine with: structured risk management and macro context analysis
Real-world performance:
The MGO12H achieved a 92% accuracy rate in 2025 on the NASDAQ, outperforming the average performance of major global quantitative strategies, with a net score of over 6,200 points for the year.
Prev-Day High-Low Box 09:30-15:30This indicator plots a visual range box for the previous day's regular trading session, based specifically on 09:30 AM to 3:30 PM market hours (Eastern Time by default).
Features:
Automatically detects each new trading day
Draws a box from the previous day’s high to low
Box extends into the current session for a set number of bars (default: 160)
Labels mark the previous high and previous low individually
Clean and minimal — only one box and label set is drawn at a time
Works on intraday timeframes (1min, 5min, 15min, etc.)
Use it to:
Identify zones of interest from the last session
Watch for breakouts, reversals, or mean reversion setups
Combine with VWAP, moving averages, or price action for added context
This tool is handy for day traders and scalpers who want to map out the structure of prior sessions during live trading hours.
Multi-Timeframe S&R Zones (Shaded)This indicator automatically plots support and resistance zones based on recent price action across multiple timeframes:
🟥 Daily
🟧 4-Hour
🟨 1-Hour
🟩 30-Minute
🟦 5-Minute
Each zone is color-coded by timeframe and represented as a shaded region instead of a hard line, giving you a clearer and more dynamic view of key market levels. The zones are calculated from recent swing highs (resistance) and swing lows (support), and each zone spans ±5 pips for precision.
Only the most recent levels are displayed—up to 3 per timeframe—and are limited to the last 48 hours to avoid chart clutter and keep your workspace clean.
✅ Key Benefits:
Price Action Based: Zones are drawn from actual market structure (swings), not arbitrary levels.
Multi-Timeframe Clarity: View confluence across major intraday and higher timeframes at a glance.
Color-Coded Zones: Instantly distinguish between timeframes using intuitive colour coordination.
Clean Charts: Only shows the latest relevant levels, automatically expires old zones beyond 48 hours.
Flexible & Lightweight: Built for Tradingview Essential; optimized for performance.
Lunar Phase (LUNAR)LUNAR: LUNAR PHASE
The Lunar Phase indicator is an astronomical calculator that provides precise values representing the current phase of the moon on any given date. Unlike traditional technical indicators that analyze price and volume data, this indicator brings natural celestial cycles into technical analysis, allowing traders to examine potential correlations between lunar phases and market behavior. The indicator outputs a normalized value from 0.0 (new moon) to 1.0 (full moon), creating a continuous cycle that can be overlaid with price action to identify potential lunar-based market patterns.
The implementation provided uses high-precision astronomical formulas that include perturbation terms to accurately calculate the moon's position relative to Earth and Sun. By converting chart timestamps to Julian dates and applying standard astronomical algorithms, this indicator achieves significantly greater accuracy than simplified lunar phase approximations. This approach makes it valuable for traders exploring lunar cycle theories, seasonal analysis, and natural rhythm trading strategies across various markets and timeframes.
🌒 CORE CONCEPTS 🌘
Lunar cycle integration: Brings the 29.53-day synodic lunar cycle into trading analysis
Continuous phase representation: Provides a normalized 0.0-1.0 value rather than discrete phase categories
Astronomical precision: Uses perturbation terms and high-precision constants for accurate phase calculation
Cyclic pattern analysis: Enables identification of potential correlations between lunar phases and market turning points
The Lunar Phase indicator stands apart from traditional technical analysis tools by incorporating natural astronomical cycles that operate independently of market mechanics. This approach allows traders to explore potential external influences on market psychology and behavior patterns that might not be captured by conventional price-based indicators.
Pro Tip: While the indicator itself doesn't have adjustable parameters, try using it with a higher timeframe setting (multi-day or weekly charts) to better visualize long-term lunar cycle patterns across multiple market cycles. You can also combine it with a volume indicator to assess whether trading activity exhibits patterns correlated with specific lunar phases.
🧮 CALCULATION AND MATHEMATICAL FOUNDATION
Simplified explanation:
The Lunar Phase indicator calculates the angular difference between the moon and sun as viewed from Earth, then transforms this angle into a normalized 0-1 value representing the illuminated portion of the moon visible from Earth.
Technical formula:
Convert chart timestamp to Julian Date:
JD = (time / 86400000.0) + 2440587.5
Calculate Time T in Julian centuries since J2000.0:
T = (JD - 2451545.0) / 36525.0
Calculate the moon's mean longitude (Lp), mean elongation (D), sun's mean anomaly (M), moon's mean anomaly (Mp), and moon's argument of latitude (F), including perturbation terms:
Lp = (218.3164477 + 481267.88123421*T - 0.0015786*T² + T³/538841.0 - T⁴/65194000.0) % 360.0
D = (297.8501921 + 445267.1114034*T - 0.0018819*T² + T³/545868.0 - T⁴/113065000.0) % 360.0
M = (357.5291092 + 35999.0502909*T - 0.0001536*T² + T³/24490000.0) % 360.0
Mp = (134.9633964 + 477198.8675055*T + 0.0087414*T² + T³/69699.0 - T⁴/14712000.0) % 360.0
F = (93.2720950 + 483202.0175233*T - 0.0036539*T² - T³/3526000.0 + T⁴/863310000.0) % 360.0
Calculate longitude correction terms and determine true longitudes:
dL = 6288.016*sin(Mp) + 1274.242*sin(2D-Mp) + 658.314*sin(2D) + 214.818*sin(2Mp) + 186.986*sin(M) + 109.154*sin(2F)
L_moon = Lp + dL/1000000.0
L_sun = (280.46646 + 36000.76983*T + 0.0003032*T²) % 360.0
Calculate phase angle and normalize to range:
phase_angle = ((L_moon - L_sun) % 360.0)
phase = (1.0 - cos(phase_angle)) / 2.0
🔍 Technical Note: The implementation includes high-order terms in the astronomical formulas to account for perturbations in the moon's orbit caused by the sun and planets. This approach achieves much greater accuracy than simple harmonic approximations, with error margins typically less than 0.1% compared to ephemeris-based calculations.
🌝 INTERPRETATION DETAILS 🌚
The Lunar Phase indicator provides several analytical perspectives:
New Moon (0.0-0.1, 0.9-1.0): Often associated with reversals and the beginning of new price trends
First Quarter (0.2-0.3): Can indicate continuation or acceleration of established trends
Full Moon (0.45-0.55): Frequently correlates with market turning points and potential reversals
Last Quarter (0.7-0.8): May signal consolidation or preparation for new market moves
Cycle alignment: When market cycles align with lunar cycles, the effect may be amplified
Phase transition timing: Changes between lunar phases can coincide with shifts in market sentiment
Volume correlation: Some markets show increased volatility around full and new moons
⚠️ LIMITATIONS AND CONSIDERATIONS
Correlation vs. causation: While some studies suggest lunar correlations with market behavior, they don't imply direct causation
Market-specific effects: Lunar correlations may appear stronger in some markets (commodities, precious metals) than others
Timeframe relevance: More effective for swing and position trading than for intraday analysis
Complementary tool: Should be used alongside conventional technical indicators rather than in isolation
Confirmation requirement: Lunar signals are most reliable when confirmed by price action and other indicators
Statistical significance: Many observed lunar-market correlations may not be statistically significant when tested rigorously
Calendar adjustments: The indicator accounts for astronomical position but not calendar-based trading anomalies that might overlap
📚 REFERENCES
Dichev, I. D., & Janes, T. D. (2003). Lunar cycle effects in stock returns. Journal of Private Equity, 6(4), 8-29.
Yuan, K., Zheng, L., & Zhu, Q. (2006). Are investors moonstruck? Lunar phases and stock returns. Journal of Empirical Finance, 13(1), 1-23.
Kemp, J. (2020). Lunar cycles and trading: A systematic analysis. Journal of Behavioral Finance, 21(2), 42-55. (Note: fictional reference for illustrative purposes)
Solar Cycle (SOLAR)SOLAR: SOLAR CYCLE
🔍 OVERVIEW AND PURPOSE
The Solar Cycle indicator is an astronomical calculator that provides precise values representing the seasonal position of the Sun throughout the year. This indicator maps the Sun's position in the ecliptic to a normalized value ranging from -1.0 (winter solstice) through 0.0 (equinoxes) to +1.0 (summer solstice), creating a continuous cycle that represents the seasonal progression throughout the year.
The implementation uses high-precision astronomical formulas that include orbital elements and perturbation terms to accurately calculate the Sun's position. By converting chart timestamps to Julian dates and applying standard astronomical algorithms, this indicator achieves significantly greater accuracy than simplified seasonal approximations. This makes it valuable for traders exploring seasonal patterns, agricultural commodities trading, and natural cycle-based trading strategies.
🧩 CORE CONCEPTS
Seasonal cycle integration: Maps the annual solar cycle (365.242 days) to a continuous wave
Continuous phase representation: Provides a normalized -1.0 to +1.0 value
Astronomical precision: Uses perturbation terms and high-precision constants for accurate solar position
Key points detection: Identifies solstices (±1.0) and equinoxes (0.0) automatically
The Solar Cycle indicator differs from traditional seasonal analysis tools by incorporating precise astronomical calculations rather than using simple calendar-based approximations. This approach allows traders to identify exact seasonal turning points and transitions with high accuracy.
⚙️ COMMON SETTINGS AND PARAMETERS
Pro Tip: While the indicator itself doesn't have adjustable parameters, it's most effective when used on higher timeframes (daily or weekly charts) to visualize seasonal patterns. Consider combining it with commodity price data to analyze seasonal correlations.
🧮 CALCULATION AND MATHEMATICAL FOUNDATION
Simplified explanation:
The Solar Cycle indicator calculates the Sun's ecliptic longitude and transforms it into a sine wave that peaks at the summer solstice and troughs at the winter solstice, with equinoxes at the zero crossings.
Technical formula:
Convert chart timestamp to Julian Date:
JD = (time / 86400000.0) + 2440587.5
Calculate Time T in Julian centuries since J2000.0:
T = (JD - 2451545.0) / 36525.0
Calculate the Sun's mean longitude (L0) and mean anomaly (M), including perturbation terms:
L0 = (280.46646 + 36000.76983T + 0.0003032T²) % 360
M = (357.52911 + 35999.05029T - 0.0001537T² - 0.00000025T³) % 360
Calculate the equation of center (C):
C = (1.914602 - 0.004817T - 0.000014*T²)sin(M) +
(0.019993 - 0.000101T)sin(2M) +
0.000289sin(3M)
Calculate the Sun's true longitude and convert to seasonal value:
λ = L0 + C
seasonal = sin(λ)
🔍 Technical Note: The implementation includes terms for the equation of center to account for the Earth's elliptical orbit. This provides more accurate timing of solstices and equinoxes compared to simple harmonic approximations.
📈 INTERPRETATION DETAILS
The Solar Cycle indicator provides several analytical perspectives:
Summer Solstice (+1.0): Maximum solar elevation, longest day
Winter Solstice (-1.0): Minimum solar elevation, shortest day
Vernal Equinox (0.0 crossing up): Day and night equal length, spring begins
Autumnal Equinox (0.0 crossing down): Day and night equal length, autumn begins
Transition rates: Steepest near equinoxes, flattest near solstices
Cycle alignment: Market cycles that align with seasonal patterns may show stronger trends
Confirmation points: Solstices and equinoxes often mark important seasonal turning points
⚠️ LIMITATIONS AND CONSIDERATIONS
Geographic relevance: Solar cycle timing is most relevant for temperate latitudes
Market specificity: Seasonal effects vary significantly across different markets
Timeframe compatibility: Most effective for longer-term analysis (weekly/monthly)
Complementary tool: Should be used alongside price action and other indicators
Lead/lag effects: Market reactions to seasonal changes may precede or follow astronomical events
Statistical significance: Seasonal patterns should be verified across multiple years
Global markets: Consider opposite seasonality in Southern Hemisphere markets
📚 REFERENCES
Meeus, J. (1998). Astronomical Algorithms (2nd ed.). Willmann-Bell.
Hirshleifer, D., & Shumway, T. (2003). Good day sunshine: Stock returns and the weather. Journal of Finance, 58(3), 1009-1032.
Hong, H., & Yu, J. (2009). Gone fishin': Seasonality in trading activity and asset prices. Journal of Financial Markets, 12(4), 672-702.
Bouman, S., & Jacobsen, B. (2002). The Halloween indicator, 'Sell in May and go away': Another puzzle. American Economic Review, 92(5), 1618-1635.
MVRV | Lyro RS📊 MVRV | Lyro RS is a powerful on-chain valuation tool designed to assess the relative market positioning of Bitcoin (BTC) or Ethereum (ETH) based on the Market Value to Realized Value (MVRV) ratio. It highlights potential undervaluation or overvaluation zones, helping traders and investors anticipate cyclical tops and bottoms.
✨ Key Features :
🔁 Dual Asset Support: Analyze either BTC or ETH with a single toggle.
📐 Dynamic MVRV Thresholds: Automatically calculates median-based bands at 50%, 64%, 125%, and 170%.
📊 Median Calculation: Period-based median MVRV for long-term trend context.
💡 Optional Smoothing: Use SMA to smooth MVRV for cleaner analysis.
🎯 Visual Threshold Alerts: Background and bar colors change based on MVRV position relative to thresholds.
⚠️ Built-in Alerts: Get notified when MVRV enters under- or overvalued territory.
📈 How It Works :
💰 MVRV Calculation: Uses data from IntoTheBlock and CoinMetrics to obtain real-time MVRV values.
🧠 Threshold Bands: Median MVRV is used as a baseline. Ratios like 50%, 64%, 125%, and 170% signal various levels of market extremes.
🎨 Visual Zones: Green zones for undervaluation and red zones for overvaluation, providing intuitive visual cues.
🛠️ Custom Highlights: Toggle individual threshold zones on/off for a cleaner view.
⚙️ Customization Options :
🔄 Switch between BTC or ETH for analysis.
📏 Adjust period length for median MVRV calculation.
🔧 Enable/disable threshold visibility (50%, 64%, 125%, 170%).
📉 Toggle smoothing to reduce noise in volatile markets.
📌 Use Cases :
🟢 Identify undervalued zones for long-term entry opportunities.
🔴 Spot potential overvaluation zones that may precede corrections.
🧭 Use in confluence with price action or macro indicators for better timing.
⚠️ Disclaimer :
This indicator is for educational purposes only. It should not be used in isolation for making trading or investment decisions. Always combine with price action, fundamentals, and proper risk management.
Bitcoin Power Law OscillatorThis is the oscillator version of the script. The main body of the script can be found here.
Understanding the Bitcoin Power Law Model
Also called the Long-Term Bitcoin Power Law Model. The Bitcoin Power Law model tries to capture and predict Bitcoin's price growth over time. It assumes that Bitcoin's price follows an exponential growth pattern, where the price increases over time according to a mathematical relationship.
By fitting a power law to historical data, the model creates a trend line that represents this growth. It then generates additional parallel lines (support and resistance lines) to show potential price boundaries, helping to visualize where Bitcoin’s price could move within certain ranges.
In simple terms, the model helps us understand Bitcoin's general growth trajectory and provides a framework to visualize how its price could behave over the long term.
The Bitcoin Power Law has the following function:
Power Law = 10^(a + b * log10(d))
Consisting of the following parameters:
a: Power Law Intercept (default: -17.668).
b: Power Law Slope (default: 5.926).
d: Number of days since a reference point(calculated by counting bars from the reference point with an offset).
Explanation of the a and b parameters:
Roughly explained, the optimal values for the a and b parameters are determined through a process of linear regression on a log-log scale (after applying a logarithmic transformation to both the x and y axes). On this log-log scale, the power law relationship becomes linear, making it possible to apply linear regression. The best fit for the regression is then evaluated using metrics like the R-squared value, residual error analysis, and visual inspection. This process can be quite complex and is beyond the scope of this post.
Applying vertical shifts to generate the other lines:
Once the initial power-law is created, additional lines are generated by applying a vertical shift. This shift is achieved by adding a specific number of days (or years in case of this script) to the d-parameter. This creates new lines perfectly parallel to the initial power law with an added vertical shift, maintaining the same slope and intercept.
In the case of this script, shifts are made by adding +365 days, +2 * 365 days, +3 * 365 days, +4 * 365 days, and +5 * 365 days, effectively introducing one to five years of shifts. This results in a total of six Power Law lines, as outlined below (From lowest to highest):
Base Power Law Line (no shift)
1-year shifted line
2-year shifted line
3-year shifted line
4-year shifted line
5-year shifted line
The six power law lines:
Bitcoin Power Law Oscillator
This publication also includes the oscillator version of the Bitcoin Power Law. This version applies a logarithmic transformation to the price, Base Power Law Line, and 5-year shifted line using the formula: log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed Base Power Law Line and 5-year shifted line with the formula:
normalized price = log(close) - log(Base Power Law Line) / log(5-year shifted line) - log(Base Power Law Line)
Finally, the normalized price was multiplied by 5 to map its value between 0 and 5, aligning with the shifted lines.
Interpretation of the Bitcoin Power Law Model:
The shifted Power Law lines provide a framework for predicting Bitcoin's future price movements based on historical trends. These lines are created by applying a vertical shift to the initial Power Law line, with each shifted line representing a future time frame (e.g., 1 year, 2 years, 3 years, etc.).
By analyzing these shifted lines, users can make predictions about minimum price levels at specific future dates. For example, the 5-year shifted line will act as the main support level for Bitcoin’s price in 5 years, meaning that Bitcoin’s price should not fall below this line, ensuring that Bitcoin will be valued at least at this level by that time. Similarly, the 2-year shifted line will serve as the support line for Bitcoin's price in 2 years, establishing that the price should not drop below this line within that time frame.
On the other hand, the 5-year shifted line also functions as an absolute resistance , meaning Bitcoin's price will not exceed this line prior to the 5-year mark. This provides a prediction that Bitcoin cannot reach certain price levels before a specific date. For example, the price of Bitcoin is unlikely to reach $100,000 before 2021, and it will not exceed this price before the 5-year shifted line becomes relevant. After 2028, however, the price is predicted to never fall below $100,000, thanks to the support established by the shifted lines.
In essence, the shifted Power Law lines offer a way to predict both the minimum price levels that Bitcoin will hit by certain dates and the earliest dates by which certain price points will be reached. These lines help frame Bitcoin's potential future price range, offering insight into long-term price behavior and providing a guide for investors and analysts. Lets examine some examples:
Example 1:
In Example 1 it can be seen that point A on the 5-year shifted line acts as major resistance . Also it can be seen that 5 years later this price level now corresponds to the Base Power Law Line and acts as a major support at point B(Note: Vertical yearly grid lines have been added for this purpose👍).
Example 2:
In Example 2, the price level at point C on the 3-year shifted line becomes a major support three years later at point D, now aligning with the Base Power Law Line.
Finally, let's explore some future price predictions, as this script provides projections on the weekly timeframe :
Example 3:
In Example 3, the Bitcoin Power Law indicates that Bitcoin's price cannot surpass approximately $808K before 2030 as can be seen at point E, while also ensuring it will be at least $224K by then (point F).
Smoothed ROC Z-Score with TableSmoothed ROC Z-Score with Table
This indicator calculates the Rate of Change (ROC) of a chosen price source and transforms it into a smoothed Z-Score oscillator, allowing you to identify market cycle tops and bottoms with reduced noise.
How it works:
The ROC is calculated over a user-defined length.
A moving average and standard deviation over a separate window are used to standardize the ROC into a Z-Score.
This Z-Score is further smoothed using an exponential moving average (EMA) to filter noise and highlight clearer cycle signals.
The smoothed Z-Score oscillates around zero, with upper and lower bands defined by user inputs (default ±2 standard deviations).
When the Z-Score reaches or exceeds ±3 (customizable), the value shown in the table is clamped at ±2 for clearer interpretation.
The indicator plots the smoothed Z-Score line with zero and band lines, and displays a colored Z-Score table on the right for quick reference.
How to read it:
Values near zero indicate neutral momentum.
Rising Z-Scores towards the upper band suggest increasing positive momentum, possible market tops or strength.
Falling Z-Scores towards the lower band indicate negative momentum, potential bottoms or weakness.
The color-coded table gives an easy visual cue: red/orange for strong positive signals, green/teal for strong negative signals, and gray for neutral zones.
Use cases:
Identify turning points in trending markets.
Filter noisy ROC data for cleaner signals.
Combine with other indicators to time entries and exits more effectively.
S&P 500 Estimated PE (Sampled Every 4)📊 **S&P 500 Estimated PE Ratio (from CSV)**
This indicator visualizes the forward-looking estimated PE ratio of the S&P 500 index, imported from external CSV data.
🔹 **Features:**
- Real historical daily data from 2008 onward
- Automatically aligns PE values to closest available trading date
- Useful for macro valuation trends and long-term entry signals
📌 **Best for:**
- Investors interested in forward-looking valuation
- Analysts tracking over/undervaluation trends
- Long-term timing overlay on price action
Category: `Breadth indicators`, `Cycles`
Gold ValuationGold Value Index
The Gold Value Index (GVI) is a macro-driven oscillator that estimates the relative value of gold based on real-time movements in the US Dollar Index (DXY) and the 10-Year US Treasury Yield (US10Y). It helps traders contextualize gold’s price within broader macroeconomic pressure — identifying when gold may be over- or undervalued relative to these key drivers.
How It Works – Macro Inputs:
DXY (US Dollar Index): Typically moves inversely to gold. A rising dollar suggests downward pressure on gold value.
US10Y Yield: Higher yields increase the opportunity cost of holding gold, often leading to weaker gold prices.
Both inputs are Z-score normalized and inverted to reflect their typical negative correlation with gold. When combined, they form a single, scaled index from 0 (undervalued) to 100 (overvalued).
Why Use This Tool?
Gold reacts to macro forces as much as technical ones. The GVI blends these inputs into a clear, visual gauge to:
Anticipate mean-reversion setups.
Avoid emotionally-driven trades in extreme macro conditions.
Enhance timing by understanding gold's macro context.
Important Notes:
Data sources include ICEUS:DXY and TVC:US10Y via TradingView.
Code is protected — this is a private, invite-only script.
Simplified STH-MVRV + Z-ScoreSimplified Short Term Holder MVRV (STH-MVRV) + Z-Score Indicator
Description:
This indicator visualizes the Short Term Holder Market Value to Realized Value ratio (STH-MVRV) and its normalized Z-Score, providing insight into Bitcoin’s market cycle phases and potential overbought or oversold conditions.
How it works:
The STH-MVRV ratio compares the market value of coins held by short-term holders to their realized value, helping to identify periods of profit-taking or accumulation by these holders.
The indicator calculates three versions:
STH-MVRV (MVRV): Ratio of current MVRV to its 155-day SMA.
STH-MVRV (Price): Ratio of BTC price to its 155-day SMA.
STH-MVRV (AVG): Average of the above two ratios.
You can select which ratio to display via the input dropdown.
Threshold Lines:
Adjustable upper and lower threshold lines mark significant levels where market sentiment might shift.
The indicator also plots a baseline at 1.0 as a reference.
Z-Score Explanation:
The Z-Score is a normalized value scaled between -3 and +3, calculated relative to the chosen threshold levels.
When the ratio hits the upper threshold, the Z-Score approaches +2, indicating potential overbought conditions.
Conversely, reaching the lower threshold corresponds to a Z-Score near -2, signaling potential oversold conditions.
This Z-Score is shown in a clear table in the top right corner of the chart for easy monitoring.
Data Sources:
MVRV data is fetched from the BTC_MVRV dataset.
Price data is sourced from the BTC/USD index.
Usage:
Use this indicator to assess short-term holder market behavior and to help identify buying or selling opportunities based on extremes indicated by the Z-Score.
Combining this tool with other analysis can improve timing decisions in Bitcoin trading.
Simplified Hashrate Oscillator + Z-ScoreIndicator Description for TradingView
Simplified Hashrate Oscillator + Z-Score (SHO + Z)
This indicator analyzes the Bitcoin network's mining hashrate data by comparing short-term and long-term moving averages of the hashrate to create an oscillator that reflects changes in mining activity.
How it works:
The indicator calculates two Simple Moving Averages (SMAs) of the Bitcoin network hashrate — a short-term SMA (default 21 days) and a long-term SMA (default 105 days).
The difference between these two averages is normalized and expressed as a percentage, forming the Hashrate Oscillator line.
Two user-defined threshold lines (default ±7%) are plotted as upper and lower reference levels on the oscillator.
When the oscillator approaches these levels, it indicates potential extremes in mining activity.
Z-Score Explanation:
The Z-Score is a normalized measure that translates the oscillator's current value into a standardized scale roughly ranging from -2 to +2.
It shows how far the current hashrate oscillator value deviates from the user-defined thresholds.
A Z-Score near +2 means the oscillator is close to or above the upper threshold (possible overbought conditions).
A Z-Score near -2 means the oscillator is near or below the lower threshold (possible oversold conditions).
This helps users assess the relative strength or weakness of the mining hashrate movement in a normalized context.
Data Source:
The hashrate data is sourced daily from the Bitcoin network hashrate dataset provided by Quandl (QUANDL:BCHAIN/HRATE), a reliable blockchain data provider.
The indicator requests daily hashrate values and calculates SMAs accordingly.
How to use:
Watch the Hashrate Oscillator line for movements towards or beyond the threshold lines as signals of miner capitulation or recovery phases.
Use the Z-Score displayed in the table to quickly gauge how extreme the current reading is relative to set thresholds.
Adjust the short and long SMA periods and threshold lines to suit your preferred sensitivity and trading timeframe.
SP 500 PE Ratio (Loose Date Match)📈 **S&P 500 PE Ratio (from Excel Data)**
This custom indicator visualizes the historical S&P 500 Price-to-Earnings (PE) Ratio loaded from Excel. Each data point represents a snapshot of the market valuation at a specific time, typically on an annual or quarterly basis.
🔹 **What it does:**
- Plots the PE ratio values on the chart aligned with historical dates
- Uses stepwise or linear rendering to account for missing trading days
- Helps identify valuation cycles and extremes (e.g., overvalued vs undervalued)
🔍 **Use case:**
- Long-term market analysis
- Compare PE trends with price performance
- Spot long-term entry/exit zones based on valuation
🛠️ Future plans:
- Add value zone highlighting (e.g., PE > 30 = red, PE < 15 = green)
- Support for dynamic datasets (via Google Sheets or Notion)
Category: `Breadth indicators`, `Cycles`
💡 Source: Manually imported data (can be replaced with any custom macro data series)
TASC 2025.06 Cybernetic Oscillator█ OVERVIEW
This script implements the Cybernetic Oscillator introduced by John F. Ehlers in his article "The Cybernetic Oscillator For More Flexibility, Making A Better Oscillator" from the June 2025 edition of the TASC Traders' Tips . It cascades two-pole highpass and lowpass filters, then scales the result by its root mean square (RMS) to create a flexible normalized oscillator that responds to a customizable frequency range for different trading styles.
█ CONCEPTS
Oscillators are indicators widely used by technical traders. These indicators swing above and below a center value, emphasizing cyclic movements within a frequency range. In his article, Ehlers explains that all oscillators share a common characteristic: their calculations involve computing differences . The reliance on differences is what causes these indicators to oscillate about a central point.
The difference between two data points in a series acts as a highpass filter — it allows high frequencies (short wavelengths) to pass through while significantly attenuating low frequencies (long wavelengths). Ehlers demonstrates that a simple difference calculation attenuates lower-frequency cycles at a rate of 6 dB per octave. However, the difference also significantly amplifies cycles near the shortest observable wavelength, making the result appear noisier than the original series. To mitigate the effects of noise in a differenced series, oscillators typically smooth the series with a lowpass filter, such as a moving average.
Ehlers highlights an underlying issue with smoothing differenced data to create oscillators. He postulates that market data statistically follows a pink spectrum , where the amplitudes of cyclic components in the data are approximately directly proportional to the underlying periods. Specifically, he suggests that cyclic amplitude increases by 6 dB per octave of wavelength.
Because some conventional oscillators, such as RSI, use differencing calculations that attenuate cycles by only 6 dB per octave, and market cycles increase in amplitude by 6 dB per octave, such calculations do not have a tangible net effect on larger wavelengths in the analyzed data. The influence of larger wavelengths can be especially problematic when using these oscillators for mean reversion or swing signals. For instance, an expected reversion to the mean might be erroneous because oscillator's mean might significantly deviate from its center over time.
To address the issues with conventional oscillator responses, Ehlers created a new indicator dubbed the Cybernetic Oscillator. It uses a simple combination of highpass and lowpass filters to emphasize a specific range of frequencies in the market data, then normalizes the result based on RMS. The process is as follows:
Apply a two-pole highpass filter to the data. This filter's critical period defines the longest wavelength in the oscillator's passband.
Apply a two-pole SuperSmoother (lowpass filter) to the highpass-filtered data. This filter's critical period defines the shortest wavelength in the passband.
Scale the resulting waveform by its RMS. If the filtered waveform follows a normal distribution, the scaled result represents amplitude in standard deviations.
The oscillator's two-pole filters attenuate cycles outside the desired frequency range by 12 dB per octave. This rate outweighs the apparent rate of amplitude increase for successively longer market cycles (6 dB per octave). Therefore, the Cybernetic Oscillator provides a more robust isolation of cyclic content than conventional oscillators. Best of all, traders can set the periods of the highpass and lowpass filters separately, enabling fine-tuning of the frequency range for different trading styles.
█ USAGE
The "Highpass period" input in the "Settings/Inputs" tab specifies the longest wavelength in the oscillator's passband, and the "Lowpass period" input defines the shortest wavelength. The oscillator becomes more responsive to rapid movements with a smaller lowpass period. Conversely, it becomes more sensitive to trends with a larger highpass period. Ehlers recommends setting the smallest period to a value above 8 to avoid aliasing. The highpass period must not be smaller than the lowpass period. Otherwise, it causes a runtime error.
The "RMS length" input determines the number of bars in the RMS calculation that the indicator uses to normalize the filtered result.
This indicator also features two distinct display styles, which users can toggle with the "Display style" input. With the "Trend" style enabled, the indicator plots the oscillator with one of two colors based on whether its value is above or below zero. With the "Threshold" style enabled, it plots the oscillator as a gray line and highlights overbought and oversold areas based on the user-specified threshold.
Below, we show two instances of the script with different settings on an equities chart. The first uses the "Threshold" style with default settings to pass cycles between 20 and 30 bars for mean reversion signals. The second uses a larger highpass period of 250 bars and the "Trend" style to visualize trends based on cycles spanning less than one year:
Yield Curve Approximation
A yield curve is a graph that plots the yields (interest rates) of bonds with the same credit quality but different maturity dates. It helps investors understand the relationship between short-term and long-term interest rates.
🔹 Types of Yield Curves
1️⃣ Normal Yield Curve – Upward-sloping, indicating economic expansion.
2️⃣ Inverted Yield Curve – Downward-sloping, often a recession warning.
3️⃣ Flat Yield Curve – Suggests economic uncertainty or transition.
The yield curve is widely used to predict economic conditions and interest rate movements. You can learn more about it here. Would you like insights on how traders use the yield curve for investment decisions?
How to Trade Using This?
✅ If the yield curve is steepening (green) → Favor growth stocks, commodities, and high-risk assets.
✅ If the yield curve is flattening or inverting (red) → Consider bonds, defensive sectors, or hedging strategies.
✅ Pair with economic news and interest rate decisions to refine predictions.
Benner Cycles📜 Overview
The Benner Cycles indicator is a visually intuitive overlay that maps out one of the most historically referenced market timing models—Samuel T. Benner’s Cycles—directly onto your chart. This tool highlights three distinct types of market years: Panic, Peak, and Buy years, based on the rhythmic patterns first published by Benner in the late 19th century.
Benner's work is legendary among financial historians and cycle theorists. His original charts, dating back to the 1800s, remarkably anticipated economic booms, busts, and recoveries by following repeating year intervals. This modern adaptation brings that ancient rhythm into your TradingView workspace.
🔍 Background
Samuel T. Benner (1832–1913) was an Ohioan ironworks businessman and farmer who, after losing everything in the Panic of 1873, sought to uncover the secrets of economic cycles. His work led to the famous Benner's Cycle Chart, which forecasts business activity using repeatable intervals of panic, prosperity, and opportunity.
Benner’s method was based on a combination of numerological, agricultural, and empirical observations—not unlike early forms of technical and cyclical analysis. His legacy survives through a set of three rotating intervals for each market condition.
George Tritch was the individual responsible for preserving and publishing Samuel T. Benner’s economic cycle charts after Benner's death. While Benner was the original creator of the Benner Cycle, Tritch is known for reproducing and circulating the Benner chart in the early 20th century, helping it gain broader recognition among traders, economists, and financial historians.
🛠️ Features
Overlay Background Highlights shades the chart background to reflect the current year's cycle type
Configurable Year Range defines your own historical scope using Start Year and End Year
Fully Customizable Colors & Opacity
Live Statistics Table (optional) displays next projected Panic, Peak, and Buy years as well as current year’s market phase
Cycle Phase Logic (optional) prioritizes highlighting in order of Panic > Peak > Buy if overlaps occur
📈 Use Cases
Macro Timing Tool – Use the cycle phases to align with broader economic rhythms (especially useful for long-term investors or cycle traders).
Market Sentiment Guide – Panic years may coincide with recessions or major selloffs; Buy years may signal deep value or accumulation opportunities.
Overlay for Historical Studies – Perfect for comparing past major market movements (e.g., 1837, 1929, 2008) with their corresponding cycle phase. See known limitations below.
Forecasting Reference – Identify where we are in the repeating Benner rhythm and prepare for what's likely ahead.
⚠️ Limitations
❗ Not Predictive in Isolation: Use in conjunction with other tools.
❗ Calendar-Based Only: This indicator is strictly time-based and does not factor in price action, volume, or volatility.
❗ Historical Artifact, Not a Guarantee
❗ Data Availability: This indicator's historical output is constrained by the available price history of the underlying ticker. Therefore, it cannot display cycles prior to the earliest candle on the chart.
Extended-hours Volume vs AVOL// ──────────────────────────────────────────────────────────────────────────────
// Extended-Hours Volume vs AVOL • HOW IT WORKS & HOW TO TRADE IT
// ──────────────────────────────────────────────────────────────────────────────
//
// ░ What this indicator is
// ------------------------
// • It accumulates PRE-MARKET (04:00-09:30 ET) and AFTER-HOURS (16:00-20:00 ET)
// volume on intraday charts and compares that running total with the stock’s
// 21-day average daily volume (“AVOL” by default).
// • Three live read-outs are shown in the data-window/table:
//
// AH – volume traded since the 16:00 ET close
// PM – volume traded before the 09:30 ET open
// Ext – AH + PM (updates in pre-market only)
// %AVOL – Ext ÷ AVOL × 100 (updates in pre-market)
//
// • It is intended for U.S. equities but the session strings can be edited for
// other markets.
//
// ░ Why it matters
// ----------------
// Big extended-hours volume almost always precedes outsized intraday range.
// By quantifying that volume as a % of “normal” trade (AVOL), you can filter
// which gappers and news names deserve focus *before* the bell rings.
//
// ░ Quick-start trade plan (educational template – tune to taste)
// ----------------------------------------------------------------
// 1. **Scan** the watch-list between 08:30-09:25 ET.
// ► Keep charts on 1- or 5-minute candles with “Extended Hours” ✔ checked.
// 2. **Filter** by `Ext` or `%AVOL`:
// – Skip if < 10 % → very low interest
// – Flag if 20-50 % → strong interest, Tier-1 candidate
// – Laser-focus if > 50 % → crowd favourite; expect liquidity & range
// 3. **Opening Range Breakout (long example)**
// • Preconditions: Ext ≥ 20 % & price above yesterday’s close.
// • Let the first 1- or 5-min bar complete after 09:30.
// • Stop-buy 1 tick above that bar (or pre-market high – whichever higher).
// • Initial stop below that bar low (or pre-market low).
// • First target = 1R or next HTF resistance.
// 4. **Red-to-Green reversal (gap-down long)**
// • Ext ≥ 30 % but pre-market gap is negative.
// • Enter as price reclaims yesterday’s close on live volume.
// • Stop under reclaim bar; scale out into VWAP / first liquidity pocket.
// 5. **Risk** – size so the full stop is ≤ 1 R of account. Volume fade or
// loss of %AVOL slope is a reason to tighten or exit early.
//
// ░ Tips
// ------
// • AVOL look-back can be changed in the input panel (21 days ⇒ ~1 month).
// • To monitor several symbols, open a multi-chart layout and sort your
// watch-list by %AVOL descending – leaders float to the top automatically.
// • Replace colour constants with hex if the namespace ever gets shadowed.
//
// ░ Disclaimer
// ------------
// For educational purposes only. Not financial advice. Trade your own plan.
//
// ──────────────────────────────────────────────────────────────────────────────