Enhanced Cycle IndicatorEnhanced Cycle Indicator Guide
DISCLAIMER
"This PineScript indicator evolved from a foundational algorithm designed to visualize cycle-based center average differentials. The original concept has been significantly enhanced and optimized through collaborative refinement with AI, resulting in improved functionality, performance, and visualization capabilities while maintaining the core mathematical principles of the original design"
Overview
The Enhanced Cycle Indicator is designed to identify market cycles with minimal lag while ensuring the cycle lows and highs correspond closely with actual price bottoms and tops. This indicator transforms price data into observable cycles that help you identify when a market is likely to change direction.
Core Principles
Cycle Detection: Identifies natural market rhythms using multiple timeframes
Dynamic Adaptation: Adjusts to changing market conditions for consistent performance
Precise Signals: Provides clear entry and exit points aligned with actual market turns
Reduced Lag: Uses advanced calculations to minimize delay in cycle identification
How To Use
1. Main Cycle Interpretation
Green Histogram Bars: Bullish cycle phase (upward momentum)
Red Histogram Bars: Bearish cycle phase (downward momentum)
Cycle Extremes: When the histogram reaches extreme values (+80/-80), the market is likely approaching a turning point
Zero Line: Crossovers often indicate a shift in the underlying market direction
2. Trading Signals
Green Triangle Up (bottom of chart): Strong bullish signal - ideal for entries or covering shorts
Red Triangle Down (top of chart): Strong bearish signal - ideal for exits or short entries
Diamond Shapes: Indicate divergence between price and cycle - early warning of potential reversals
Small Circles: Minor cycle turning points - useful for fine-tuning entries/exits
3. Optimal Signal Conditions
Bullish Signals Work Best When:
The cycle is deeply oversold (below -60)
RSI is below 40 or turning up
Price is near a significant low
Multiple confirmation bars have occurred
Bearish Signals Work Best When:
The cycle is heavily overbought (above +60)
RSI is above 60 or turning down
Price is near a significant high
Multiple confirmation bars have occurred
4. Parameter Adjustments
For Shorter Timeframes: Reduce cycle periods and smoothing factor for faster response
For Daily/Weekly Charts: Increase cycle periods and smoothing for smoother signals
For Volatile Markets: Reduce cycle responsiveness to filter noise
For Trending Markets: Increase signal confirmation requirement to avoid false signals
Recommended Settings
Default (All-Purpose)
Main Cycle: 50
Half Cycle: 25
Quarter Cycle: 12
Smoothing Factor: 0.5
RSI Filter: Enabled
Signal Confirmation: 2 bars
Faster Response (Day Trading)
Main Cycle: 30
Half Cycle: 15
Quarter Cycle: 8
Smoothing Factor: 0.3
Cycle Responsiveness: 1.2
Signal Confirmation: 1 bar
Smoother Signals (Swing Trading)
Main Cycle: 80
Half Cycle: 40
Quarter Cycle: 20
Smoothing Factor: 0.7
Cycle Responsiveness: 0.8
Signal Confirmation: 3 bars
Advanced Features
Adaptive Period
When enabled, the indicator automatically adjusts cycle periods based on recent price volatility. This is particularly useful in markets that alternate between trending and ranging behaviors.
Momentum Filter
Enhances cycle signals by incorporating price momentum, making signals more responsive during strong trends and less prone to whipsaws during consolidations.
RSI Filter
Adds an additional confirmation layer using RSI, helping to filter out lower-quality signals and improve overall accuracy.
Divergence Detection
Identifies situations where price makes a new high/low but the cycle doesn't confirm, often preceding significant market reversals.
Best Practices
Use the indicator in conjunction with support/resistance levels
Look for signal clusters across multiple timeframes
Reduce position size when signals appear far from cycle extremes
Pay special attention to signals that coincide with divergences
Customize cycle periods to match the natural rhythm of your traded instrument
Troubleshooting
Too Many Signals: Increase signal confirmation bars or reduce cycle responsiveness
Missing Major Turns: Decrease smoothing factor or increase cycle responsiveness
Signals Too Late: Decrease cycle periods and smoothing factor
False Signals: Enable RSI filter and increase signal confirmation requirement
Cycles
LGMM (flat buffers) — multivariate poly + latent statesLGMM POLYNOMIAL BANDS — DISCOVER THE MARKET’S HIDDEN STATES
Overview
Latent-Gaussian-Mixture-Models (LGMMs) view price action as a mix of several invisible regimes: trending up, drifting sideways, sudden volatility spikes, and so on.
A Gaussian Mixture learns these states directly from data and outputs, for every bar, the probability that the market is in each state.
This indicator feeds those probabilities into a rolling polynomial regression that draws a fair-value line, then builds adaptive upper and lower bands.
Band width expands when recent residuals are large *and* when the state mix is uncertain, and contracts when price is calm or one regime clearly dominates.
Crossing back into the band from below generates a buy flag; crossing back into the band from above generates a sell flag (or take-profit for longs).
Key Inputs
Price source – default is Close; you can choose HL2, OHLC4, etc.
Training window (bars) – look-back length for every retrain. 252 bars (one trading year) is a balanced default for US stocks on daily timeframe. Use fewer bars for intraday charts (say 7*24=168 for 1H bars on crypto), more for weekly periods.
Polynomial degree – 1 for a straight trend line, 2 for a curved fit. Curved fits are better when the symbol shows persistent drift.
Hidden states K – number of regimes the mixture tracks (1 to 3). Three states often map well to up-trend, chop, down-trend.
Band width ×σ – multiplier on the entropy-weighted standard deviation. Smaller values (1.5-2) give more trades; larger values (2.5-3) give fewer, higher-conviction trades.
Offline μ,σ pairs (optional) – paste component means and sigmas from an offline LGMM (format: mu1,sigma1;mu2,sigma2;…). Leave blank to let the script use its built-in approximation.
Quick Start
Add the indicator to a chart and wait until the initial Training window has filled.
Watch for green BUY triangles when price closes back above the lower band and red SELL triangles when price closes back below the upper band.
Fine-tune:
– Increase Training window to reduce noise.
– Decrease Band width ×σ for more frequent signals.
– Experiment with Hidden states K; more states capture richer behaviour but need longer windows to stay reliable.
Tips
Bands widen automatically in chaotic periods and tighten when one regime dominates.
Combine with a volume filter or a higher-time-frame trend to reduce whipsaws.
If you already run an LGMM in Python or Matlab, paste its component parameters for a perfect match between your back-test and the TradingView plot.
Works on all markets and time-frames, provided you have at least five times the Training window’s bars in history.
Happy trading!
DXY Monthly Return (+3M Lead)This indicator calculates the rolling monthly return (based on 21 trading days) for the U.S. Dollar Index (DXY), applying a +3-month forward shift (lead) to the series.
It is designed to help visualize the leading effect of USD strength or weakness on other macro-sensitive assets — particularly Bitcoin and crypto markets, which often react to changes in global dollar liquidity with a lag of approximately 10 weeks.
Note: This script does not invert the values directly. To match the inverted Y-axis visual used by Steno Research — where negative USD returns are displayed at the top — simply right-click the Y-axis in the chart panel and select “Invert Scale.”
💡 Use this tool for macro trend analysis, early crypto signal generation, or studying inverse correlations between USD and risk assets.
Source logic: Steno Research, Bloomberg, Macrobond.
Round Levels + BoxesRound Levels Indicator
The Round Levels indicator automatically detects and marks round price levels ending in .000 on the chart. These levels are often important support and resistance zones where significant price reaction occurs. Main features
Automatic detection of round levels (.000)
Display horizontal lines on levels
Add price labels for each level
Dynamic update of levels when price moves
How to use
Add the indicator to the chart
The indicator will automatically display the 20 nearest round levels (10 above and 10 below the current price)
When the price moves significantly, the levels are automatically recalculated
Trading ideas
Use as support and resistance levels
Track price reaction at round levels
Combine with other indicators to confirm signals
Use to identify potential trend reversal zones
Notes
The indicator only marks levels ending in .000
Lines are automatically extended to the right for better visibility
The gray color of the lines is chosen for minimal impact on the perception of the chart
Version
Developed for TradingView Pine Script v6
Works on all timeframes
Compatible with all trading tools
Settings
The indicator has a simple interface and does not require additional settings. If necessary, you can change in the code:
Number of displayed levels
Color and style of lines
Display format of price labels
Warning
This indicator is an auxiliary tool for technical analysis. It is recommended to use it in combination with other analysis methods and risk management tools.
Taylor Series ForecastThis indicator projects future price movement using a second-order Taylor Series expansion, calculated from a smoothed price (EMA). It models price momentum and acceleration to generate a forward-looking trajectory.
Forecast points are plotted continuously as connected line segments extending into the future. Each segment is color-coded based on slope:
Green indicates an upward slope (bullish forecast).
Red indicates a downward slope (bearish forecast).
The forecast adapts to current market conditions and updates dynamically with each new bar. Useful for visualizing potential future price paths and identifying directional bias based on recent price action.
Inputs:
Max Forecast Horizon: How many bars into the future the forecast extends.
EMA Smoothing Length: The smoothing applied to price before calculating derivatives.
This tool is experimental and should be used in conjunction with other analysis methods. It does not guarantee future price performance.
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.
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. ()*
VWAP Breakout Strategy + EMAs + Clean Cycle/TP/SL PlotsHere’s a quick user-guide to get you up and running with your “VWAP Breakout Strategy + EMAs + Clean Cycle/TP/SL Plots” script in TradingView:
⸻
1. Installing the Script
1. Open TradingView, go to Pine Editor (bottom panel).
2. Paste in your full Pine-v6 code and hit Add to chart.
3. Save it (“Save as…”): give it a memorable name (e.g. “VWAP Breakout+EMAs”).
⸻
2. Configuring Your Inputs
Once it’s on the chart, click the ⚙️ Settings icon to tune:
Setting Default What it does
ATR Length 14 Period for average true range (volatility measure)
ATR Multiplier for Stop 1.5 How many ATRs away your stop-loss sits
TP1 / TP2 Multipliers (ATR) 1.0 / 2.0 Distance of TP1 and TP2 in ATR multiples
Show VWAP / EMAs On Toggles the blue VWAP line & EMAs (100/34/5)
Full Cycle Range Points 200 Height of the shaded “cycle zone”
Pivot Lookback 5 How many bars back to detect a pivot low
Round Number Step 500 Spacing of your dotted horizontal lines
Show TP/SL Labels On Toggles all the “ENTRY”, “TP1”, “TP2”, “STOP” tags
Feel free to adjust ATR multipliers and cycle-zone size based on the instrument’s typical range.
⸻
3. Reading the Signals
• Long Entry:
• Trigger: price crosses above VWAP
• You’ll see a green “Buy” tag at the low of the signal bar, plus an “ENTRY (Long)” label at the close.
• Stop is plotted as a red dashed line below (ATR × 1.5), and TP1/TP2 as teal and purple lines above.
• Short Entry:
• Trigger: price crosses below VWAP
• A red “Sell” tag appears at the high, with “ENTRY (Short)” at the close.
• Stop is the green line above; TP1/TP2 are dashed teal/purple lines below.
⸻
4. Full Cycle Zone
Whenever a new pivot low is detected (using your Pivot Lookback), the script deletes the old box and draws a shaded yellow rectangle from that low up by “Full Cycle Range Points.”
• Use this to visualize the “maximum expected swing” from your pivot.
• You can quickly see whether price is still traveling within a normal cycle or has overstretched.
⸻
5. Round-Number Levels
With Show Round Number Levels enabled, you’ll always get horizontal dotted lines at the nearest multiples of your “Round Number Step” (e.g. every 500 points).
• These often act as psychological support/resistance.
• Handy to see confluence with VWAP or cycle-zone edges.
⸻
6. Tips & Best-Practices
• Timeframes: Apply on any intraday chart (5 min, 15 min, H1…), but match your ATR length & cycle-points to the timeframe’s typical range.
• Backtest first: Use the Strategy Tester tab to review performance, tweak ATR multipliers or cycle size, then optimize.
• Combine with context: Don’t trade VWAP breakouts blindly—look for confluence (e.g. support/resistance zones, higher-timeframe trend).
• Label clutter: If too many labels build up, you can toggle Show TP/SL Labels off and rely just on the lines.
⸻
That’s it! Once you’ve added it to your chart and dialed in the inputs, your entries, exits, cycle ranges, and key levels will all be plotted automatically. Feel free to experiment with the ATR multipliers and cycle-zone size until it fits your instrument’s personality. Happy trading!
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.