Luxy VWAP Magic - MTF Projection EngineThis indicator transforms the classic VWAP into a comprehensive trading system. Instead of switching between multiple indicators, you get everything in one place: multi-timeframe analysis, statistical bands, momentum detection, volume profiling, session tracking, and divergence signals.
What Makes This Different
Traditional VWAP indicators show a single line. This tool treats VWAP as a foundation for complete market analysis. The indicator automatically detects your asset type (stocks, crypto, forex, futures) and adjusts its behavior accordingly. Crypto traders get 24/7 session tracking. Stock traders get proper market hours handling. Everyone gets institutional-grade analytics.
Anchor Period Options
The anchor period determines when VWAP resets and recalculates. You have three categories of options:
Time-Based Anchors:
Session - Resets at market open. Best for intraday stock trading where you want fresh VWAP each day.
Day - Resets at midnight UTC. Standard option for most traders.
Week / Month / Quarter / Year - Longer reset periods for swing traders and position traders who want broader context.
Rolling Window Anchors:
Rolling 5D - A sliding 5-day window that never resets. Solves the Monday problem where weekly VWAP equals daily VWAP on first day of week.
Rolling 21D - Approximately one month of trading data in continuous calculation. Excellent for crypto and forex markets that trade 24/7 without clear session breaks.
Event-Based Anchors:
Dividends - Resets on ex-dividend dates. Track institutional cost basis from dividend events.
Splits - Resets on stock split dates. Useful for analyzing post-split trading behavior.
Earnings - Resets on earnings report dates. See where volume-weighted trading occurred since last quarterly report.
Standard Deviation Bands
Three sets of bands surround the main VWAP line:
Band 1 (Aqua) - Plus and minus one standard deviation. Approximately 68% of price action occurs within this range under normal distribution. Touches suggest minor extension.
Band 2 (Fuchsia) - Plus and minus two standard deviations. Only 5% of trading should occur outside this range statistically. Touches here indicate significant overextension and high probability of mean reversion.
Band 3 (Purple) - Plus and minus three standard deviations. Touches are rare (0.3% probability) and represent extreme conditions. Often marks climax moves or panic selling/buying.
Each band can be toggled independently. Most traders show Band 1 by default and add Band 2 and 3 for specific setups or volatile instruments.
Multi-Timeframe VWAP System
The MTF section plots previous period VWAPs as horizontal support and resistance levels:
Daily VWAP - Previous day's final VWAP value. Key intraday reference level.
Weekly VWAP - Previous week's final VWAP. Important for swing traders.
Monthly VWAP - Previous month's final VWAP. Institutional benchmark level.
Quarterly VWAP - Previous quarter's final VWAP. Major support/resistance for position traders.
Previous Day VWAP - Yesterday's closing VWAP specifically, separate from current daily calculation.
The Confluence Zone percentage setting determines how close multiple VWAPs must be to trigger a confluence alert. When two or more timeframe VWAPs converge within this threshold, you get a high-probability support/resistance zone.
Session VWAPs for Global Markets
For forex, crypto, and futures traders who operate in 24/7 markets, the indicator tracks three major global sessions:
Asia Session - UTC 21:00 to 08:00. Gold colored line. Typically lower volatility, range-bound action that sets overnight levels.
London Session - UTC 08:00 to 17:00. Orange colored line. Often determines daily direction with high volume European participation.
New York Session - UTC 13:00 to 22:00. Blue colored line. Highest volume session globally. Sharp directional moves common.
Previous session VWAP values display as horizontal lines when each session closes, acting as intraday support and resistance. The table shows which sessions are currently active with checkmarks.
On-Chart Labels and Signals
The indicator plots several types of labels directly on price action when significant events occur:
Volume Spike Labels
Fire when current bar volume exceeds configurable thresholds relative to both the previous bar and the 20-bar average. Default settings require 300% of previous bar AND 200% of average volume. Green labels indicate bullish candles. Red labels indicate bearish candles. These spikes often mark institutional entry points.
Momentum Shift Labels
Appear when VWAP acceleration changes direction. The Slowing label warns when an active trend loses steam, often preceding reversal. The Accelerating label confirms trend continuation or potential bottom during downtrends. Filters available to show only reversal signals in existing trends.
VWAP Squeeze Labels
Detect when standard deviation bands contract relative to ATR (Average True Range). Low volatility compression often precedes explosive breakout moves. When the squeeze fires (releases), a label appears with directional prediction based on VWAP slope.
Divergence Labels
Mark price/volume divergences using CVD (Cumulative Volume Delta) analysis:
Bullish divergence: Price makes lower low, but CVD makes higher low. Hidden accumulation despite price weakness.
Bearish divergence: Price makes higher high, but CVD makes lower high. Hidden distribution despite price strength.
Dynamic VWAP Coloring
The main VWAP line changes color based on its slope direction:
Green - VWAP is rising. Institutional buying pressure. Volume-weighted price increasing.
Red - VWAP is falling. Institutional selling pressure. Volume-weighted price decreasing.
Gray - VWAP is flat. Consolidation or balance between buyers and sellers.
This coloring can be disabled for a static blue line if you prefer cleaner visuals. The VWAP label next to the line shows the current trend direction and delta percentage.
Calculated Projection Cone
One of the most powerful features is the Calculated Projection Cone. Unlike traditional extrapolation methods that simply extend a trend line forward, this system analyzes what actually happened in similar market conditions throughout the chart's history.
How It Works:
The system classifies each bar into one of 27 unique market states:
Z-Score Level - LOW (oversold), MID (fair value), or HIGH (overbought) based on configurable thresholds
Trend Direction - DOWN, FLAT, or UP based on VWAP slope
Volume Profile - LOW (below 80%), NORMAL (80-150%), or HIGH (above 150%) relative volume
When you look at the current bar, the indicator:
1. Identifies the current market state (e.g., LOW Z-Score + UP Trend + HIGH Volume)
2. Searches through all historical bars on the chart that had the same state
3. Calculates what happened in those bars X bars later (where X is your projection horizon)
4. Shows you the probability of up/down and the average move size
Visual Elements:
Probability Cone - Colored green (bullish probability above 55%), red (bearish below 45%), or gold (neutral). The cone width represents the historical range of outcomes (roughly the 20th to 80th percentile).
Center Line - Shows the average expected price based on historical outcomes in similar conditions.
Probability Label - Displays direction probability and average move. Example: "67% UP (+0.8%)" means 67% of similar past cases moved up, averaging 0.8% gain.
Fallback System:
When the exact 27-state match has insufficient historical data:
First fallback: Uses Z-Score plus Trend only (9 broader states, ignoring volume)
Second fallback: Uses Z-Score only (3 states)
When fallback is active, confidence automatically adjusts
Settings:
Projection Horizon - How many bars forward to analyze outcomes (5, 10, 15, or 20 bars, default 10)
Lookback Period - Historical data window in days (30-252, default 60)
Minimum Samples - Cases needed before using fallback (5-30, default 10)
Z-Score Threshold - Bucket boundary for LOW/MID/HIGH classification (1.0, 1.5, or 2.0 sigma)
Cloud Transparency - Adjust visibility (50-95%)
Colors - Customize bullish, bearish, and neutral cone colors
Confidence Levels:
HIGH - 30 or more similar historical cases found
MEDIUM - 15-29 similar cases
LOW - Fewer than 15 cases (more uncertainty)
IMPORTANT DISCLAIMER:
The Calculated Projection is based on past patterns only. It is NOT a price prediction or financial advice. Similar market states in the past do not guarantee similar outcomes in the future. The probability shown is historical frequency, not a guarantee. Always combine with other analysis and never rely solely on projections for trading decisions.
Alert Conditions
The indicator includes over 20 pre-built alert conditions:
Price vs VWAP:
Price crosses above VWAP
Price crosses below VWAP
Band Touches:
Price touches plus or minus one sigma band
Price touches plus or minus two sigma band (extreme)
Price touches plus or minus three sigma band (very extreme)
Z-Score Extremes:
Z-Score crosses above plus two (overbought extreme)
Z-Score crosses below minus two (oversold extreme)
Momentum and Trend:
Momentum slowing
Momentum accelerating
Trend turns bullish/bearish/neutral
Volume:
Volume spike detected
CVD Direction:
Buyers take control
Sellers take control
High Probability Signals:
Bullish reversal signal (oversold plus accelerating momentum)
Bearish reversal signal (overbought plus slowing momentum)
MTF and Special:
MTF confluence zone entry
VWAP squeeze fired
Bullish/Bearish divergence detected
Any significant signal (catch-all)
All signals use confirmed bar data to prevent false alerts from incomplete candles.
Settings Overview
Settings are organized into logical groups:
VWAP Settings
Anchor Period selection
Show/Hide VWAP line
Dynamic coloring toggle
VWAP label visibility
Bands Visibility
Toggle each of three bands independently
Info Table
Show/Hide table
Table position (9 options)
Text size
Volume spike label settings with adjustable thresholds
Momentum label settings with filters
Signal labels limited to 5 most recent (auto-managed)
Probability engine lookback period
Multi-Timeframe VWAP
Enable/Disable MTF system
Show MTF in table
Show MTF lines on chart
Individual timeframe toggles
Confluence zone threshold
Squeeze detection toggle
Session VWAPs
Enable/Disable session tracking
Apply to all assets option
Show session labels
Divergence Detection
Enable/Disable divergence
Pivot lookback period
Show divergence labels
Calculated Projection
Enable/Disable projection cone
Projection horizon (5, 10, 15, or 20 bars)
Lookback period in days (30-252)
Minimum samples threshold
Z-Score classification threshold (1.0, 1.5, or 2.0 sigma)
Cloud transparency adjustment
Bullish, bearish, and neutral colors
The Info Table - Your Trading Dashboard
The right side of your chart displays a compact table with up to twelve metrics.
Row-by-Row Breakdown:
Asset and Period - Shows what the indicator detected (US Stock, Crypto, Forex, etc.) and your selected anchor period. The detection happens automatically based on exchange data, so VWAP resets and calculations match your actual trading instrument.
Delta Percentage - How far current price sits from VWAP, expressed as a percentage. Positive means price trades above fair value. Negative means below. Large delta values (beyond 1-2%) often precede mean reversion moves. Day traders watch this for overextension.
Z-Score - Statistical deviation from VWAP measured in standard deviations. Unlike raw delta, Z-Score accounts for volatility. A 2% move in a volatile biotech stock differs from 2% in a stable utility. Z-Score normalizes this. Values beyond plus or minus two sigma occur only 5% of the time statistically.
Trend Direction - Whether VWAP itself is rising, falling, or flat. Rising VWAP means the volume-weighted average price is increasing, which indicates institutional accumulation. Falling VWAP suggests distribution. This differs from price trend since it weights by volume.
Momentum State - Is the trend accelerating or slowing down? This measures the rate of change in VWAP slope. When an uptrend shows slowing momentum, it often precedes reversal. Accelerating momentum in a downtrend can signal capitulation and potential bottom.
Relative Volume - Current bar volume compared to the 20-bar average, shown as percentage. Values above 150% indicate above-average activity. Spikes above 200-300% often mark institutional involvement. Low volume (below 80%) warns of potential fake moves.
MTF Bias - Four checkmarks or X marks showing whether price sits above or below Daily, Weekly, Monthly, and Quarterly VWAP. Four checkmarks means strong bullish alignment across all timeframes. Four X marks indicates bearish alignment. Mixed readings suggest consolidation or transition.
Band Probabilities - Historical statistics showing how often price touched each standard deviation band over your lookback period. This helps you understand if mean reversion or trend following works better for your specific instrument.
Session Status - Which global trading sessions are currently active (Asia, London, New York). Shows checkmarks for active sessions. Important for forex and crypto traders who need to know when major liquidity windows open and close.
Divergence State - Whether the indicator detects bullish or bearish divergence between price and cumulative volume delta. Bullish divergence occurs when price makes lower lows but buying pressure (CVD) makes higher lows, suggesting hidden accumulation.
Confidence Score - A weighted composite of all factors displayed as a progress bar and percentage. Combines MTF alignment, Z-Score, trend direction, volume delta, momentum, and relative volume into a single 0-100 score. Higher scores indicate stronger conviction setups.
Calculated Projection - When the Projection Cone is enabled, shows the historical probability of price direction and expected move. For example: "▲ 67% (+0.8%)" means in similar market states historically, price moved up 67% of the time with an average gain of 0.8%. The system analyzes 27 unique market states based on Z-Score, Trend, and Volume conditions.
Recommended Use Cases
Day Trading Stocks:
Use Session anchor with Band 1 visible. Watch for price returning to VWAP after morning move. Volume spikes near VWAP often mark institutional accumulation zones.
Swing Trading:
Use Weekly or Rolling 21D anchor. Enable MTF lines for Daily and Weekly levels. Trade pullbacks to these levels in direction of MTF bias.
Crypto and Forex:
Enable Session VWAPs. Use Rolling anchors to avoid artificial resets. Monitor session transitions for breakout opportunities.
Mean Reversion:
Focus on Z-Score reaching plus or minus two. Add Band 2 visibility. Combine with slowing momentum for highest probability reversals.
Trend Following:
Watch MTF bias alignment. Four checkmarks plus accelerating momentum plus high volume confirms trend continuation setups.
Projection Planning:
Enable the Calculated Projection to see what happened historically in similar market conditions. Use 5-10 bars for intraday setups, 15-20 bars for swing trade planning. Focus on high probability readings (above 60%) with HIGH confidence (30 or more samples). The cone shows the probable range of outcomes based on actual historical data. Combine with other factors like MTF alignment and volume for higher conviction setups.
Important Notes
The indicator does not repaint. MTF values use previous period's confirmed data.
Rolling VWAP works best on 15-minute timeframes and above due to bar lookback requirements.
Session VWAPs apply to global markets by default (forex, crypto, futures). Enable the all-assets option for stocks if desired.
Volume data for forex represents tick volume, not actual traded volume.
All alert conditions fire only on confirmed (closed) bars to prevent false signals.
The Calculated Projection updates each bar as market state changes. This is expected behavior. The projection shows probabilities based on similar past conditions, not a fixed prediction.
Q AND A
Q: Does this indicator repaint?
A: No. The main VWAP calculation uses standard TradingView VWAP methodology. Multi-timeframe values use previous period's confirmed data with appropriate lookahead settings. All alert signals require bar confirmation.
Q: Why does my Rolling VWAP look different on 1-minute versus 15-minute charts?
A: Rolling VWAP calculates across a fixed number of trading days. On very short timeframes, the bar lookback may hit TradingView limits. For best Rolling VWAP accuracy, use 15-minute or higher timeframes.
Q: Can I use this on any instrument?
A: Yes. The indicator automatically detects asset type and adjusts behavior. Stocks use standard market hours. Crypto uses 24/7 calculations. Forex uses tick volume. Everything adapts automatically.
Q: What does the Confidence Score actually measure?
A: The score combines six weighted factors: MTF alignment (25%), Z-Score position (20%), Trend direction (20%), CVD pressure (15%), Momentum state (10%), and Relative volume (10%). Higher scores indicate more factors aligned in one direction.
Q: Why are Session VWAPs not showing on my stock chart?
A: Session VWAPs apply to 24-hour markets by default (forex, crypto, futures). For stocks, enable the Use for All Assets option in Session VWAP settings.
Q: The Divergence labels appear delayed. Is this a bug?
A: Divergence detection requires pivot confirmation, which needs bars on both sides of the pivot point. The label appears at the actual pivot location (several bars back) once confirmed. This is intentional and prevents false signals.
Q: Can I change the band colors?
A: Yes. Each of the three bands has its own color input setting. You can customize Band 1, Band 2, and Band 3 colors to match your preferences. The defaults are Aqua, Fuchsia, and Purple. The main VWAP line color adapts dynamically based on slope direction or can be set to static blue.
Q: How do I set up alerts?
A: Right-click on the chart, select Add Alert, choose this indicator, and select your desired condition from the dropdown. All conditions include descriptive alert messages with relevant data.
Q: What is the Probability Engine lookback period?
A: This setting determines how many trading days the indicator analyzes to calculate band touch rates and mean reversion statistics. Default is 60 days (approximately 3 months). Longer periods provide more stable statistics but may miss recent behavior changes.
Q: Why do I see fewer labels than expected?
A: Signal labels (Volume, Momentum, Squeeze, Divergence) are limited to 5 most recent labels on the chart to keep it clean. When a new label appears, the oldest one is automatically removed. Additionally, momentum labels have several filters: check the slope multiplier setting (higher values require stronger trends) and the Only Reversal Signals option (when enabled, labels only appear for potential reversals, not trend confirmations).
Q: What is the Calculated Projection and how accurate is it?
A: The Calculated Projection analyzes what happened in past market conditions similar to the current state. It classifies each bar by Z-Score level, Trend direction, and Volume profile (27 unique states), then shows the historical probability of up vs down and the average move size. It is NOT a price prediction or guarantee. The probability shown is how often similar conditions led to up/down moves historically, not a future guarantee. Always use it as one input among many.
Q: Why does the Projection probability change?
A: The projection updates on each bar as market state changes. If Z-Score moves from LOW to MID, or trend shifts from UP to FLAT, the system looks up a different historical category. This is expected behavior. The projection shows what happened in similar past conditions to the current bar's state.
Q: The Projection shows LOW confidence. What does that mean?
A: Confidence levels indicate sample size: HIGH means 30 or more historical cases found, MEDIUM means 15-29 cases, LOW means fewer than 15 cases. When sample size is low, the system uses a fallback: first aggregating by Z-Score plus Trend only (ignoring volume), then by Z-Score only. LOW confidence means less statistical reliability, so weight other factors more heavily in your decision.
Q: Why does the cone sometimes show 50/50 probability?
A: A 50/50 reading means that in similar past market states, price moved up roughly half the time and down half the time. This indicates a neutral or balanced condition where historical patterns provide no directional edge. Consider waiting for a higher probability setup or using other analysis methods.
CREDITS AND ACKNOWLEDGMENTS
Methodology Foundation:
VWAP (Volume Weighted Average Price) - Standard institutional benchmark calculation, widely used since the 1980s for algorithmic execution and fair value assessment
Standard Deviation Bands - Statistical volatility measurement applying normal distribution principles to price deviation from mean
Z-Score Analysis - Classic statistical normalization technique for comparing values across different volatility regimes
Cumulative Volume Delta (CVD) - Order flow analysis concept measuring aggressive buying versus selling pressure
Concept Integration:
Mean reversion probability engine - Custom historical statistics tracking for band touch rates
Momentum acceleration detection - Second derivative analysis of VWAP slope changes
VWAP Squeeze - Volatility compression concept adapted from TTM Squeeze methodology applied to VWAP bands versus ATR
Confidence scoring system - Weighted composite scoring combining multiple technical factors
Calculated Projection Cone - Probability-based projection using 27-state market classification (Z-Score, Trend, Volume) with historical outcome analysis and weighted fallback system
All calculations use standard public domain formulas and TradingView built-in functions. No proprietary third-party code was used.
For questions, feedback, or feature requests, please comment below or send a private message.
Happy Trading!
Standarddeviations
Sigma Volatility BandsThis indicator models and displays bands of potential future price based on historic realized volatility.
This can be used for finding price target where there is no past price action.
The price bands are derived from Standard Deviations based on input bars back of historic volatility.
More Inputs:
Lookback = Number of bars considered
Forward Bars = Number of bars to project bands forward
There are two display modes:
Forward shifted envelopes = (see below) Draws bands of price from the Standard Deviation
Forward for Anchor Lines = Draws a wedge out number of bars forward
(Vibe coded. Message me for suggested updates and improvements)
TTW-Day/Session Separator🗓️ Day Separator – Highlight Markers start times and days for Your Chart
This script adds automatic vertical lines to visually separate each trading day on your chart. It helps you quickly identify where each day starts and ends — especially useful for intraday and scalping strategies.
✅ Features:
Distinct lines for each weekday, month, week, trading session
Optional day-of-week labels (toggle on/off)
Custom label position (top or bottom of the chart)
Works on any timeframe
Whether you're tracking market sessions or reviewing daily price action, this tool gives you a clean structure to navigate your charts with more clarity.
Vix_Fix Enhanced MTF [Cometreon]The VIX Fix Enhanced is designed to detect market bottoms and spikes in volatility, helping traders anticipate major reversals with precision. Unlike standard VIX Fix tools, this version allows you to control the standard deviation logic, switch between chart styles, customize visual outputs, and set up advanced alerts — all with no repainting.
🧠 Logic and Calculation
This indicator is based on Larry Williams' VIX Fix and integrates features derived from community requests/advice, such as inverse VIX logic.
It calculates volatility spikes using a customizable standard deviation of the lows and compares it to a moving high to identify potential reversal points.
All moving average logic is based on Cometreon's proprietary library, ensuring accurate and optimized calculations on all 15 moving average types.
🔷 New Features and Improvements
🟩 Custom Visual Styles
Choose how you want your VIX data displayed:
Line
Step Line
Histogram
Area
Column
You can also flip the orientation (bottom-up or top-down), change the source ticker, and tailor the display to match your charting preferences.
🟩 Multi-MA Standard Deviation Calculation
Customize the standard deviation formula by selecting from 15 different moving averages:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
WMA (Weighted Moving Average)
RMA (Smoothed Moving Average)
HMA (Hull Moving Average)
JMA (Jurik Moving Average)
DEMA (Double Exponential Moving Average)
TEMA (Triple Exponential Moving Average)
LSMA (Least Squares Moving Average)
VWMA (Volume-Weighted Moving Average)
SMMA (Smoothed Moving Average)
KAMA (Kaufman’s Adaptive Moving Average)
ALMA (Arnaud Legoux Moving Average)
FRAMA (Fractal Adaptive Moving Average)
VIDYA (Variable Index Dynamic Average)
This gives you fine control over how volatility is measured and allows tuning the sensitivity for different market conditions.
🟩 Full Control Over Percentile and Deviation Conditions
You can enable or disable lines for standard deviation and percentile conditions, and define whether you want to trigger on over or under levels — adapting the indicator to your exact logic and style.
🟩 Chart Type Selection
You're no longer limited to candlestick charts! Now you can use Vix_Fix with different chart formats, including:
Candlestick
Heikin Ashi
Renko
Kagi
Line Break
Point & Figure
🟩 Multi-Timeframe Compatibility Without Repainting
Use a different timeframe from your chart with confidence. Signals remain stable and do not repaint. Perfect for spotting long-term reversal setups on lower timeframes.
🟩 Alert System Ready
Configure alerts directly from the indicator’s panel when conditions for over/under signals are met. Stay informed without needing to monitor the chart constantly.
🔷 Technical Details and Customizable Inputs
This indicator includes full control over the logic and appearance:
1️⃣ Length Deviation High - Adjusts the lookback period used to calculate the high deviation level of the VIX logic. Shorter values make it more reactive; longer values smooth out the signal.
2️⃣ Ticker - Choose a different chart type for the calculation, including Heikin Ashi, Renko, Kagi, Line Break, and Point & Figure.
3️⃣ Style VIX - Change the visual style (Line, Histogram, Column, etc.), adjust line width, and optionally invert the display (bottom-to-top).
📌 Fill zones for deviation and percentile are active only in Line and Step Line modes
4️⃣ Use Standard Deviation Up / Down - Enable the overbought and oversold zone logic based on upper and lower standard deviation bands.
5️⃣ Different Type MA (for StdDev) - Choose from 15 different moving averages to define the calculation method for standard deviation (SMA, EMA, HMA, JMA, etc.), with dedicated parameters like Phase, Sigma, and Offset for optimized responsiveness.
6️⃣ BB Length & Multiplier - Adjust the period and multiplier for the standard deviation bands, similar to how Bollinger Bands work.
7️⃣ Show StdDev Up / Down Line - Enable or disable the visibility of upper and lower standard deviation boundaries.
8️⃣ Use Percentile & Length High - Activate the percentile-based logic to detect extreme values in historical volatility using a customizable lookback length.
9️⃣ Highest % / Lowest % - Set the high and low percentile thresholds (e.g., 85 for high, 99 for low) that will be used to trigger over/under signals.
🔟 Show High / Low Percentile Line - Toggle the visual display of the percentile boundaries directly on the chart for clearer signal reference.
1️⃣1️⃣ Ticker Settings – Customize parameters for special chart types such as Renko, Heikin Ashi, Kagi, Line Break, and Point & Figure, adjusting reversal, number of lines, ATR length, etc.
1️⃣2️⃣ Timeframe – Enables using SuperTrend on a higher timeframe.
1️⃣3️⃣ Wait for Timeframe Closes -
✅ Enabled – Displays Vix_Fix smoothly with interruptions.
❌ Disabled – Displays Vix_Fix smoothly without interruptions.
☄️ If you find this indicator useful, leave a Boost to support its development!
Every feedback helps to continuously improve the tool, offering an even more effective trading experience. Share your thoughts in the comments! 🚀🔥
Uptrick: Dynamic Z-Score DeviationOverview
Uptrick: Dynamic Z‑Score Deviation is a trading indicator built in Pine Script that combines statistical filters and adaptive smoothing to highlight potential reversal points in price action. It combines a hybrid moving average, dual Z‑Score analysis on both price and RSI, and visual enhancements like slope‑based coloring, ATR‑based shadow bands, and dynamically scaled reversal signals.
Introduction
Statistical indicators like Z‑Scores measure how far a value deviates from its average relative to the typical variation (standard deviation). Standard deviation quantifies how dispersed a set of values is around its mean. A Z‑Score of +2 indicates a value two standard deviations above the mean, while -2 is two below. Traders use Z‑Scores to spot unusually high or low readings that may signal overbought or oversold conditions.
Moving averages smooth out price data to reveal trends. The Arnaud Legoux Moving Average (ALMA) reduces lag and noise through weighted averaging. A Zero‑Lag EMA (approximated here using a time‑shifted EMA) seeks to further minimize delay in following price. The RSI (Relative Strength Index) is a momentum oscillator that measures recent gains against losses over a set period.
ATR (Average True Range) gauges market volatility by averaging the range between high and low over a lookback period. Shadow bands built using ATR give a visual mood of volatility around a central trend line. Together, these tools inform a dynamic but statistically grounded view of market extremes.
Purpose
The main goal of this indicator is to help traders spot short‑term reversal opportunities on lower timeframes. By requiring both price and momentum (RSI) to exhibit statistically significant deviations from their norms, it filters out weak setups and focuses on higher‑probability mean‑reversion zones. Reversal signals appear when price deviates far enough from its hybrid moving average and RSI deviates similarly in the same direction. This makes it suitable for discretionary traders seeking clean entry cues in volatile environments.
Originality and Uniqueness
Uptrick: Dynamic Z‑Score Deviation distinguishes itself from standard reversal or mean‑reversion tools by combining several elements into a single framework:
A composite moving average (ALMA + Zero‑Lag EMA) for a smooth yet responsive baseline
Dual Z‑Score filters on price and RSI rather than relying on a single measure
Adaptive visual elements, including slope‑aware coloring, multi‑layer ATR shadows, and signal sizing based on combined Z‑Score magnitude
Most indicators focus on one aspect—price envelopes or RSI thresholds—whereas Uptrick: Dynamic Z‑Score Deviation requires both layers to align before signaling. Its visual design aids quick interpretation without overwhelming the chart.
Why these indicators were merged
Every component in Uptrick: Dynamic Z‑Score Deviation has a purpose:
• ALMA: provides a smooth moving average with reduced lag and fewer false crossovers than a simple SMA or EMA.
• Zero‑Lag EMA (ZLMA approximation): further reduces the delay relative to price by applying a time shift to EMA inputs. This keeps the composite MA closer to current price action.
• RSI and its EMA filter: RSI measures momentum. Applying an EMA filter on RSI smooths out false spikes and confirms genuine overbought or oversold momentum.
• Dual Z‑Scores: computing Z‑Scores on both the distance between price and the composite MA, and on smoothed RSI, ensures that signals only fire when both price and momentum are unusually stretched.
• ATR bands: using ATR‑based shadow layers visualizes volatility around the MA, guiding traders on potential support and resistance zones.
At the end, these pieces merge into a single indicator that detects statistically significant mean reversions while staying adaptive to real‑time volatility and momentum.
Calculations
1. Compute ALMA over the chosen MA length, offset, and sigma.
2. Approximate ZLMA by applying EMA to twice the price minus the price shifted by the MA length.
3. Calculate the composite moving average as the average of ALMA and ZLMA.
4. Compute raw RSI and smooth it with ALMA. Apply an EMA filter to raw RSI to reduce noise.
5. For both price and smoothed RSI, calculate the mean and standard deviation over the Z‑Score lookback period.
6. Compute Z‑Scores:
• z_price = (current price − composite MA mean) / standard deviation of price deviations
• z_rsi = (smoothed RSI − mean RSI) / standard deviation of RSI
7. Determine reversal conditions: both Z‑Scores exceed their thresholds in the same direction, RSI EMA is in oversold/overbought zones (below 40 or above 60), and price movement confirms directionality.
8. Compute signal strength as the sum of the absolute Z‑Scores, then classify into weak, medium, or strong.
9. Calculate ATR over the chosen period and multiply by layer multipliers to form shadow widths.
10.Derive slope over the chosen slope length and color the MA line and bars based on direction, optionally smoothing color transitions via EMA on RGB channels.
How this indicator actually works
1. The script begins by smoothing price data with ALMA and approximating a zero‑lag EMA, then averaging them for the main MA.
2. RSI is calculated, then smoothed and filtered.
3. Using a rolling window, the script computes statistical measures for both price deviations and RSI.
4. Z‑Scores tell how far current values lie from their recent norms.
5. When both Z‑Scores cross configured thresholds and momentum conditions align, reversal signals are flagged.
6. Signals are drawn with size and color reflecting strength.
7. The MA is plotted with dynamic coloring; ATR shadows are layered beneath to show volatility envelopes.
8. Bars can be colored to match MA slope, reinforcing trend context.
9. Alert conditions allow automated notifications when signals occur.
Inputs
Main Length: Main MA Length. Sets the period for ALMA and ZLMA.
RSI Length: RSI Length. Determines the lookback for momentum calculations.
Z-Score Lookback: Z‑Score Lookback. Window for mean and standard deviation computations.
Price Z-Score Threshold: Price Z‑Score Threshold. Minimum deviation required for price.
RSI Z-Score threshold: RSI Z‑Score Threshold. Minimum deviation required for momentum.
RSI EMA Filter Length: RSI EMA Filter Length. Smooths raw RSI readings.
ALMA Offset: Controls ALMA’s focal point in the window.
ALMA Sigma: Adjusts ALMA’s smoothing strength.
Show Reversal Signals : Toggle to display reversal signal markers.
Slope Sensitivity: Length for slope calculation. Higher values smooth slope changes.
Use Bar Coloring: Enables coloring of price bars based on MA slope.
Show MA Shadow: Toggle for ATR‑based shadow bands.
Shadow Layer Count: Number of shadow layers (1–4).
Base Shadow ATR Multiplier: Multiplier for ATR when sizing the first band.
Smooth Color Transitions (boolean): Smooths RGB transitions for line and shadows, if enabled.
ATR Length for Shadow: ATR Period for computing volatility bands.
Use Dynamic Signal Size: Toggles dynamic scaling of reversal symbols.
Features
Moving average smoothing: a hybrid of ALMA and Zero‑Lag EMA that balances responsiveness and noise reduction.
Slope coloring: MA line and optionally price bars change color based on trend direction; color transitions can be smoothed for visual continuity.
ATR shadow layers: translucent bands around the MA show volatility envelopes; up to four concentric layers help gauge distance from normal price swings.
Dual Z‑Score filters: price and momentum must both deviate beyond thresholds to trigger signals, reducing false positives.
Dynamic signal sizing: reversal markers scale in size based on the combined Z‑Score magnitude, making stronger signals more prominent.
Adaptive visuals: optional smoothing of color channels creates gradient effects on lines and fills for a polished look.
Alert conditions: built‑in buy and sell alerts notify traders when reversal setups emerge.
Conclusion
Uptrick: Dynamic Z‑Score Deviation delivers a structured way to identify short‑term reversal opportunities by fusing statistical rigor with adaptive smoothing and clear visual cues. It guides traders through multiple confirmation layers—hybrid moving average, dual Z‑Score analysis, momentum filtering, and volatility envelopes—while keeping the chart clean and informative.
Disclaimer
This indicator is provided for informational and educational purposes only and does not constitute financial advice. Trading carries risk and may not be suitable for all participants. Past performance is not indicative of future results. Always do your own analysis and risk management before making trading decisions.
RawCuts_01Library "RawCuts_01"
A collection of functions by:
mutantdog
The majority of these are used within published projects, some useful variants have been included here aswell.
This is volume one consisting mainly of smaller functions, predominantly the filters and standard deviations from Weight Gain 4000.
Also included at the bottom are various snippets of related code for demonstration. These can be copied and adjusted according to your needs.
A full up-to-date table of contents is located at the top of the main script.
WEIGHT GAIN FILTERS
A collection of moving average type filters with adjustable volume weighting.
Based upon the two most common methods of volume weighting.
'Simple' uses the standard method in which a basic VWMA is analogous to SMA.
'Elastic' uses exponential method found in EVWMA which is analogous to RMA.
Volume weighting is applied according to an exponent multiplier of input volume.
0 >> volume^0 (unweighted), 1 >> volume^1 (fully weighted), use float values for intermediate weighting.
Additional volume filter switch for smoothing of outlier events.
DIVA MODULAR DEVIATIONS
A small collection of standard and absolute deviations.
Includes the weightgain functionality as above.
Basic modular functionality for more creative uses.
Optional input (ct) for external central tendency (aka: estimator).
Can be assigned to alternative filter or any float value. Will default to internal filter when no ct input is received.
Some other useful or related functions included at the bottom along with basic demonstration use.
weightgain_sma(src, len, xVol, fVol)
Simple Moving Average (SMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Standard Simple Moving Average with Simple Weight Gain applied.
weightgain_hsma(src, len, xVol, fVol)
Harmonic Simple Moving Average (hSMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Harmonic Simple Moving Average with Simple Weight Gain applied.
weightgain_gsma(src, len, xVol, fVol)
Geometric Simple Moving Average (gSMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Geometric Simple Moving Average with Simple Weight Gain applied.
weightgain_wma(src, len, xVol, fVol)
Linear Weighted Moving Average (WMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Basic Linear Weighted Moving Average with Simple Weight Gain applied.
weightgain_hma(src, len, xVol, fVol)
Hull Moving Average (HMA): Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Basic Hull Moving Average with Simple Weight Gain applied.
diva_sd_sma(src, len, xVol, fVol, ct)
Standard Deviation (SD SMA): Diva / Weight Gain (Simple Volume)
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_sma().
Returns:
diva_sd_wma(src, len, xVol, fVol, ct)
Standard Deviation (SD WMA): Diva / Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_wma().
Returns:
diva_aad_sma(src, len, xVol, fVol, ct)
Average Absolute Deviation (AAD SMA): Diva / Weight Gain (Simple Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_sma().
Returns:
diva_aad_wma(src, len, xVol, fVol, ct)
Average Absolute Deviation (AAD WMA): Diva / Weight Gain (Simple Volume) .
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_wma().
Returns:
weightgain_ema(src, len, xVol, fVol)
Exponential Moving Average (EMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Exponential Moving Average with Elastic Weight Gain applied.
weightgain_dema(src, len, xVol, fVol)
Double Exponential Moving Average (DEMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Double Exponential Moving Average with Elastic Weight Gain applied.
weightgain_tema(src, len, xVol, fVol)
Triple Exponential Moving Average (TEMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Triple Exponential Moving Average with Elastic Weight Gain applied.
weightgain_rma(src, len, xVol, fVol)
Rolling Moving Average (RMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Rolling Moving Average with Elastic Weight Gain applied.
weightgain_drma(src, len, xVol, fVol)
Double Rolling Moving Average (DRMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Double Rolling Moving Average with Elastic Weight Gain applied.
weightgain_trma(src, len, xVol, fVol)
Triple Rolling Moving Average (TRMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: Triple Rolling Moving Average with Elastic Weight Gain applied.
diva_sd_ema(src, len, xVol, fVol, ct)
Standard Deviation (SD EMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_ema().
Returns:
diva_sd_rma(src, len, xVol, fVol, ct)
Standard Deviation (SD RMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_rma().
Returns:
weightgain_vidya_rma(src, len, xVol, fVol)
VIDYA v1 RMA base (VIDYA-RMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: VIDYA v1, RMA base with Elastic Weight Gain applied.
weightgain_vidya_ema(src, len, xVol, fVol)
VIDYA v1 EMA base (VIDYA-EMA): Weight Gain (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
Returns: VIDYA v1, EMA base with Elastic Weight Gain applied.
diva_sd_vidya_rma(src, len, xVol, fVol, ct)
Standard Deviation (SD VIDYA-RMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_vidya_rma().
Returns:
diva_sd_vidya_ema(src, len, xVol, fVol, ct)
Standard Deviation (SD VIDYA-EMA): Diva / Weight Gain: (Elastic Volume).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
xVol (float) : Volume exponent multiplier (0 = unweighted, 1 = fully weighted).
fVol (bool) : Volume smoothing filter.
ct (float) : Central tendency (optional, na = bypass). Internal: weightgain_vidya_ema().
Returns:
weightgain_sema(src, len, xVol, fVol)
Parameters:
src (float)
len (simple int)
xVol (float)
fVol (bool)
diva_sd_sema(src, len, xVol, fVol)
Parameters:
src (float)
len (simple int)
xVol (float)
fVol (bool)
diva_mad_mm(src, len, ct)
Median Absolute Deviation (MAD MM): Diva (no volume weighting).
Parameters:
src (float) : Source input.
len (int) : Length (number of bars).
ct (float) : Central tendency (optional, na = bypass). Internal: ta.median()
Returns:
source_switch(slct, aux1, aux2, aux3, aux4)
Custom Source Selector/Switch function. Features standard & custom 'weighted' sources with additional aux inputs.
Parameters:
slct (string) : Choose from custom set of string values.
aux1 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux2 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux3 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
aux4 (float) : Additional input for user-defined source, eg: standard input.source(). Optional, use na to bypass.
Returns: Float value, to be used as src input for other functions.
colour_gradient_ma_div(ma1, ma2, div, bull, bear, mid, mult)
Colour Gradient for plot fill between two moving averages etc, with seperate bull/bear and divergence strength.
Parameters:
ma1 (float) : Input for fast moving average (eg: bullish when above ma2).
ma2 (float) : Input for slow moving average (eg: bullish when below ma1).
div (float) : Input deviation/divergence value used to calculate strength of colour.
bull (color) : Colour when ma1 above ma2.
bear (color) : Colour when ma1 below ma2.
mid (color) : Neutral colour when ma1 = ma2.
mult (int) : Opacity multiplier. 100 = maximum, 0 = transparent.
Returns: Colour with transparency (according to specified inputs)
Buy Sell Strategy With Z-Score [TradeDots]The "Buy Sell Strategy With Z-Score" is a trading strategy that harnesses Z-Score statistical metrics to identify potential pricing reversals, for opportunistic buying and selling opportunities.
HOW DOES IT WORK
The strategy operates by calculating the Z-Score of the closing price for each candlestick. This allows us to evaluate how significantly the current price deviates from its typical volatility level.
The strategy first takes the scope of a rolling window, adjusted to the user's preference. This window is used to compute both the standard deviation and mean value. With these values, the strategic model finalizes the Z-Score. This determination is accomplished by subtracting the mean from the closing price and dividing the resulting value by the standard deviation.
This approach provides an estimation of the price's departure from its traditional trajectory, thereby identifying market conditions conducive to an asset being overpriced or underpriced.
APPLICATION
Firstly, it is better to identify a stable trading pair for this technique, such as two stocks with considerable correlation. This is to ensure conformance with the statistical model's assumption of a normal Gaussian distribution model. The ideal performance is theoretically situated within a sideways market devoid of skewness.
Following pair selection, the user should refine the span of the rolling window. A broader window smoothens the mean, more accurately capturing long-term market trends, while potentially enhancing volatility. This refinement results in fewer, yet precise trading signals.
Finally, the user must settle on an optimal Z-Score threshold, which essentially dictates the timing for buy/sell actions when the Z-Score exceeds with thresholds. A positive threshold signifies the price veering away from its mean, triggering a sell signal. Conversely, a negative threshold denotes the price falling below its mean, illustrating an underpriced condition that prompts a buy signal.
Within a normal distribution, a Z-Score of 1 records about 68% of occurrences centered at the mean, while a Z-Score of 2 captures approximately 95% of occurrences.
The 'cool down period' is essentially the number of bars that await before the next signal generation. This feature is employed to dodge the occurrence of multiple signals in a short period.
DEFAULT SETUP
The following is the default setup on EURUSD 1h timeframe
Rolling Window: 80
Z-Score Threshold: 2.8
Signal Cool Down Period: 5
Commission: 0.03%
Initial Capital: $10,000
Equity per Trade: 30%
RISK DISCLAIMER
Trading entails substantial risk, and most day traders incur losses. All content, tools, scripts, articles, and education provided by TradeDots serve purely informational and educational purposes. Past performances are not definitive predictors of future results.
Rolling VWAP [QuantraSystems]Rolling VWAP
Introduction
The Rolling VWAP (R͜͡oll-VWAP) indicator modernizes the traditional VWAP by recalculating continuously on a rolling window, making it adept at pinpointing market trends and breakout points.
Its dual functionality includes both the dynamic rolling VWAP and a customizable anchored VWAP, enhanced by color-coded visual cues, thereby offering traders valuable flexibility and insight for their market analysis.
Legend
In the Image you can see the BTCUSD 1D Chart with the R͜͡oll-VWAP overlay.
You can see the individually activatable Standard Deviation (SD) Bands and the main VWAP Line.
It also features a Trend Signal which is deactivated by default and can be enabled if required.
Furthermore you can find the coloring of the VWAP line to represent the Trend.
In this case the trend itself is defined as:
Close being greater than the VWAP line -> Uptrend
Close below the VWAP line -> Downtrend
Notes
The R͜͡oll-VWAP can be used in a variety of ways.
Volatility adjusted expected range
This aims to identify in which range the asset is likely to move - according to the historical values the SD Bands are calculated and thus their according probabilities displayed.
Trend analysis
Trending above or below the VWAP shows up or down trends accordingly.
S/R Levels
Based on the probability distribution the 2. SD often works as a Resistance level and either mid line or 1. SD lines can act as S/R levels
Unsustainable levels
Based on the probability distributions a SD level of beyond 2.5, especially 3 and higher is hit very seldom and highly unsustainable.
This can either mean a mean reversion state or a momentum slowdown is necessary to get back to a sustainable level.
Please note that we always advise to find more confluence by additional indicators.
Traders are encouraged to test and determine the most suitable settings for their specific trading strategies and timeframes.
Methodology
The R͜͡oll-VWAP is based on the inbuilt TV VWAP.
It expands upon the limitations of having an anchored timeframe and thus a limited data set that is being reset constantly.
Instead we have integrated a rolling nature that continuously calculates the VWAP over a customizable lookback.
To also keep the base utility it is possible to use the anchored timeframes as well.
Furthermore the visualization has been improved and we added the coloring of the main VWAP line according to the Trend as stated above.
The applicable Trend signals are also part of that.
The parameter settings and also the visualizations allow for ample customizations by the trader.
For questions or recommendations, please feel free to seek contact in the comments.







