VWAP For Loop [BackQuant]VWAP For Loop
What this tool does—in one sentence
A volume-weighted trend gauge that anchors VWAP to a calendar period (day/week/month/quarter/year) and then scores the persistence of that VWAP trend with a simple for-loop “breadth” count; the result is a clean, threshold-driven oscillator plus an optional VWAP overlay and alerts.
Plain-English overview
Instead of judging raw price alone, this indicator focuses on anchored VWAP —the market’s average price paid during your chosen institutional period. It then asks a simple question across a configurable set of lookback steps: “Is the current anchored VWAP higher than it was i bars ago—or lower?” Each “yes” adds +1, each “no” adds −1. Summing those answers creates a score that reflects how consistently the volume-weighted trend has been rising or falling. Extreme positive scores imply persistent, broad strength; deeply negative scores imply persistent weakness. Crossing predefined thresholds produces objective long/short events and color-coded context.
Under the hood
• Anchoring — VWAP using hlc3 × volume resets exactly when the selected period rolls:
Day → session change, Week → new week, Month → new month, Quarter/Year → calendar quarter/year.
• For-loop scoring — For lag steps i = , compare today’s VWAP to VWAP .
– If VWAP > VWAP , add +1.
– Else, add −1.
The final score ∈ , where N = (end − start + 1). With defaults (1→45), N = 45.
• Signal logic (stateful)
– Long when score > upper (e.g., > 40 with N = 45 → VWAP higher than ~89% of checked lags).
– Short on crossunder of lower (e.g., dropping below −10).
– A compact state variable ( out ) holds the current regime: +1 (long), −1 (short), otherwise unchanged. This “stickiness” avoids constant flipping between bars without sufficient evidence.
Why VWAP + a breadth score?
• VWAP aggregates both price and volume—where participants actually traded.
• The breadth-style count rewards consistency of the anchored trend, not one-off spikes.
• Thresholds give you binary structure when you need it (alerts, automation), without complex math.
What you’ll see on the chart
• Sub-pane oscillator — The for-loop score line, colored by regime (long/short/neutral).
• Main-pane VWAP (optional) — Even though the indicator runs off-chart, the anchored VWAP can be overlaid on price (toggle visibility and whether it inherits trend colors).
• Threshold guides — Horizontal lines for the long/short bands (toggle).
• Cosmetics — Optional candle painting and background shading by regime; adjustable line width and colors.
Input map (quick reference)
• VWAP Anchor Period — Day, Week, Month, Quarter, Year.
• Calculation Start/End — The for-loop lag window . With 1→45, you evaluate 45 comparisons.
• Long/Short Thresholds — Default upper=40, lower=−10 (asymmetric by design; see below).
• UI/Style — Show thresholds, paint candles, background color, line width, VWAP visibility and coloring, custom long/short colors.
Interpreting the score
• Near +N — Current anchored VWAP is above most historical VWAP checkpoints in the window → entrenched strength.
• Near −N — Current anchored VWAP is below most checkpoints → entrenched weakness.
• Between — Mixed, choppy, or transitioning regimes; use thresholds to avoid reacting to noise.
Why the asymmetric default thresholds?
• Long = score > upper (40) — Demands unusually broad upside persistence before declaring “long regime.”
• Short = crossunder lower (−10) — Triggers only on downward momentum events (a fresh breach), not merely being below −10. This combination tends to:
– Capture sustained uptrends only when they’re very strong.
– Flag downside turns as they occur, rather than waiting for an extreme negative breadth.
Tuning guide
Choose an anchor that matches your horizon
– Intraday scalps : Day anchor on intraday charts.
– Swing/position : Month or Quarter anchor on 1h/4h/D charts to capture institutional cycles.
Pick the for-loop window
– Larger N (bigger end) = stronger evidence requirement, smoother oscillator.
– Smaller N = faster, more reactive score.
Set achievable thresholds
– Ensure upper ≤ N and lower ≥ −N ; if N=30, an upper of 40 can never trigger.
– Symmetric setups (e.g., +20/−20) are fine if you want balanced behavior.
Match visuals to intent
– Enabling VWAP coloring lets you see regime directly on price.
– Background shading is useful for discretionary reading; turn it off for cleaner automation displays.
Playbook examples
• Trend confirmation with disciplined entries — On Month anchor, N=45, upper=38–42: when the long regime engages, use pullbacks toward anchored VWAP on the main pane for entries, with stops just beyond VWAP or a recent swing.
• Downside transition detection — Keep lower around −8…−12 and watch for crossunders; combine with price losing anchored VWAP to validate risk-off.
• Intraday bias filter — Day anchor on a 5–15m chart, N=20–30, upper ~ 16–20, lower ~ −6…−10. Only take longs while score is positive and above a midline you define (e.g., 0), and shorts only after a genuine crossunder.
Behavior around resets (important)
Anchored VWAP is hard-reset each period. Immediately after a reset, the series can be young and comparisons to pre-reset values may span two periods. If you prefer within-period evaluation only, choose end small enough not to bridge typical period length on your timeframe, or accept that the breadth test intentionally spans regimes.
Alerts included
• VWAP FL Long — Fires when the long condition is true (score > upper and not in short).
• VWAP FL Short — Fires on crossunder of the lower threshold (event-driven).
Messages include {{ticker}} and {{interval}} placeholders for routing.
Strengths
• Simple, transparent math — Easy to reason about and validate.
• Volume-aware by construction — Decisions reference VWAP, not just price.
• Robust to single-bar noise — Needs many lags to agree before flipping state (by design, via thresholds and the stateful output).
Limitations & cautions
• Threshold feasibility — If N < upper or |lower| > N, signals will never trigger; always cross-check N.
• Path dependence — The state variable persists until a new event; if you want frequent re-evaluation, lower thresholds or reduce N.
• Regime changes — Calendar resets can produce early ambiguity; expect a few bars for the breadth to mature.
• VWAP sensitivity to volume spikes — Large prints can tilt VWAP abruptly; that behavior is intentional in VWAP-based logic.
Suggested starting profiles
• Intraday trend bias : Anchor=Day, N=25 (1→25), upper=18–20, lower=−8, paint candles ON.
• Swing bias : Anchor=Month, N=45 (1→45), upper=38–42, lower=−10, VWAP coloring ON, background OFF.
• Balanced reactivity : Anchor=Week, N=30 (1→30), upper=20–22, lower=−10…−12, symmetric if desired.
Implementation notes
• The indicator runs in a separate pane (oscillator), but VWAP itself is drawn on price using forced overlay so you can see interactions (touches, reclaim/loss).
• HLC3 is used for VWAP price; that’s a common choice to dampen wick noise while still reflecting intrabar range.
• For-loop cap is kept modest (≤50) for performance and clarity.
How to use this responsibly
Treat the oscillator as a bias and persistence meter . Combine it with your entry framework (structure breaks, liquidity zones, higher-timeframe context) and risk controls. The design emphasizes clarity over complexity—its edge is in how strictly it demands agreement before declaring a regime, not in predicting specific turns.
Summary
VWAP For Loop distills the question “How broadly is the anchored, volume-weighted trend advancing or retreating?” into a single, thresholded score you can read at a glance, alert on, and color through your chart. With careful anchoring and thresholds sized to your window length, it becomes a pragmatic bias filter for both systematic and discretionary workflows.
Trading
Daily Seasonality Strength + PredictionDaily Seasonality Strength + Prediction
Seasonality Strength:
This indicator measures seasonality strength by comparing predicted seasonal returns with actual returns, using the inverse of MSE (higher values mean stronger seasonality).
This script is for informational and educational purposes only. It does not constitute financial, investment, or trading advice. I am not a financial advisor. Any decisions you make based on this indicator are your own responsibility. Always do your own research and consult with a qualified financial professional before making any investment decisions.
Past performance is no guarantee of future results. The value of the instruments may fluctuate and is not guaranteed
Daily Seasonality Strength + Prediction TableDaily Seasonality Strength + Prediction Table
Return Estimates:
This indicator uses historical price data to calculate average returns for each day (of the week or month) and uses these to predict the next day’s return.
Seasonality Strength:
It measures seasonality strength by comparing predicted returns with actual returns, using the inverse of MSE (higher values mean stronger seasonality).
supports up to 10 assets
This script is for informational and educational purposes only. It does not constitute financial, investment, or trading advice. I am not a financial advisor. Any decisions you make based on this indicator are your own responsibility. Always do your own research and consult with a qualified financial professional before making any investment decisions.
Past performance is no guarantee of future results. The value of the instruments may fluctuate and is not guaranteed
Volume Profile Grid [Alpha Extract]A sophisticated volume distribution analysis system that transforms market activity into institutional-grade visual profiles, revealing hidden support/resistance zones and market participant behavior. Utilizing advanced price level segmentation, bullish/bearish volume separation, and dynamic range analysis, the Volume Profile Grid delivers comprehensive market structure insights with Point of Control (POC) identification, Value Area boundaries, and volume delta analysis. The system features intelligent visualization modes, real-time sentiment analysis, and flexible range selection to provide traders with clear, actionable volume-based market context.
🔶 Dynamic Range Analysis Engine
Implements dual-mode range selection with visible chart analysis and fixed period lookback, automatically adjusting to current market view or analyzing specified historical periods. The system intelligently calculates optimal bar counts while maintaining performance through configurable maximum limits, ensuring responsive profile generation across all timeframes with institutional-grade precision.
// Dynamic period calculation with intelligent caching
get_analysis_period() =>
if i_use_visible_range
chart_start_time = chart.left_visible_bar_time
current_time = last_bar_time
time_span = current_time - chart_start_time
tf_seconds = timeframe.in_seconds()
estimated_bars = time_span / (tf_seconds * 1000)
range_bars = math.floor(estimated_bars)
final_bars = math.min(range_bars, i_max_visible_bars)
math.max(final_bars, 50) // Minimum threshold
else
math.max(i_periods, 50)
🔶 Advanced Bull/Bear Volume Separation
Employs sophisticated candle classification algorithms to separate bullish and bearish volume at each price level, with weighted distribution based on bar intersection ratios. The system analyzes open/close relationships to determine volume direction, applying proportional allocation for doji patterns and ensuring accurate representation of buying versus selling pressure across the entire price spectrum.
🔶 Multi-Mode Volume Visualization
Features three distinct display modes for bull/bear volume representation: Split mode creates mirrored profiles from a central axis, Side by Side mode displays sequential bull/bear segments, and Stacked mode separates volumes vertically. Each mode offers unique insights into market participant behavior with customizable width, thickness, and color parameters for optimal visual clarity.
// Bull/Bear volume calculation with weighted distribution
for bar_offset = 0 to actual_periods - 1
bar_high = high
bar_low = low
bar_volume = volume
// Calculate intersection weight
weight = math.min(bar_high, next_level) - math.max(bar_low, current_level)
weight := weight / (bar_high - bar_low)
weighted_volume = bar_volume * weight
// Classify volume direction
if bar_close > bar_open
level_bull_volume += weighted_volume
else if bar_close < bar_open
level_bear_volume += weighted_volume
else // Doji handling
level_bull_volume += weighted_volume * 0.5
level_bear_volume += weighted_volume * 0.5
🔶 Point of Control & Value Area Detection
Implements institutional-standard POC identification by locating the price level with maximum volume accumulation, providing critical support/resistance zones. The Value Area calculation uses sophisticated sorting algorithms to identify the price range containing 70% of trading volume, revealing the market's accepted value zone where institutional participants concentrate their activity.
🔶 Volume Delta Analysis System
Incorporates real-time volume delta calculation with configurable dominance thresholds to identify significant bull/bear imbalances. The system visually highlights price levels where buying or selling pressure exceeds threshold percentages, providing immediate insight into directional volume flow and potential reversal zones through color-coded delta indicators.
// Value Area calculation using 70% volume accumulation
total_volume_sum = array.sum(total_volumes)
target_volume = total_volume_sum * 0.70
// Sort volumes to find highest activity zones
for i = 0 to array.size(sorted_volumes) - 2
for j = i + 1 to array.size(sorted_volumes) - 1
if array.get(sorted_volumes, j) > array.get(sorted_volumes, i)
// Swap and track indices for value area boundaries
// Accumulate until 70% threshold reached
for i = 0 to array.size(sorted_indices) - 1
accumulated_volume += vol
array.push(va_levels, array.get(volume_levels, idx))
if accumulated_volume >= target_volume
break
❓How It Works
🔶 Weighted Volume Distribution
Implements proportional volume allocation based on the percentage of each bar that intersects with price levels. When a bar spans multiple levels, volume is distributed proportionally based on the intersection ratio, ensuring precise representation of trading activity across the entire price spectrum without double-counting or volume loss.
🔶 Real-Time Profile Generation
Profiles regenerate on each bar close when in visible range mode, automatically adapting to chart zoom and scroll actions. The system maintains optimal performance through intelligent caching mechanisms and selective line updates, ensuring smooth operation even with maximum resolution settings and extended analysis periods.
🔶 Market Sentiment Analysis
Features comprehensive volume analysis table displaying total volume metrics, bullish/bearish percentages, and overall market sentiment classification. The system calculates volume dominance ratios in real-time, providing immediate insight into whether buyers or sellers control the current price structure with percentage-based sentiment thresholds.
🔶 Visual Profile Mapping
Provides multi-layered visual feedback through colored volume bars, POC line highlighting, Value Area boundaries, and optional delta indicators. The system supports profile mirroring for alternative perspectives, line extension for future reference, and customizable label positioning with detailed price information at critical levels.
Why Choose Volume Profile Grid
The Volume Profile Grid represents the evolution of volume analysis tools, combining traditional volume profile concepts with modern visualization techniques and intelligent analysis algorithms. By integrating dynamic range selection, sophisticated bull/bear separation, and multi-mode visualization with POC/Value Area detection, it provides traders with institutional-quality market structure analysis that adapts to any trading style. The comprehensive delta analysis and sentiment monitoring system eliminates guesswork while the flexible visualization options ensure optimal clarity across all market conditions, making it an essential tool for traders seeking to understand true market dynamics through volume-based price discovery.
Marcius Studio® - Trend Detector™Trend Detector™ — is an advanced trend detection indicator that combines statistical Z-Score analysis with a simplified ADF stationarity test .
It is designed to help traders identify strong directional moves while filtering out noise and false signals.
Unlike traditional moving average crossovers or momentum oscillators, this tool evaluates both trend direction and trend strength , giving you a clear visual overview of market conditions.
Important! This indicator is intended for educational and informational purposes . It does not guarantee future performance and should be used together with proper risk management.
Idea
Markets spend 70–80% of the time in consolidation and only 20–30% in trending phases . The key to profitable trading is spotting when a major trend shift begins. Trend Detector™ was built exactly for this purpose — to filter noise and highlight true trend reversals.
How It Works
Calculates the Z-Score of price to detect extreme deviations from the mean.
Applies a simplified ADF t-Statistic test to confirm trend validity.
Uses an ATR-based ribbon for clean visualization of bullish/bearish phases.
Generates Buy/Sell signals when trend switches are confirmed.
Displays an Info Panel with real-time metrics: Z-Score, ADF t-Stat, Trend Strength (0–100), ATR % of price.
Features
Trend Ribbon : visually highlights bullish, bearish, or neutral phases.
Confirmation Filter : avoids false flips by requiring multiple bars of validation.
Strength Score : quantifies how powerful the current trend is.
Signal Markers : “BUY” and “SELL” alerts appear directly on the chart.
Customizable Alerts : get notified when new uptrends or downtrends are detected.
Recommendations
Works well on swing trading timeframes (1H, 4H, Daily).
Use in combination with support/resistance zones or volume profile tools for higher accuracy.
The higher the Trend Strength Score , the more reliable the trend continuation.
Indicator Settings
Analysis Period : number of bars for Z-Score & ADF test.
ATR Length : used for ribbon visualization.
Min Bars to Confirm Trend : filters false trend flips.
Show/Hide options for Ribbon, Signals, and Info Panel.
Example Settings
Timeframe : 1H or 4H
Analysis Period : 20
ATR Length : 14
Min Confirmation Bars : 2–3
Disclaimer
Trading and investing involve risk — always do your own research (DYOR) and seek professional advice. We are not responsible for any financial losses.
SONIC R BREAK FINAL (VER5)
Purpose: Capture breakouts through Support/Resistance (S/R) zones based on Pivot and filter signals using EMA 34 (High/Low/Close), EMA 89, volume, and candle structure. Includes a Higher Timeframe (H4) RSI risk warning (visual only, does not block entries).
How it works
S/R zones from Pivot
Draws Resistance and Support using ta.pivothigh/ta.pivotlow with Left/Right Bars.
S/R lines are locked with offset to reduce repaint.
EMA trend filters
EMA34 High/Low/Close build a “EMA 34 band”.
EMA89 works as the main trend filter.
Trend conditions:
Long: close above all EMA34 High/Low/Close and EMA89.
Short: close below all EMA34 High/Low/Close and EMA89.
Volume filter (optional)
Signal valid only if Volume > SMA(Volume, n).
Wick filter
Each wick (upper/lower) ≤ 50% of candle range to avoid weak breakouts.
Higher TF RSI risk (H4)
Fetches RSI from a higher timeframe (default H4).
If RSI exceeds threshold, breakout labels turn gray (risk warning only).
Anti-repeat mechanism
Each new pivot resets trigger.
Each S/R level triggers only once until the next pivot is formed.
Signals & Alerts
Label “B” (green) below candle: breakout above Resistance, valid EMA/Volume/Wick conditions.
Label “S” (red) above candle: breakout below Support, valid EMA/Volume/Wick conditions.
Gray labels = H4 RSI risk warning.
Unified alert: “S/R Breakout (Unified)” with message B=Buy, S=Sell, Gray=Risk.
Parameters
Show Breaks: toggle breakout detection.
Left/Right Bars: pivot sensitivity.
Require Volume > Average + Volume MA Length: volume filter.
Use H4 RSI Risk Warning: enable higher TF RSI check.
RSI Length, Higher TF (minutes), RSI thresholds for Buy/Sell risk.
Usage tips
Prioritize trades in the same direction as EMA89 and EMA34 trend.
Works on M5 to H4; best combined with RSI H4 when trading M15/M30.
Place SL behind the S/R just broken, TP by fixed RR or EMA trailing.
Increase Left/Right Bars for stronger zones and less noise in sideways markets.
Notes
Pivot still has repaint element (mitigated by offset).
This indicator is not financial advice. Always combine with proper risk management.
Version
Clean v4: added wick ≤50% filter, H4 RSI risk coloring, volume filter, anti-repeat pivot trigger, unified alert, EMA34 H/L/C background shading.
JJ Tuesday Expiry Highlighter – SensexHighlights every Tuesday across your chart for quick identification of Indian market weekly expiry days (Sensex expiry = Tuesday).
Features:
• Works on all timeframes
• Customizable highlight color
• Optional "Expiry" label on daily charts
• Useful for options traders tracking weekly expiry trends
Disclaimer:
This script is for informational and educational purposes only.
It does not constitute financial advice or a recommendation to trade.
Please do your own research and consult a licensed financial advisor.
Pro Tip:
Duplicate this script and change `dayofweek.tuesday` to `dayofweek.thursday` to mark Nifty expiry days as well.
Recent Range DetectorOverview
The Recent Range Detector is a specialized indicator designed to identify when an asset is currently range-bound, providing traders with clear support and resistance levels for range trading strategies. Unlike traditional indicators that focus on trend detection, this tool specifically answers the question: "Is the price range-bound right now, and what are the exact trading levels?"
Key Features
✅ Smart Range Detection - Uses a multi-factor scoring system to identify legitimate ranges
✅ Dynamic Support/Resistance Levels - Automatically calculates and displays key trading levels
✅ Range Quality Scoring - Provides confidence levels (Strong/Moderate/Weak Range)
✅ Touch Validation - Counts actual price touches to confirm range reliability
✅ Breakout Detection - Alerts when price exits the established range
✅ Visual Clarity - Clean boxes, lines, and labels for easy interpretation
How It Works
The indicator analyses recent price action using three core metrics:
Touch Quality (40%) - How many times price has respected support/resistance levels
Containment Quality (40%) - What percentage of recent bars stayed within the range
Recent Respect (20%) - Whether the latest price action confirms the range
These combine into a Range Score (0-1) that determines range strength and reliability.
Settings & Parameters
Range Lookback Period (Default: 15)
Number of bars to analyse for range detection
Shorter periods = more responsive to recent ranges
Longer periods = more stable, fewer false signals
Range Tolerance (Default: 2.0%)
Tolerance for price touches around exact highs/lows
Lower values = stricter range requirements
Higher values = more flexible range detection
Minimum Touches (Default: 3)
Required number of support/resistance touches for valid range
Higher values = more confirmed ranges, fewer signals
Lower values = more sensitive, earlier detection
Visual Options
Show Range Box: Displays the range boundaries
Show Support/Resistance Lines: Extends levels into the future
Understanding the Output
Range Score (0.000 - 1.000)
0.7+ = Strong Range (Green) - High confidence range trading setup
0.5-0.7 = Moderate Range (Yellow) - Decent range with some caution
0.3-0.5 = Weak Range (Orange) - Low confidence, be careful
<0.3 = Not Ranging - Avoid range trading strategies
Range Status Classifications
Strong Range - Perfect for range trading strategies
Moderate Range - Good range with normal risk
Weak Range - Marginal range, use smaller positions
Not Ranging - Price is trending or too choppy for range trading
Key Metrics in Info Table
Range Size (%) - Size of the range relative to price level
5-15% = Ideal range size for most strategies
<5% = Tight range, lower profit potential
>15% = Wide range, higher profit potential but more risk
Support/Resistance Levels - Exact price levels for entries/exits
Use these as your key trading levels
Support = potential buy zone
Resistance = potential sell zone
Total Touches - Number of times price respected the levels
3-5 touches = Newly formed range
6-10 touches = Well-established range
10+ touches = Very strong, reliable range
Price Position (%) - Current location within the range
0-20% = Near support (potential long opportunity)
80-100% = Near resistance (potential short opportunity)
40-60% = Middle of range (wait for better entry)
Visual Elements
Range Box
Green Box = Strong Range (Score ≥ 0.7)
Yellow Box = Moderate Range (Score 0.5-0.7)
Orange Box = Weak Range (Score 0.3-0.5)
Support/Resistance Lines
- Horizontal lines showing exact trading levels
- Extend into the future for forward guidance
- Colour matches the range strength
Background Colouring
- Subtle background tint during range periods
- Helps quickly identify ranging vs trending markets
Breakout Signals
- 📈 RANGE BREAK UP - Price breaks above resistance
- 📉 RANGE BREAK DOWN - Price breaks below support
- Only appears for confirmed ranges (Score ≥ 0.5)
Trading Applications
Range Trading Strategy
1. Look for Range Score ≥ 0.5
2. Buy near support (Price Position 0-20%)
3. Sell near resistance (Price Position 80-100%)
4. Set stops just outside the range
5. Exit on breakout signals
Breakout Strategy
1. Identify strong ranges (Score ≥ 0.7)
2. Wait for volume-confirmed breakout
3. Enter in breakout direction
4. Use previous resistance as support (or vice versa)
Market Context
- Strong ranges often occur after trending moves
- Use higher timeframes to confirm overall market structure
- Combine with volume analysis for better entries/exits
Best Practices
What to Look For
✅ Range Score ≥ 0.5 for trading consideration
✅ Multiple touches (5+) for confirmation
✅ Clear price rejection at levels
✅ Reasonable range size (5-15% for most assets)
✅ Recent price respect of boundaries
What to Avoid
❌ Trading ranges with Score < 0.3
❌ Very tight ranges (<3% size) - low profit potential
❌ Ranges with only 1-2 touches - not confirmed
❌ Ignoring breakout signals
❌ Trading against the higher timeframe trend
Alerts Available
- Range Detected - New range formation
- Range Break Up - Upward breakout
- Range Break Down - Downward breakout
- Range Ended - Range condition ended
Timeframe Recommendations
- Daily Charts - Best for swing trading ranges
- 4H Charts - Good for intermediate-term ranges
- 1H Charts - Suitable for day trading ranges
- Lower Timeframes - May produce more noise
Conclusion
The Recent Range Detector eliminates guesswork in range identification by providing objective, quantified range analysis. It's particularly valuable for traders who prefer range-bound strategies or need to identify when trending strategies should be avoided.
Remember: No indicator is perfect. Always combine with proper risk management, volume analysis, and broader market context for best results.
Disclaimer
This indicator is for educational purposes only and should not be considered as financial advice. Trading involves risk, and past performance does not guarantee future results. Always conduct your own research and consider your risk tolerance before making any trading decisions.
Crypto Options Greeks & Volatility Analyzer [BackQuant]Crypto Options Greeks & Volatility Analyzer
Overview
The Crypto Options Greeks & Volatility Analyzer is a comprehensive analytical tool that calculates Black-Scholes option Greeks up to the third order for Bitcoin and Ethereum options. It integrates implied volatility data from VOLMEX indices and provides multiple visualization layers for options risk analysis.
Quick Introduction to Options Trading
Options are financial derivatives that give the holder the right, but not the obligation, to buy or sell an underlying asset at a predetermined price (strike price) within a specific time period (expiration date). Understanding options requires grasping two fundamental concepts:
Call Options : Give the right to buy the underlying asset at the strike price. Calls increase in value when the underlying price rises above the strike price.
Put Options : Give the right to sell the underlying asset at the strike price. Puts increase in value when the underlying price falls below the strike price.
The Language of Options: Greeks
Options traders use "Greeks" - mathematical measures that describe how an option's price changes in response to various factors:
Delta : How much the option price moves for each $1 change in the underlying
Gamma : How fast delta changes as the underlying moves
Theta : Daily time decay - how much value erodes each day
Vega : Sensitivity to implied volatility changes
Rho : Sensitivity to interest rate changes
These Greeks are essential for understanding risk. Just as a pilot needs instruments to fly safely, options traders need Greeks to navigate market conditions and manage positions effectively.
Why Volatility Matters
Implied volatility (IV) represents the market's expectation of future price movement. High IV means:
Options are more expensive (higher premiums)
Market expects larger price swings
Better for option sellers
Low IV means:
Options are cheaper
Market expects smaller moves
Better for option buyers
This indicator helps you visualize and quantify these critical concepts in real-time.
Back to the Indicator
Key Features & Components
1. Complete Greeks Calculations
The indicator computes all standard Greeks using the Black-Scholes-Merton model adapted for cryptocurrency markets:
First Order Greeks:
Delta (Δ) : Measures the rate of change of option price with respect to underlying price movement. Ranges from 0 to 1 for calls and -1 to 0 for puts.
Vega (ν) : Sensitivity to implied volatility changes, expressed as price change per 1% change in IV.
Theta (Θ) : Time decay measured in dollars per day, showing how much value erodes with each passing day.
Rho (ρ) : Interest rate sensitivity, measuring price change per 1% change in risk-free rate.
Second Order Greeks:
Gamma (Γ) : Rate of change of delta with respect to underlying price, indicating how quickly delta will change.
Vanna : Cross-derivative measuring delta's sensitivity to volatility changes and vega's sensitivity to price changes.
Charm : Delta decay over time, showing how delta changes as expiration approaches.
Vomma (Volga) : Vega's sensitivity to volatility changes, important for volatility trading strategies.
Third Order Greeks:
Speed : Rate of change of gamma with respect to underlying price (∂Γ/∂S).
Zomma : Gamma's sensitivity to volatility changes (∂Γ/∂σ).
Color : Gamma decay over time (∂Γ/∂T).
Ultima : Third-order volatility sensitivity (∂²ν/∂σ²).
2. Implied Volatility Analysis
The indicator includes a sophisticated IV ranking system that analyzes current implied volatility relative to its recent history:
IV Rank : Percentile ranking of current IV within its 30-day range (0-100%)
IV Percentile : Percentage of days in the lookback period where IV was lower than current
IV Regime Classification : Very Low, Low, High, or Very High
Color-Coded Headers : Visual indication of volatility regime in the Greeks table
Trading regime suggestions based on IV rank:
IV Rank > 75%: "Favor selling options" (high premium environment)
IV Rank 50-75%: "Neutral / Sell spreads"
IV Rank 25-50%: "Neutral / Buy spreads"
IV Rank < 25%: "Favor buying options" (low premium environment)
3. Gamma Zones Visualization
Gamma zones display horizontal price levels where gamma exposure is highest:
Purple horizontal lines indicate gamma concentration areas
Opacity scaling : Darker shading represents higher gamma values
Percentage labels : Shows gamma intensity relative to ATM gamma
Customizable zones : 3-10 price levels can be analyzed
These zones are critical for understanding:
Pin risk around expiration
Potential for explosive price movements
Optimal strike selection for gamma trading
Market maker hedging flows
4. Probability Cones (Expected Move)
The probability cones project expected price ranges based on current implied volatility:
1 Standard Deviation (68% probability) : Shown with dashed green/red lines
2 Standard Deviations (95% probability) : Shown with dotted green/red lines
Time-scaled projection : Cones widen as expiration approaches
Lognormal distribution : Accounts for positive skew in asset prices
Applications:
Strike selection for credit spreads
Identifying high-probability profit zones
Setting realistic price targets
Risk management for undefined risk strategies
5. Breakeven Analysis
The indicator plots key price levels for options positions:
White line : Strike price
Green line : Call breakeven (Strike + Premium)
Red line : Put breakeven (Strike - Premium)
These levels update dynamically as option premiums change with market conditions.
6. Payoff Structure Visualization
Optional P&L labels display profit/loss at expiration for various price levels:
Shows P&L at -2 sigma, -1 sigma, ATM, +1 sigma, and +2 sigma price levels
Separate calculations for calls and puts
Helps visualize option payoff diagrams directly on the chart
Updates based on current option premiums
Configuration Options
Calculation Parameters
Asset Selection : BTC or ETH (limited by VOLMEX IV data availability)
Expiry Options : 1D, 7D, 14D, 30D, 60D, 90D, 180D
Strike Mode : ATM (uses current spot) or Custom (manual strike input)
Risk-Free Rate : Adjustable annual rate for discounting calculations
Display Settings
Greeks Display : Toggle first, second, and third-order Greeks independently
Visual Elements : Enable/disable probability cones, gamma zones, P&L labels
Table Customization : Position (6 options) and text size (4 sizes)
Price Levels : Show/hide strike and breakeven lines
Technical Implementation
Data Sources
Spot Prices : INDEX:BTCUSD and INDEX:ETHUSD for underlying prices
Implied Volatility : VOLMEX:BVIV (Bitcoin) and VOLMEX:EVIV (Ethereum) indices
Real-Time Updates : All calculations update with each price tick
Mathematical Framework
The indicator implements the full Black-Scholes-Merton model:
Standard normal distribution approximations using Abramowitz and Stegun method
Proper annualization factors (365-day year)
Continuous compounding for interest rate calculations
Lognormal price distribution assumptions
Alert Conditions
Four categories of automated alerts:
Price-Based : Underlying crossing strike price
Gamma-Based : 50% surge detection for explosive moves
Moneyness : Deep ITM alerts when |delta| > 0.9
Time/Volatility : Near expiration and vega spike warnings
Practical Applications
For Options Traders
Monitor all Greeks in real-time for active positions
Identify optimal entry/exit points using IV rank
Visualize risk through probability cones and gamma zones
Track time decay and plan rolls
For Volatility Traders
Compare IV across different expiries
Identify mean reversion opportunities
Monitor vega exposure across strikes
Track higher-order volatility sensitivities
Conclusion
The Crypto Options Greeks & Volatility Analyzer transforms complex mathematical models into actionable visual insights. By combining institutional-grade Greeks calculations with intuitive overlays like probability cones and gamma zones, it bridges the gap between theoretical options knowledge and practical trading application.
Whether you're:
A directional trader using options for leverage
A volatility trader capturing IV mean reversion
A hedger managing portfolio risk
Or simply learning about options mechanics
This tool provides the quantitative foundation needed for informed decision-making in cryptocurrency options markets.
Remember that options trading involves substantial risk and complexity. The Greeks and visualizations provided by this indicator are tools for analysis - they should be combined with proper risk management, position sizing, and a thorough understanding of options strategies.
As crypto options markets continue to mature and grow, having professional-grade analytics becomes increasingly important. This indicator ensures you're equipped with the same analytical capabilities used by institutional traders, adapted specifically for the unique characteristics of 24/7 cryptocurrency markets.
Time-Price Velocity [QuantAlgo]🟢 Overview
The Time-Price Velocity indicator uses advanced velocity-based analysis to measure the rate of price change normalized against typical market movement, creating a dynamic momentum oscillator that identifies market acceleration patterns and momentum shifts. Unlike traditional momentum indicators that focus solely on price change magnitude, this indicator incorporates time-weighted displacement calculations and ATR normalization to create a sophisticated velocity measurement system that adapts to varying market volatility conditions.
This indicator displays a velocity signal line that oscillates around zero, with positive values indicating upward price velocity and negative values indicating downward price velocity. The signal incorporates acceleration background columns and statistical normalization to help traders identify momentum shifts and potential reversal or continuation opportunities across different timeframes and asset classes.
🟢 How It Works
The indicator's key insight lies in its time-price velocity calculation system, where velocity is measured using the fundamental physics formula:
velocity = priceChange / timeWeight
The system normalizes this raw velocity against typical price movement using Average True Range (ATR) to create market-adjusted readings:
normalizedVelocity = typicalMove > 0 ? velocity / typicalMove : 0
where "typicalMove = ta.atr(lookback)" provides the baseline for normal price movement over the specified lookback period.
The Time-Price Velocity indicator calculation combines multiple sophisticated components. First, it calculates acceleration as the change in velocity over time:
acceleration = normalizedVelocity - normalizedVelocity
Then, the signal generation applies EMA smoothing to reduce noise while preserving responsiveness:
signal = ta.ema(normalizedVelocity, smooth)
This creates a velocity-based momentum indicator that combines price displacement analysis with statistical normalization, providing traders with both directional signals and acceleration insights for enhanced market timing.
🟢 How to Use
1. Signal Interpretation and Threshold Zones
Positive Values (Above Zero): Time-price velocity indicating bullish momentum with upward price displacement relative to normalized baseline
Negative Values (Below Zero): Time-price velocity indicating bearish momentum with downward price displacement relative to normalized baseline
Zero Line Crosses: Velocity transitions between bullish and bearish regimes, indicating potential trend changes or momentum shifts
Upper Threshold Zone: Area above positive threshold (default 1.0) indicating strong bullish velocity and potential reversal point
Lower Threshold Zone: Area below negative threshold (default -1.0) indicating strong bearish velocity and potential reversal point
2. Acceleration Analysis and Visual Features
Acceleration Columns: Background histogram showing velocity acceleration (the rate of change of velocity), with green columns indicating accelerating velocity and red columns indicating decelerating velocity. The interpretation depends on trend context: red columns in downtrends indicate strengthening bearish momentum, while red columns in uptrends indicate weakening bullish momentum
Acceleration Column Height: The height of each column represents the magnitude of acceleration, with taller columns indicating stronger acceleration or deceleration forces
Bar Coloring: Optional price bar coloring matches velocity direction for immediate visual trend confirmation
Info Table: Real-time display of current velocity and acceleration values with trend arrows and change indicators
3. Additional Features:
Confirmed vs Live Data: Toggle between confirmed (closed) bar analysis for stable signals or current bar inclusion for real-time updates
Multi-timeframe Adaptability: Velocity normalization ensures consistent readings across different chart timeframes and asset volatilities
Alert System: Built-in alerts for threshold crossovers and direction changes
🟢 Examples with Preconfigured Settings
Default : Balanced configuration suitable for most timeframes and general trading applications, providing optimal balance between sensitivity and noise filtering for medium-term analysis.
Scalping : High sensitivity setup with shorter lookback period and reduced smoothing for ultra-short-term trades on 1-15 minute charts, optimized for capturing rapid momentum shifts and frequent trading opportunities.
Swing Trading : Extended lookback period with enhanced smoothing and higher threshold for multi-day positions, designed to filter market noise while capturing significant momentum moves on 1-4 hour and daily timeframes.
TZtraderTZtrader
This is a TrendZones version with features to set stoploss and targets in short and long positions meant for use in intraday charts. It aims to provide signals for opening and closing long and short positions. In the comments under the TrendZones publication several people expressed a need for features for a short position similar to those for a long position as implemented in TrendZones, some want to use it for scalping, some asked for alerts. When I proposed to create a version for day trading with target lines based on ATR, several people liked the idea.
Full disclosure: I don’t do day trading, because, after I lost a lot of money, I had to promise my wife to stay away from it. I restrict myself to long term investing in stocks which are in uptrend. However I understand what a day trader needs. I gather from my experience that day trading or scalping is an attempt to earn something by opening a position in the morning and close, reopen and close it again during the day with a profit. It is usually done with leveraged instruments like CFD’s, futures, options, and what have you. Opening and closing positions is done within minutes, so the trader needs a quick and efficient way to set proper stoploss and target. TZtrader supports this by showing only three or four numbers on the price bar: The price of the instrument, The logical stop level (gray or green or maroon dots), and the target level (navy). All other numbers are suppressed to prevent mistakes. Also a clear feedback for current settings at the top-center of the pane and an alert feedback at bottom that flashes alerts during the development of the current bar and gives suppression status.
The script
First I made a bare bones version of TrendZones to which I added code for long and short trading setups and a bare setup for no position. The code for the logical stops in long setup had to be reviewed, after which this became the basis for stops in short setup.
Then I added code for 10 alert messages, which was a hassle, because this is the first time I coded alerts and the first time I used an array as a stack to avoid a complicated if-then construction. During testing the array caused a runtime error which I solved by adding ‘array.clear’ to the code, also I discovered that in TradingView separate alerts have to be created for all three setups - short, long and bare. Flipping setups is done in the inputs with a dropdown menu because Pine Script has no function for a clickable button.
One visual with three setups.
The visual has the TrendZones structure: Three near parallel very smooth curves, which border the moderate uptrend (green) and downtrend (orange) zone over and under the curve in the middle, the COG (Center Of Gravity). Where the price breaks out of these curves, strong trend zones show up over and under the curves, respectively strong uptrend (blue) and strong downtrend (red).
Three setups were made clearly different to avoid confusion and to provide oversight in case of multiple trades going on simultaneously which I imagine are monitored in one screen. You have to see which one is long, which short and which have no position. The long setup should not trigger short signals, nor should the short trigger long signals nor the bare setup exclusive long or short signals.
The Long setup is default, shown on the example chart. In this setup the Stoploss suggestions (green, gray and maroon dots) are under the price bars and the target line (navy) at a set distance above the High Border. A zone with a width of 1 ATR is drawn under the Low Border. In this setup 5 specific alerts are provided
The Short setup has the Stoploss suggestions over the price bars, the target line at a set distance under the Low Border. A zone with a width of 1 ATR is drawn above the High Border. This setup also has 5 specific alerts.
The Bare setup has no Stoploss suggestions, no target line and supports 4 alerts, 2 in common with the Long setup and 2 with Short.
The table below gives a summary of scripted alerts:
Setup = Where = When = Purpose
Long, Bare = Green Zone = Bars come from lower zones = Uptrend starts
Long, Bare = Green Zone = Sideways ends in uptrend = Uptrend resumes
Long = COG = First crossing = Uptrend might end warning
Long = Orange Zone = Bars come from higher zones = Uptrend ended take care
Long = Red Zone = Bars come from higher zones = Strong downtrend->close Long
Short, Bare = Orange Zone = Bars come from higher zones = Downtrend starts
Short, Bare = Orange Zone = Sideways ends in downtrend = Downtrend resumes
Short = COG = First crossing = Downtrend might end warning
Short = Green Zone = Bars come from lower zones = Downtrend ended take care
Short = Blue Zone = Bars come from lower zones = Strong uptrend -> close short
You can use script alerts in TradingView by clicking the clock in the sidebar, then ‘create alert’ or plus, as condition you choose ‘Tztrader’ in the dialog box, then the “Any alert() function call” option (the first item in the list). The script lets the valid alert trigger by TradingView after the bar is completed, this can differ from the flashed messages during its formation.
When you create alerts in Tradingview, I advice to do that for each setup, then to make only the alert active which matches the current setup, pause the other ones.
Suppressing false and annoying signals
The script has two ways to suppress such signals, which have to do with the numbers in the alert feedback. The numbers left and right of the message with a colored background, depict the zones in which the previous (left) and current (right) bar move. 1 is the strong downtrend zone (red), 2 the moderate downtrend zone (orange), 3 the sideways zones (gray), 4 the COG (gray), 5 the moderate uptrend zone (green), 6 the strong uptrend zone (blue), 7 something went wrong with assigning a zone (black). In extensive testing the number 7 never occurs, because I catch that error in the code. The idea is that an alert is only triggered if the previous bar was in a different zone. When the bars are in the same zone, no alert is possible. This way all annoying signals are suppressed and long, short and bare get the appropriate alerts.
The third number is a counter. It counts how often the COG is crossed without touching the outer curves. The counter will reset to zero when the upper or lower curve is touched. When the count is 1 you have zone situation 4 and appropriate alerts are flashed. When the count is 2 or higher, a sideways situation (3) is called and while the recrossings are going on, no alerts can be flashed. This suppresses false signals. The ATR zone and curves are brownish-gray where sideways happens(ed). When the channel is narrowed down to just the three curves, some false signals still might occur.
Inputs
“Setup”, default is long, drop down menu provides long, short and bare.
“Target ATR”, default is 2, sets the amount of ATR for the target line. In 1 minute charts 4 seems an appropriate setting, you have to learn by experience which setting works.
“show feedback …” default is on, This creates two feedback labels, a Setup feedback on top of the pane, which shows charted instrument, Setup type, Trend and timeframe of the chart. Background color of Trend feedback is green when it matches the setup, red when mismatches and gray when no match. The alert feedback at the bottom of the pane shows a number, a message and two numbers. The numbers will be explained in the chapter about false and annoying signals below. During formation of the bar, valid alerts are flashed with a blue background, otherwise the message ‘alerts for current bar suppressed’.
Logical Stops
The curves are the logical place to put stops, because, as these are averages of the high and low border of a Donchian channel, they signify the ‘natural’ current highest, lowest and main level in the lookback period that fit the monitored trend setup. A downtrend turns into an uptrend when a breakout of the upper curve occurs. If you are short, that is where you want to close position, so the logical place for the stoploss is the upper curve. Vice versa, when you are long, the logical stop is on the lower curve. The stops show up as green or gray dots on the curves, the green dots signify a nice entry level, the gray stops are there to suggest levels where unrealized profits might be secured, the maroon dots indicate that the trend mismatches the setup.
COG versus other lines
Any line used to identify a trend, be it some MA or some other line, is interpreted the same way: When the bars move above the line there is an uptrend and when below, a downtrend. COG is not different in that sense. If you put such a line in the same chart as TZtrader, you can see situations in which the other line shows uptrend or downtrend earlier than COG, also some other lines, e.g. Hull MA, are very good at showing tops and bottoms, while COG ignores these. On the other hand the other lines are usually a little nervous and let you shake out of position too soon. Just like the other lines, COG gives false signals when it is near horizontal. The advantage of the placement COG is the tolerance for pull backs. This way TZtrader keeps you longer in the trend. Such pull backs are often ‘flags’ which are interpreted in TA as confirming the trend. Tztrader aims to get you in position reasonably soon when a trend begins and out of position as soon as the trend turns against you. The placement of COG is done with a fundamentally different algorithm than other lines as it is not an average of prices, but the middle of two averages of borders of a Donchian channel. This gives the two zones between the curves the same quality as the two zones above and below the middle line of a standard Donchian Channel.
A multi timeframe application.
In this scenario you put a 5 minutes and 1 minute chart with Tztrader side by side. If the 5 minutes shows uptrend, set the 1 minute on long trading and open positions when the trend matches uptrend en close when it mismatches. Don’t open short positions. Once the 5 minute changes to downtrend, set Tztrader in the 1 minute to short trading and open positions when the trend matches downtrend and close when it mismatches.
The idea is that in a long ‘context’, provided by the 5 minutes, the uptrends in the 1 minute will last longer and go further, vice versa for the short ‘context’. This way you do swing trading in the 5 minute in a smart way, maximizing profits.
You can do this with any timeframe pairs with a proportion of around 5:1, 4:1, 6:1, like e.g. 60 minutes and 15 minutes or weeks and days (5 trading days in a week).
Dear day-traders, may this tool be helpful and may your days be blessed.
Take care
FEDFUNDS Rate Divergence Oscillator [BackQuant]FEDFUNDS Rate Divergence Oscillator
1. Concept and Rationale
The United States Federal Funds Rate is the anchor around which global dollar liquidity and risk-free yield expectations revolve. When the Fed hikes, borrowing costs rise, liquidity tightens and most risk assets encounter head-winds. When it cuts, liquidity expands, speculative appetite often recovers. Bitcoin, a 24-hour permissionless asset sometimes described as “digital gold with venture-capital-like convexity,” is particularly sensitive to macro-liquidity swings.
The FED Divergence Oscillator quantifies the behavioural gap between short-term monetary policy (proxied by the effective Fed Funds Rate) and Bitcoin’s own percentage price change. By converting each series into identical rate-of-change units, subtracting them, then optionally smoothing the result, the script produces a single bounded-yet-dynamic line that tells you, at a glance, whether Bitcoin is outperforming or underperforming the policy backdrop—and by how much.
2. Data Pipeline
• Fed Funds Rate – Pulled directly from the FRED database via the ticker “FRED:FEDFUNDS,” sampled at daily frequency to synchronise with crypto closes.
• Bitcoin Price – By default the script forces a daily timeframe so that both series share time alignment, although you can disable that and plot the oscillator on intraday charts if you prefer.
• User Source Flexibility – The BTC series is not hard-wired; you can select any exchange-specific symbol or even swap BTC for another crypto or risk asset whose interaction with the Fed rate you wish to study.
3. Math under the Hood
(1) Rate of Change (ROC) – Both the Fed rate and BTC close are converted to percent return over a user-chosen lookback (default 30 bars). This means a cut from 5.25 percent to 5.00 percent feeds in as –4.76 percent, while a climb from 25 000 to 30 000 USD in BTC over the same window converts to +20 percent.
(2) Divergence Construction – The script subtracts the Fed ROC from the BTC ROC. Positive values show BTC appreciating faster than policy is tightening (or falling slower than the rate is cutting); negative values show the opposite.
(3) Optional Smoothing – Macro series are noisy. Toggle “Apply Smoothing” to calm the line with your preferred moving-average flavour: SMA, EMA, DEMA, TEMA, RMA, WMA or Hull. The default EMA-25 removes day-to-day whips while keeping turning points alive.
(4) Dynamic Colour Mapping – Rather than using a single hue, the oscillator line employs a gradient where deep greens represent strong bullish divergence and dark reds flag sharp bearish divergence. This heat-map approach lets you gauge intensity without squinting at numbers.
(5) Threshold Grid – Five horizontal guides create a structured regime map:
• Lower Extreme (–50 pct) and Upper Extreme (+50 pct) identify panic capitulations and euphoria blow-offs.
• Oversold (–20 pct) and Overbought (+20 pct) act as early warning alarms.
• Zero Line demarcates neutral alignment.
4. Chart Furniture and User Interface
• Oscillator fill with a secondary DEMA-30 “shader” offers depth perception: fat ribbons often precede high-volatility macro shifts.
• Optional bar-colouring paints candles green when the oscillator is above zero and red below, handy for visual correlation.
• Background tints when the line breaches extreme zones, making macro inflection weeks pop out in the replay bar.
• Everything—line width, thresholds, colours—can be customised so the indicator blends into any template.
5. Interpretation Guide
Macro Liquidity Pulse
• When the oscillator spends weeks above +20 while the Fed is still raising rates, Bitcoin is signalling liquidity tolerance or an anticipatory pivot view. That condition often marks the embryonic phase of major bull cycles (e.g., March 2020 rebound).
• Sustained prints below –20 while the Fed is already dovish indicate risk aversion or idiosyncratic crypto stress—think exchange scandals or broad flight to safety.
Regime Transition Signals
• Bullish cross through zero after a long sub-zero stint shows Bitcoin regaining upward escape velocity versus policy.
• Bearish cross under zero during a hiking cycle tells you monetary tightening has finally started to bite.
Momentum Exhaustion and Mean-Reversion
• Touches of +50 (or –50) come rarely; they are statistically stretched events. Fade strategies either taking profits or hedging have historically enjoyed positive expectancy.
• Inside-bar candlestick patterns or lower-timeframe bearish engulfings simultaneously with an extreme overbought print make high-probability short scalp setups, especially near weekly resistance. The same logic mirrors for oversold.
Pair Trading / Relative Value
• Combine the oscillator with spreads like BTC versus Nasdaq 100. When both the FED Divergence oscillator and the BTC–NDQ relative-strength line roll south together, the cross-asset confirmation amplifies conviction in a mean-reversion short.
• Swap BTC for miners, altcoins or high-beta equities to test who is the divergence leader.
Event-Driven Tactics
• FOMC days: plot the oscillator on an hourly chart (disable ‘Force Daily TF’). Watch for micro-structural spikes that resolve in the first hour after the statement; rapid flips across zero can front-run post-FOMC swings.
• CPI and NFP prints: extremes reached into the release often mean positioning is one-sided. A reversion toward neutral in the first 24 hours is common.
6. Alerts Suite
Pre-bundled conditions let you automate workflows:
• Bullish / Bearish zero crosses – queue spot or futures entries.
• Standard OB / OS – notify for first contact with actionable zones.
• Extreme OB / OS – prime time to review hedges, take profits or build contrarian swing positions.
7. Parameter Playground
• Shorten ROC Lookback to 14 for tactical traders; lengthen to 90 for macro investors.
• Raise extreme thresholds (for example ±80) when plotting on altcoins that exhibit higher volatility than BTC.
• Try HMA smoothing for responsive yet smooth curves on intraday charts.
• Colour-blind users can easily swap bull and bear palette selections for preferred contrasts.
8. Limitations and Best Practices
• The Fed Funds series is step-wise; it only changes on meeting days. Rapid BTC oscillations in between may dominate the calculation. Keep that perspective when interpreting very high-frequency signals.
• Divergence does not equal causation. Crypto-native catalysts (ETF approvals, hack headlines) can overwhelm macro links temporarily.
• Use in conjunction with classical confirmation tools—order-flow footprints, market-profile ledges, or simple price action to avoid “pure-indicator” traps.
9. Final Thoughts
The FEDFUNDS Rate Divergence Oscillator distills an entire macro narrative monetary policy versus risk sentiment into a single colourful heartbeat. It will not magically predict every pivot, yet it excels at framing market context, spotting stretches and timing regime changes. Treat it as a strategic compass rather than a tactical sniper scope, combine it with sound risk management and multi-factor confirmation, and you will possess a robust edge anchored in the world’s most influential interest-rate benchmark.
Trade consciously, stay adaptive, and let the policy-price tension guide your roadmap.
Trading Report Generator from CSVMany people use the Trading Panel. Unfortunately, it doesn't have a Performance Report. However, TradingView has strategies, and they have a Performance Report :-D
What if we combine the first and second? It's easy!
This script is a special strategy that parses transactions in csv format from Paper Trading (and it will also work for other brokers) and “plays” them. As a result, we get a Performance Report for a specific instrument based on our real trades in Paper or another broker.
How to use it :
First, we need to get a CSV file with transactions. To do this, go to the Trading Panel and connect the desired broker. Select the History tab, then the Filled sub-tab, and configure the columns there, leaving only: Side, Qty, Fill Price, Closing Time. After that, open the Export data dialog, select History, and click Export. Open the downloaded CSV file in a regular text editor (Notepad or similar). It will contain a text like this:
Symbol,Side,Qty,Fill Price,Closing Time
FX:EURUSD,Buy,1000,1.0938700000000001,2023-04-05 14:29:23
COINBASE:ETHUSD,Sell,1,1332.05,2023-01-11 17:41:33
CME_MINI:ESH2023,Sell,1,3961.75,2023-01-11 17:30:40
CME_MINI:ESH2023,Buy,1,3956.75,2023-01-11 17:08:53
Next select all the text (Ctrl+A) and copy it to the clipboard.
Now apply the "Trading Report Generator from CSV" strategy to the chart with the desired symbol and TF, open the settings/input dialog, paste the contents of the clipboard into the single text input field of the strategy, and click Ok.
That's it.
In the Strategy Tester, we see a detailed Performance Report based on our real transactions.
P.S. The CSV file may contain transactions for different instruments, for example, you may have transactions for CRYPTO:BTCUSD and NASDAQ:AAPL. To view the report is based on CRYPTO:BTCUSD trades, simply change the symbol on the chart to CRYPTO:BTCUSD. To view the report is based on NASDAQ:AAPL trades, simply change the symbol on the chart to NASDAQ:AAPL. No changes to the strategy are required.
How it works :
At the beginning of the calculation, we parse the csv once, create trade objects (Trade) and sort them in chronological order. Next, on each bar, we check whether we have trades for the time period of the next bar. If there are, we place a limit order for each trade, with limit price == Fill Price of the trade. Here, we assume that if the trade is real, its execution price will be within the bar range, and the Pine strategy engine will execute this order at the specified limit price.
Ultimate Market Structure [Alpha Extract]Ultimate Market Structure
A comprehensive market structure analysis tool that combines advanced swing point detection, imbalance zone identification, and intelligent break analysis to identify high-probability trading opportunities.Utilizing a sophisticated trend scoring system, this indicator classifies market conditions and provides clear signals for structure breaks, directional changes, and fair value gap detection with institutional-grade precision.
🔶 Advanced Swing Point Detection
Identifies pivot highs and lows using configurable lookback periods with optional close-based analysis for cleaner signals. The system automatically labels swing points as Higher Highs (HH), Lower Highs (LH), Higher Lows (HL), and Lower Lows (LL) while providing advanced classifications including "rising_high", "falling_high", "rising_low", "falling_low", "peak_high", and "valley_low" for nuanced market analysis.
swingHighPrice = useClosesForStructure ? ta.pivothigh(close, swingLength, swingLength) : ta.pivothigh(high, swingLength, swingLength)
swingLowPrice = useClosesForStructure ? ta.pivotlow(close, swingLength, swingLength) : ta.pivotlow(low, swingLength, swingLength)
classification = classifyStructurePoint(structureHighPrice, upperStructure, true)
significance = calculateSignificance(structureHighPrice, upperStructure, true)
🔶 Significance Scoring System
Each structure point receives a significance level on a 1-5 scale based on its distance from previous points, helping prioritize the most important levels. This intelligent scoring system ensures traders focus on the most meaningful structure breaks while filtering out minor noise.
🔶 Comprehensive Trend Analysis
Calculates momentum, strength, direction, and confidence levels using volatility-normalized price changes and multi-timeframe correlation. The system provides real-time trend state tracking with bullish (+1), bearish (-1), or neutral (0) direction assessment and 0-100 confidence scoring.
// Calculate trend momentum using rate of change and volatility
calculateTrendMomentum(lookback) =>
priceChange = (close - close ) / close * 100
avgVolatility = ta.atr(lookback) / close * 100
momentum = priceChange / (avgVolatility + 0.0001)
momentum
// Calculate trend strength using multiple timeframe correlation
calculateTrendStrength(shortPeriod, longPeriod) =>
shortMA = ta.sma(close, shortPeriod)
longMA = ta.sma(close, longPeriod)
separation = math.abs(shortMA - longMA) / longMA * 100
strength = separation * slopeAlignment
❓How It Works
🔶 Imbalance Zone Detection
Identifies Fair Value Gaps (FVGs) between consecutive candles where price gaps create unfilled areas. These zones are displayed as semi-transparent boxes with optional center line mitigation tracking, highlighting potential support and resistance levels where institutional players often react.
// Detect Fair Value Gaps
detectPriceImbalance() =>
currentHigh = high
currentLow = low
refHigh = high
refLow = low
if currentOpen > currentClose
if currentHigh - refLow < 0
upperBound = currentClose - (currentClose - refLow)
lowerBound = currentClose - (currentClose - currentHigh)
centerPoint = (upperBound + lowerBound) / 2
newZone = ImbalanceZone.new(
zoneBox = box.new(bar_index, upperBound, rightEdge, lowerBound,
bgcolor=bullishImbalanceColor, border_color=hiddenColor)
)
🔶 Structure Break Analysis
Determines Break of Structure (BOS) for trend continuation and Directional Change (DC) for trend reversals with advanced classification as "continuation", "reversal", or "neutral". The system compares pre-trend and post-trend states for each break, providing comprehensive trend change momentum analysis.
🔶 Intelligent Zone Management
Features partial mitigation tracking when price enters but doesn't fully fill zones, with automatic zone boundary adjustment during partial fills. Smart array management keeps only recent structure points for optimal performance while preventing duplicate signals from the same level.
🔶 Liquidity Zone Detection
Automatically identifies potential liquidity zones at key structure points for institutional trading analysis. The system tracks broken structure points and provides adaptive zone extension with configurable time-based limits for imbalance areas.
🔶 Visual Structure Mapping
Provides clear visual indicators including swing labels with color-coded significance levels, dashed lines connecting break points with BOS/DC labels, and break signals for continuation and reversal patterns. The adaptive zones feature smart management with automatic mitigation tracking.
🔶 Market Structure Interpretation
HH/HL patterns indicate bullish market structure with trend continuation likelihood, while LH/LL patterns signal bearish structure with downtrend continuation expected. BOS signals represent structure breaks in trend direction for continuation opportunities, while DC signals warn of potential reversals.
🔶 Performance Optimization
Automatic cleanup of old structure points (keeps last 8 points), recent break tracking (keeps last 5 break events), and efficient array management ensure smooth performance across all timeframes and market conditions.
Why Choose Ultimate Market Structure ?
This indicator provides traders with institutional-grade market structure analysis, combining multiple analytical approaches into one comprehensive tool. By identifying key structure levels, imbalance zones, and break patterns with advanced significance scoring, it helps traders understand market dynamics and position themselves for high-probability trade setups in alignment with smart money concepts. The sophisticated trend scoring system and intelligent zone management make it an essential tool for any serious trader looking to decode market structure with precision and confidence.
Candle close on high time frameOVERVIEW
This indicator plots persistent closing levels of higher time frame candles (H1, H4, and Daily) on the active intraday chart in real time. Unlike similar tools, it offers granular control over line projection length, fully independent toggles per timeframe, and a built-in mechanism that automatically limits the total number of historical levels to avoid chart clutter and performance issues.
CONCEPTS
Key levels from higher time frames often act as areas where price reacts or consolidates. By projecting each candle's exact closing price forward as a horizontal reference, traders can quickly identify dynamic support and resistance zones relevant to the current price action. This indicator enables seamless multi-timeframe analysis without the need to manually switch chart intervals or re-draw lines.
FEATURES
Independent Time Frame Selection: Enable or disable H1, H4, and Daily levels individually to tailor the analysis.
Custom Extension Length: Each timeframe's closing level can be projected forward for a user-defined number of bars.
Performance Optimization: The script maintains an internal limit (default: 100) on the number of active lines. When this threshold is exceeded, the oldest lines are removed automatically.
Visual Differentiation: Colors for each timeframe are fully customizable, enabling immediate recognition of level origin.
Immediate Update: New levels appear as soon as a higher timeframe candle closes, ensuring real-time reference.
USAGE
From the indicator inputs, select which timeframes you want to track.
Adjust the extension lengths to fit your trading style and time horizon.
Customize the line colors for clarity and personal preference.
Use these projected levels as part of your confluence criteria for entries, exits, or stop placement.
Combine with trend indicators or price action tools to enhance your multi-timeframe strategy.
ORIGINALITY AND ADDED VALUE
While similar scripts exist that plot higher timeframe levels, this implementation differs in:
Its efficient automatic cleanup of old lines to preserve chart performance.
The independent extension and color settings per timeframe.
Immediate reaction to new candle closes without repainting.
Simplicity of use combined with precise customization.
This combination makes it a practical and flexible tool for traders who rely on clear HTF level visualization without manual drawing or the limitations of built-in TradingView tools.
LICENSE
This script is published open-source under the Mozilla Public License 2.0.
Smart Range Zones [Dr. Hafiz]Smart Range Zones
Description:
This indicator highlights key market zones — High Range, Mid Range, and Low Range — to help traders visually understand dynamic support and resistance levels.
✅ High Range: Potential supply/resistance area
✅ Mid Range: Fair value or equilibrium zone
✅ Low Range: Potential demand/support area
The zones are calculated based on the highest and lowest price over a user-defined period (default: 130 bars) and dynamically projected forward.
🔸 EMA 15 Line is included as an optional trend filter — helping confirm direction or trend alignment.
🔧 Features:
Auto-calculated High/Mid/Low zones
Real-time dynamic projections
Right-aligned zone labels inside each box
Clean visual structure
Toggle for showing/hiding EMA 15
📌 Best suited for:
Intraday & swing traders
Range breakouts and rejections
Trend confirmation with EMA
Created and published by Dr. Hafiz, modified under the MPL 2.0 license.
OPR Asia-New-York [Elykia]This Pine Script indicator, called "OPR Asia-New-York ", displays time-based boxes corresponding to two specific trading periods known as OPR (Opening Price Range):
🎯 Purpose of the Indicator:
To visualize two key market time windows (morning and afternoon) as extended boxes, helping with technical analysis around opening ranges.
🕒 Two sessions displayed as boxes:
🔹 Morning OPR:
Default: from 09:00 to 09:15 (configurable)
The box extends until 10:30.
It captures the highest and lowest candle within this interval.
🔸 Afternoon OPR:
Default: from 15:30 to 15:45
The box extends until 17:30.
Follows the same logic as the morning session.
⚙️ Dashboard Options:
Enable or disable the morning or afternoon box individually
Select the timezone (e.g., GMT+2)
Customize all colors (morning/afternoon boxes, median line)
Set your own start/end/extension times for each session
📦 Each box includes:
A colored rectangle showing the price range (high/low)
A dotted median line between the high and low
The box and line extend until the end time defined
🧠 Usefulness for Traders:
Identify liquidity zones or consolidation areas
Trade setups like liquidity grabs, breakouts, or fakeouts around the OPR
Align with ICT methods or scalping strategies based on session behavior
Volatility-Adjusted Momentum Score (VAMS) [QuantAlgo]🟢 Overview
The Volatility-Adjusted Momentum Score (VAMS) measures price momentum relative to current volatility conditions, creating a normalized indicator that identifies significant directional moves while filtering out market noise. It divides annualized momentum by annualized volatility to produce scores that remain comparable across different market environments and asset classes.
The indicator displays a smoothed VAMS Z-Score line with adaptive standard deviation bands and an information table showing real-time metrics. This dual-purpose design enables traders and investors to identify strong trend continuation signals when momentum persistently exceeds normal levels, while also spotting potential mean reversion opportunities when readings reach statistical extremes.
🟢 How It Works
The indicator calculates annualized momentum using a simple moving average of logarithmic returns over a specified period, then measures annualized volatility through the standard deviation of those same returns over a longer timeframe. The raw VAMS score divides momentum by volatility, creating a risk-adjusted measure where high volatility reduces scores and low volatility amplifies them.
This raw VAMS value undergoes Z-Score normalization using rolling statistical parameters, converting absolute readings into standardized deviations that show how current conditions compare to recent history. The normalized Z-Score receives exponential moving average smoothing to create the final VAMS line, reducing false signals while preserving sensitivity to meaningful momentum changes.
The visualization includes dynamically calculated standard deviation bands that adjust to recent VAMS behavior, creating statistical reference zones. The information table provides real-time numerical values for VAMS Z-Score, underlying momentum percentages, and current volatility readings with trend indicators.
🟢 How to Use
1. VAMS Z-Score Bands and Signal Interpretation
Above Mean Line: Momentum exceeds historical averages adjusted for volatility, indicating bullish conditions suitable for trend following
Below Mean Line: Momentum falls below statistical norms, suggesting bearish conditions or downward pressure
Mean Line Crossovers: Primary transition signals between bullish and bearish momentum regimes
1 Standard Deviation Breaks: Strong momentum conditions indicating statistically significant directional moves worth following
2 Standard Deviation Extremes: Rare momentum readings that often signal either powerful breakouts or exhaustion points
2. Information Table and Market Context
Z-Score Values: Current VAMS reading displayed in standard deviations (σ), showing how far momentum deviates from its statistical norm
Momentum Percentage: Underlying annualized momentum displayed as percentage return, quantifying the directional strength
Volatility Context: Current annualized volatility levels help interpret whether VAMS readings occur in high or low volatility environments
Trend Indicators: Directional arrows and change values provide immediate feedback on momentum shifts and market transitions
3. Strategy Applications and Alert System
Trend Following: Use sustained readings beyond the mean line and 1σ band penetrations for directional trades, especially when VAMS maintains position in upper or lower statistical zones
Mean Reversion: Focus on 2σ extreme readings for contrarian opportunities, particularly effective in sideways markets where momentum tends to revert to statistical norms
Alert Notifications: Built-in alerts for mean crossovers (regime changes), 1σ breaks (strong signals), and 2σ touches (extreme conditions) help monitor multiple instruments for both continuation and reversal setups
Rolling Z-Score Trend [QuantAlgo]🟢 Overview
The Rolling Z-Score Trend measures how far the current price deviates from its rolling mean in terms of standard deviations. It transforms price data into standardized scores to identify overbought and oversold conditions while tracking momentum shifts.
The indicator displays a Z-Score line showing price deviation from statistical norms, with background momentum columns showing the rate of change in these deviations. This helps traders and investors identify mean reversion opportunities and momentum shifts across different asset classes and timeframes.
🟢 How It Works
The indicator uses the Z-Score formula: Z = (X - μ) / σ, where X is the current closing price, μ is the rolling mean, and σ is the rolling standard deviation over a user-defined lookback period. This creates a dynamic baseline that adapts to changing market conditions and standardizes price movements for interpretation across different assets and volatility conditions. The raw Z-Score undergoes 3-period EMA smoothing to reduce noise while maintaining responsiveness to market signals.
Beyond the basic Z-Score calculation, the indicator measures the rate of change in Z-Score values between successive bars, displayed as background momentum columns. This momentum component shows acceleration and deceleration of statistical deviations. All calculations are processed through confirmation filters, displaying signals only on confirmed bars to reduce premature signals based on incomplete price action.
🟢 How to Use
1. Z-Score Interpretation and Threshold Zones
Positive Values (Above Zero) : Price trading above statistical mean, suggesting bullish momentum or potential overbought conditions
Negative Values (Below Zero) : Price trading below statistical mean, suggesting bearish momentum or potential oversold conditions
Zero Line Crosses : Signal transitions between statistical regimes and potential trend changes
Upper Threshold Zone : Area above entry threshold (default 1.5) indicating potential overbought conditions
Lower Threshold Zone : Area below negative entry threshold (default -1.5) indicating potential oversold conditions
Extreme Values (±2.0 or higher) : Statistically significant deviations that may indicate reversal opportunities
2. Momentum Background Analysis and Info Table
Green Columns : Accelerating positive momentum in Z-Score values
Red Columns : Accelerating negative momentum in Z-Score values
Column Height : Magnitude of momentum change between bars
Momentum Divergence : When columns contradict primary Z-Score direction, often signals impending reversals
Info Table : Displays real-time numerical values for both Z-Score and momentum, including trend direction indicators and bar-to-bar change calculations for position management
3. Preconfigured Settings
Default : Balanced performance across multiple timeframes and asset classes for general trading and medium-term position management.
Scalping : Responsive setup for ultra-short-term trading on 1-15 minute charts with frequent signals and increased sensitivity to quick price movements.
Swing Trading : Optimized for multi-day positions with noise filtering, focusing on larger price swings. Most effective on 1-4 hour and daily timeframes.
Trend Following : Maximum smoothing that prioritizes established trends over short-term volatility. Generates fewer signals for daily and weekly charts.
Session Status Table📌 Session Status Table
Session Status Table is an indicator that displays the real-time status of the four major trading sessions:
* 🇯🇵 Asia (Tokyo)
* 🇬🇧 London
* 🇺🇸 New York AM
* 🇺🇸 New York PM
It shows which sessions are currently open, how much time remains until they open or close, and optionally sends alerts in advance.
🧩 Features:
* Real-time session table — shows the status of each session on the chart.
* Color-coded statuses:
* 🟢 Green – Session is open
* 🔴 Red – Session is closed
* ⚪ Gray – Weekend
* Countdown timers until session open or close.
* User alerts — receive a notification a custom number of minutes before a session starts.
⚙️ Customization:
* Table position — fully configurable.
* Session colors — customizable for open, closed, and weekend states.
* Session labels — customizable with icons.
* Notifications:
* Enabled through TradingView's Alerts panel.
* User-defined lead time before session opens.
🕒 Time Zones:
All times are calculated in UTC to ensure consistency across different markets and regions, avoiding discrepancies from time zones and daylight saving time.
🚨 How to enable alerts:
1. Open the "Alerts" panel in TradingView.
2. Click "Create Alert".
3. In the condition dropdown, choose "Session Status Table".
4. Set to any alert() trigger.
5. Save — you'll be notified a set number of minutes before each session begins.
ℹ️ Technical Notes:
* Built with Pine Script version 6.
* Logically divided into clear sections: inputs, session calculations, table rendering, and alerts.
* Optimized for performance and reliability on all timeframes.
Ideal for traders who use session activity in their strategies — especially in Forex, crypto, and futures markets.
Correlation MA – 15 Assets + Average (Optional)This indicator calculates the moving average of the correlation coefficient between your charted asset and up to 15 user-selected symbols. It helps identify uncorrelated or inversely correlated assets for diversification, pair trading, or hedging.
Features:
✅ Compare your current chart against up to 15 assets
✅ Toggle assets on/off individually
✅ Custom correlation and MA lengths
✅ Real-time average correlation line across enabled assets
✅ Horizontal lines at +1, 0, and -1 for easy visual reference
Ideal for:
Portfolio diversification analysis
Finding low-correlation stocks
Mean-reversion & pair trading setups
Crypto, equities, ETFs
To use: set the benchmark chart (e.g. TSLA), choose up to 15 assets, and adjust settings as needed. Look for assets with correlation near 0 or negative values for uncorrelated performance.
Arnaud Legoux Trend Aggregator | Lyro RSArnaud Legoux Trend Aggregator
Introduction
Arnaud Legoux Trend Aggregator is a custom-built trend analysis tool that blends classic market oscillators with advanced normalization, advanced math functions and Arnaud Legoux smoothing. Unlike conventional indicators, 𝓐𝓛𝓣𝓐 aggregates market momentum, volatility and trend strength.
Signal Insight
The 𝓐𝓛𝓣𝓐 line visually reflects the aggregated directional bias. A rise above the middle line threshold signals bullish strength, while a drop below the middle line indicates bearish momentum.
Another way to interpret the 𝓐𝓛𝓣𝓐 is through overbought and oversold conditions. When the 𝓐𝓛𝓣𝓐 rises above the +0.7 threshold, it suggests an overbought market and signals a strong uptrend. Conversely, a drop below the -0.7 level indicates an oversold condition and a strong downtrend.
When the oscillator hovers near the zero line, especially within the neutral ±0.3 band, it suggests that no single directional force is dominating—common during consolidation phases or pre-breakout compression.
Real-World Example
Usually 𝓐𝓛𝓣𝓐 is used by following the bar color for simple signals; however, like most indicators there are unique ways to use an indicator. Let’s dive deep into such ways.
The market begins with a green bar color, raising awareness for a potential long setup—but not a direct entry. In this methodology, bar coloring serves as an alert mechanism rather than a strict entry trigger.
The first long position was initiated when the 𝓐𝓛𝓣𝓐 signal line crossed above the +0.3 threshold, suggesting a shift in directional acceleration. This entry coincided with a rising price movement, validating the trade.
As price advanced, the position was exited into cash—not reversed into a short—because the short criteria for this use case are distinct. The exit was prompted by 𝓐𝓛𝓣𝓐 crossing back below the +0.3 level, signaling the potential weakening of the long trend.
Later, as 𝓐𝓛𝓣𝓐 crossed below 0, attention shifted toward short opportunities. A short entry was confirmed when 𝓐𝓛𝓣𝓐 dipped below -0.3, indicating growing downside momentum. The position was eventually closed when 𝓐𝓛𝓣𝓐 crossed back above the -0.3 boundary—signaling a possible deceleration of the bearish move.
This logic was consistently applied in subsequent setups, emphasizing the role of 𝓐𝓛𝓣𝓐’s thresholds in guiding both entries and exits.
Framework
The Arnaud Legoux Trend Aggregator (ALTA) combines multiple technical indicators into a single smoothed signal. It uses RSI, MACD, Bollinger Bands, Stochastic Momentum Index, and ATR.
Each indicator's output is normalized to a common scale to eliminate bias and ensure consistency. These normalized values are then transformed using a hyperbolic tangent function (Tanh).
The final score is refined with a custom Arnaud Legoux Moving Average (ALMA) function, which offers responsive smoothing that adapts quickly to price changes. This results in a clear signal that reacts efficiently to shifting market conditions.
⚠️ WARNING ⚠️: THIS INDICATOR, OR ANY OTHER WE (LYRO RS) PUBLISH, IS NOT FINANCIAL OR INVESTMENT ADVICE. EVERY INDICATOR SHOULD BE COMBINED WITH PRICE ACTION, FUNDAMENTALS, OTHER TECHNICAL ANALYSIS TOOLS & PROPER RISK. MANAGEMENT.
FVG Candle HighlighterThis indicator highlights only the true Fair Value Gap (FVG) creator candle — the middle candle in a 3-bar FVG formation — with zero clutter.
🔹 Bullish FVG: Candle is colored if price gaps above the high two bars back
🔹 Bearish FVG: Candle is colored if price gaps below the low two bars back
✨ No boxes. No zones. Just pure, visual price-action accuracy.
🔧 Powered by Pine Script v6
🧠 Based on institutional-style FVG logic
🎯 Ideal for Smart Money / ICT / Order Block strategies