Leslie's EMA Ribbon: 5/9/21 + VWAPEMA + VWAP Crossover Indicator with Alerts
This script blends three Exponential Moving Averages (5, 9, 21) with VWAP to identify momentum shifts and volume-confirmed trend signals. It’s optimized for the Daily timeframe, but also adaptable to shorter-term trading.
🔍 Why this combination?
EMAs provide fast and reliable trend signals:
- 5/9 EMA crossover → short-term shifts (more frequent)
- 9/21 EMA crossover → swing confirmation (less noise)
- VWAP adds volume context used by institutions for fair value tracking.
- 9EMA crossing VWAP confirms price action supported by volume.
Together, these tools offer a multi-layered view of market momentum — combining speed, confirmation, and conviction.
⚙️ Features:
Clean plots with dynamic labels on latest bar
Adjustable line weights for clarity
Alerts included for all crossovers:
- 5EMA / 9EMA
- 9EMA / 21EMA
- 9EMA / VWAP
✅ How to Use:
- Best on the Daily timeframe
- Use 5/9 as early signals, 9/21 for trend filtering, and 9/VWAP for volume-backed setups
- Turn on alerts to stay informed of key shifts without staring at charts
Cari dalam skrip untuk "港股央企红利etf"
VWAP & Breakout Volume ConfirmHow the TradingView Indicator Works (Explained Simply)
VWAP Line (Orange)
It plots the Volume Weighted Average Price for the day.
Price above VWAP = bullish zone
Price below VWAP = bearish zone
Volume Spike Detection (Red Triangle)
It calculates the average volume over the last 20 candles.
If the current volume is 1.5× that average, it plots a red triangle under the candle.
Helps confirm if a move has real momentum or not.
Breakout Confirmation (Green Label ‘BO’)
Checks if price breaks above the last 10-bar high (for upside breakout) or below the last 10-bar low (for downside breakout).
If a breakout happens and the volume spike is present, it plots a green “BO” label above the candle.
This tells you the breakout is strong and likely to follow through.
Hull-Exponential Moving Average (HEMA)The Hull Exponential Moving Average (HEMA) is an experimental technical indicator that uses a sequence of Exponential Moving Averages (EMAs) with the same logic as HMA - except with EMAs and not WMAs. It aims to create a responsive yet smooth trend indicator than HMA.
HEMA applies a multi-stage EMA process. Initial EMAs are calculated using alphas derived from logarithmic relationships and the input period. Their outputs are then combined in a de-lagging step, which itself uses a logarithmically derived ratio. A final EMA smoothing pass is then applied to this de-lagged series. This creates a moving average that responds quickly to genuine price changes while maintaining effective noise filtering. The specific alpha calculations and the de-lagging formula contribute to its balance between responsiveness and smoothness.
▶️ **Core Concepts**
Logarithmically-derived alphas: Alpha values for the three EMA stages are derived using natural logarithms and specific formulas related to the input period **N**.
Three-stage EMA process: The calculation involves:
An initial EMA (using **αS**) on the source data.
A second EMA (using **αF**) also on the source data.
A de-lagging step that combines the outputs of the first two EMAs using a specific ratio **r**.
A final EMA (using **αFin**) applied to the de-lagged series.
Specific de-lagging formula: Utilizes a constant ratio **r = ln(2.0) / (1.0 + ln(2.0))** to combine the outputs of the first two EMAs, aiming to reduce lag.
Optimized final smoothing: The alpha for the final EMA (**αFin**) is calculated based on the square root of the period **N**.
Warmup compensation: The internal EMA calculations include a warmup mechanism to provide more accurate values from the initial bars. This involves tracking decay factors (**eS**, **eF**, **eFin**) and applying a compensation factor **1.0 / (1.0 - e_decay)** during the warmup period. A shared warmup duration is determined by the smallest alpha among the three stages.
HEMA achieves its characteristics through this multi-stage EMA process, where the specific alpha calculations and the de-lagging step are key to its responsiveness and smoothness.
▶️ **Common Settings and Parameters**
Period (**N**): Default: 10 | Base lookback period for all alpha calculations | When to Adjust: Increase for longer-term trends and more smoothness, decrease for shorter-term signals and more responsiveness
Source: Default: Close | Data point used for calculation | When to Adjust: Change to HL2, HLC3, or OHLC4 for different price representations
Pro Tip: The HEMA's behavior is sensitive to the **Period** setting due to the non-linear relationships in its alpha calculations. Experiment with values around your typical MA periods. Small changes in **N** can have a noticeable impact, especially for smaller **N** values.
▶️ **Calculation and Mathematical Foundation**
Simplified explanation:
HEMA calculates its value through a sequence of three Exponential Moving Averages (EMAs) with specially derived smoothing factors (alphas).
Two initial EMAs are calculated from the source price, using alphas **αS** and **αF**.
The outputs of these two EMAs are combined into a "de-lagged" series.
This de-lagged series is then smoothed by a third EMA, using alpha **αFin**, to produce the final HEMA value.
All internal EMAs use a warmup compensation mechanism for improved accuracy on early bars.
Technical formula (let **N** be the input period):
1. Alpha for the first EMA (slow component related):
αS = 3.0 / (2.0 * N - 1.0)
2. Lambda for **αS** (intermediate value):
λS = -ln(1.0 - αS)
Note: **αS** must be less than 1, which implies 2N-1 > 3 or N > 2 for **λS** to be well-defined without NaN from ln of non-positive number. The code uses nz() for robustness but the formula implies this constraint.
3. De-lagging ratio **r**:
r = ln(2.0) / (1.0 + ln(2.0))
(This is a constant, approximately 0.409365)
4. Alpha for the second EMA (fast component related):
αF = 1.0 - exp(-λS / r)
5. Alpha for the final EMA smoothing:
αFin = 2.0 / (sqrt(N) / 2.0 + 1.0)
6. Applying the stages:
**OutputS = EMA_internal(source, αS, eS_state, emaS_state)**
**OutputF = EMA_internal(source, αF, eF_state, emaF_state)**
8. Calculate the de-lagged series:
DeLag = (OutputF / (1.0 - r)) - (r * OutputS / (1.0 - r))
9. Calculate the final HEMA:
HEMA = EMA_internal(DeLag, αFin, eFin_state, emaFin_state)
🔍 Technical Note: The HEMA implementation uses a shared warmup period controlled by **aMin** (the minimum of **αS**, **αF**, **αFin**). During this period, each internal EMA stage still tracks its own decay factor (**eS**, **eF**, **eFin**) to apply the correct compensation. The **nz()** function is used in the code to handle potential NaN values from alpha calculations if **N** is very small (e.g., **N=1** would make **αS=3**, **1-αS = -2**, **ln(-2)** is NaN).
▶️ **Interpretation Details**
HEMA provides several key insights for traders:
When price crosses above HEMA, it often signals the beginning of an uptrend
When price crosses below HEMA, it often signals the beginning of a downtrend
The slope of HEMA provides insight into trend strength and momentum
HEMA creates smooth dynamic support and resistance levels during trends
Multiple HEMA lines with different periods can identify potential reversal zones
HEMA is particularly effective for trend following strategies where both responsiveness and noise reduction are important. It provides earlier signals than traditional EMAs while exhibiting less whipsaw than standard HMA in choppy market conditions. The indicator excels at identifying the underlying trend direction while filtering out minor price fluctuations.
▶️ **Limitations and Considerations**
Experimental nature: As an experimental indicator, HEMA may behave differently from established HMA in certain market conditions
Lag characteristics: While designed to reduce lag, HEMA may exhibit slightly more lag than HMA in some scenarios due to the long tail of EMA
Mathematical complexity: The multi-stage calculation with specialized alpha parameters makes the behavior less intuitive to understand
Parameter sensitivity: Performance can vary significantly with different period settings
Complementary tools: Works best when combined with volume analysis or momentum indicators for confirmation
▶️ **References**
Hull, A. (2005). "Hull Moving Average," Technical Analysis of Stocks & Commodities .
RetryClaude can make mistakes. Please double-check responses.
RSI Divergences (Regular, Hidden, Exaggerated)RSI Divergences (Regular, Hidden, Exaggerated)
This indicator detects and visually highlights all major types of RSI divergences on your chart: Regular, Hidden, and Exaggerated divergences, both bullish and bearish.
Key Features:
Calculates RSI based on a user-defined length and timeframe that automatically matches your chart's timeframe.
Identifies pivot highs and lows on both price and RSI using customizable pivot left/right bars.
Detects divergences when RSI and price movements disagree, signaling potential trend reversals or continuation.
Differentiates between three types of divergences:
Regular Divergence: Classic signal for possible trend reversal.
Hidden Divergence: Often indicates trend continuation.
Exaggerated Divergence: A less common form signaling momentum changes.
Draws clear colored lines and labels on the RSI pane for each divergence, using green for bullish and red for bearish signals.
Includes RSI overbought (70) and oversold (30) bands with gradient fills to help visualize RSI zones.
Efficient use of arrays to track pivots and manage plotting history for smooth performance.
Usage:
Ideal for traders looking to leverage RSI divergences for better timing entries and exits in trending and range-bound markets. The script is fully customizable and works seamlessly across different timeframes
Quadruple EMA (QEMA)The Quadruple Exponential Moving Average (QEMA) is an advanced technical indicator that extends the concept of lag reduction beyond TEMA (Triple Exponential Moving Average) to a fourth order. By applying a sophisticated four-stage EMA cascade with optimized coefficient distribution, QEMA provides the ultimate evolution in EMA-based lag reduction techniques.
Unlike traditional compund moving averages like DEMA and TEMA, QEMA implements a progressive smoothing system that strategically distributes alphas across four EMA stages and combines them with balanced coefficients (4, -6, 4, -1). This approach creates an indicator that responds extremely quickly to price changes while still maintaining sufficient smoothness to be useful for trading decisions. QEMA is particularly valuable for traders who need the absolute minimum lag possible in trend identification.
▶️ **Core Concepts**
Fourth-order processing: Extends the EMA cascade to four stages for maximum possible lag reduction while maintaining a useful signal
Progressive alpha system: Uses mathematically derived ratio-based alpha progression to balance responsiveness across all four EMA stages
Optimized coefficients: Employs calculated weights (4, -6, 4, -1) to effectively eliminate lag while preserving compound signal stability
Numerical stability control: Implements initialization and alpha distribution to ensure consistent results from the first calculation bar
QEMA achieves its exceptional lag reduction by combining four progressive EMAs with mathematically optimized coefficients. The formula is designed to maximize responsiveness while minimizing the overshoot problems that typically occur with aggressive lag reduction techniques. The implementation uses a ratio-based alpha progression that ensures each EMA stage contributes appropriately to the final result.
▶️ **Common Settings and Parameters**
Period: Default: 15| Base smoothing period | When to Adjust: Decrease for extremely fast signals, increase for more stable output
Alpha: Default: auto | Direct control of base smoothing factor | When to Adjust: Manual setting allows precise tuning beyond standard period settings
Source: Default: Close | Data point used for calculation | When to Adjust: Change to HL2 or HLC3 for more balanced price representation
Pro Tip: Professional traders often use QEMA with longer periods than other moving averages (e.g., QEMA(20) instead of EMA(10)) since its extreme lag reduction provides earlier signals even with longer periods.
▶️ **Calculation and Mathematical Foundation**
Simplified explanation:
QEMA works by calculating four EMAs in sequence, with each EMA taking the previous one as input. It then combines these EMAs using balancing weights (4, -6, 4, -1) to create a moving average with extremely minimal lag and high level of smoothness. The alpha factors for each EMA are progressively adjusted using a mathematical ratio to ensure balanced responsiveness across all stages.
Technical formula:
QEMA = 4 × EMA₁ - 6 × EMA₂ + 4 × EMA₃ - EMA₄
Where:
EMA₁ = EMA(source, α₁)
EMA₂ = EMA(EMA₁, α₂)
EMA₃ = EMA(EMA₂, α₃)
EMA₄ = EMA(EMA₃, α₄)
α₁ = 2/(period + 1) is the base smoothing factor
r = (1/α₁)^(1/3) is the derived ratio
α₂ = α₁ × r, α₃ = α₂ × r, α₄ = α₃ × r are the progressive alphas
Mathematical Rationale for the Alpha Cascade:
The QEMA indicator employs a specific geometric progression for its smoothing factors (alphas) across the four EMA stages. This design is intentional and aims to optimize the filter's performance. The ratio between alphas is **r = (1/α₁)^(1/3)** - derived from the cube root of the reciprocal of the base alpha.
For typical smoothing (α₁ < 1), this results in a sequence of increasing alpha values (α₁ < α₂ < α₃ < α₄), meaning that subsequent EMAs in the cascade are progressively faster (less smoothed). This specific progression, when combined with the QEMA coefficients (4, -6, 4, -1), is chosen for the following reasons:
1. Optimized Frequency Response:
Using the same alpha for all EMA stages (as in a naive multi-EMA approach) can lead to an uneven frequency response, potentially causing over-shooting of certain frequencies or creating undesirable resonance. The geometric progression of alphas in QEMA helps to create a more balanced and controlled filter response across a wider range of movement frequencies. Each stage's contribution to the overall filtering characteristic is more harmonized.
2. Minimized Phase Lag:
A key goal of QEMA is extreme lag reduction. The specific alpha cascade, particularly the relationship defined by **r**, is designed to minimize the cumulative phase lag introduced by the four smoothing stages, while still providing effective noise reduction. Faster subsequent EMAs contribute to this reduced lag.
🔍 Technical Note: The ratio-based alpha progression is crucial for balanced response. The ratio r is calculated as the cube root of 1/α₁, ensuring that the combined effect of all four EMAs creates a mathematically optimal response curve. All EMAs are initialized with the first source value rather than using progressive initialization, eliminating warm-up artifacts and providing consistent results from the first bar.
▶️ **Interpretation Details**
QEMA provides several key insights for traders:
When price crosses above QEMA, it signals the beginning of an uptrend with minimal delay
When price crosses below QEMA, it signals the beginning of a downtrend with minimal delay
The slope of QEMA provides immediate insight into trend direction and momentum
QEMA responds to price reversals significantly faster than other moving averages
Multiple QEMA lines with different periods can identify immediate support/resistance levels
QEMA is particularly valuable in fast-moving markets and for short-term trading strategies where speed of signal generation is critical. It excels at capturing the very beginning of trends and identifying reversals earlier than any other EMA-derived indicator. This makes it especially useful for breakout trading and scalping strategies where getting in early is essential.
▶️ **Limitations and Considerations**
Market conditions: Can generate excessive signals in choppy, sideways markets due to its extreme responsiveness
Overshooting: The aggressive lag reduction can create some overshooting during sharp reversals
Calculation complexity: Requires four separate EMA calculations plus coefficient application, making it computationally more intensive
Parameter sensitivity: Small changes in the base alpha or period can significantly alter behavior
Complementary tools: Should be used with momentum indicators or volatility filters to confirm signals and reduce false positives
▶️ **References**
Mulloy, P. (1994). "Smoothing Data with Less Lag," Technical Analysis of Stocks & Commodities .
Ehlers, J. (2001). Rocket Science for Traders . John Wiley & Sons.
Full Day Midpoint Line with Dynamic StdDev Bands (ETH & RTH)A Pine Script indicator designed to plot a midpoint line based on the high and low prices of a user-defined trading session (typically Extended Trading Hours, ETH) and to add dynamic standard deviation (StdDev) bands around this midpoint.
Session Midpoint Line:
The midpoint is calculated as the average of the session's highest high and lowest low during the defined ETH period (e.g., 4:00 AM to 8:00 PM).
This line represents a central tendency or "fair value" for the session, similar to a pivot point or volume-weighted average price (VWAP) anchor.
Interpretation:
Prices above the midpoint suggest bullish sentiment, while prices below indicate bearish sentiment.
The midpoint can act as a dynamic support/resistance level, where price may revert to or react at this level during the session.
Dynamic StdDev Bands:
The bands are calculated by adding/subtracting a multiple of the standard deviation of the midpoint values (tracked in an array) from the midpoint.
The standard deviation is dynamically computed based on the historical midpoint values within the session, making the bands adaptive to volatility.
Interpretation:
The upper and lower bands represent potential overbought (upper) and oversold (lower) zones.
Prices approaching or crossing the bands may indicate stretched conditions, potentially signaling reversals or breakouts.
Trend Identification:
Use the midpoint as a reference for the session’s trend. Persistent price action above the midpoint suggests bullishness, while below indicates bearishness.
Combine with other indicators (e.g., moving averages, RSI) to confirm trend direction.
Support/Resistance Trading:
Treat the midpoint as a dynamic pivot point. Price rejections or consolidations near the midpoint can be entry points for mean-reversion trades.
The StdDev bands can act as secondary support/resistance levels. For example, price reaching the upper band may signal a potential short entry if accompanied by reversal signals.
Breakout/Breakdown Strategies:
A strong move beyond the upper or lower band may indicate a breakout (bullish above upper, bearish below lower). Confirm with volume or momentum indicators to avoid false breakouts.
The dynamic nature of the bands makes them useful for identifying significant price extensions.
Volatility Assessment:
Wider bands indicate higher volatility, suggesting larger price swings and potentially riskier trades.
Narrow bands suggest consolidation, which may precede a breakout. Traders can prepare for volatility expansions in such scenarios.
The "Full Day Midpoint Line with Dynamic StdDev Bands" is a versatile and visually intuitive indicator well-suited for day traders focusing on session-specific price action. Its dynamic midpoint and volatility-adjusted bands provide valuable insights into support, resistance, and potential reversals or breakouts.
ORB - Opening Range Breakout + AlertsThe only ORB indicator you'll ever need.
- Flexible Range: Tailor the opening range (e.g., 5m, 15m, 30m) to your trading style.
- Key Levels: Auto-plots striking pink/purple support/resistance lines post-range for clear trade setups.
- Breakout Alerts: Reliable LONG/SHORT signals on 5m chart for confirmed breakouts; enable/disable as needed.
- Personalized Design: Customize line color and thickness for optimal visibility.
A friendly reminder that no tool or indicator guarantees success. Integrate this into a robust trading plan.
Momentum (80) + ATR (14)his indicator combines two essential technical analysis tools in a single panel for enhanced market insight:
🔹 Momentum (80 periods): Measures the difference between the current price and the price 80 bars ago. Displayed as a semi-transparent filled area, it helps to visually identify shifts in price momentum over a longer timeframe.
🔸 ATR (Average True Range, 14 periods): Shown as a fine orange line, the ATR represents average market volatility over 14 periods, highlighting phases of calm or increased price fluctuations.
By viewing both momentum and volatility simultaneously, traders can better assess trend strength and market conditions, improving decision-making across assets such as stocks, forex, and cryptocurrencies.
✅ Suitable for all asset types
✅ Complements other indicators like RSI, MACD, and Bollinger Bands
✅ Categorized under Momentum & Volatility indicators
Triple Exponential Moving Average (TEMA)The Triple Exponential Moving Average (TEMA) is an advanced technical indicator designed to significantly reduce the lag inherent in traditional moving averages while maintaining signal quality. Developed by Patrick Mulloy in 1994 as an extension of his DEMA concept, TEMA employs a sophisticated triple-stage calculation process to provide exceptionally responsive market signals.
TEMA's mathematical approach goes beyond standard smoothing techniques by using a triple-cascade architecture with optimized coefficients. This makes it particularly valuable for traders who need earlier identification of trend changes without sacrificing reliability. Since its introduction, TEMA has become a key component in many algorithmic trading systems and professional trading platforms.
▶️ **Core Concepts**
Triple-stage lag reduction: TEMA uses a three-level EMA calculation with optimized coefficients (3, -3, 1) to dramatically minimize the delay in signal generation
Enhanced responsiveness: Provides significantly faster reaction to price changes than standard EMA or even DEMA, while maintaining reasonable smoothness
Strategic signal processing: Employs mathematical techniques to extract the underlying trend while filtering random price fluctuations
Timeframe effectiveness: Performs well across multiple timeframes, though particularly valued in short to medium-term trading
TEMA achieves its enhanced responsiveness through an innovative triple-cascade architecture that strategically combines three levels of exponential moving averages. This approach effectively removes the lag component inherent in EMA calculations while preserving the essential smoothing benefits.
▶️ **Common Settings and Parameters**
Length: Default: 12 | Controls sensitivity/smoothness | When to Adjust: Increase in choppy markets, decrease in strongly trending markets
Source: Default: Close | Data point used for calculation | When to Adjust: Change to HL2/HLC3 for more balanced price representation
Corrected: Default: false | Adjusts internal EMA smoothing factors for potentially faster response | When to Adjust: Set to true for a modified TEMA that may react quicker to price changes. false uses standard TEMA calculation
Visualization: Default: Line | Display format on charts | When to Adjust: Use filled cloud to see divergence from price more clearly
Pro Tip: For optimal trade signals, many professional traders use two TEMAs (e.g., 8 and 21 periods) and look for crossovers, which often provide earlier signals than traditional moving average pairs.
▶️ **Calculation and Mathematical Foundation**
Simplified explanation:
TEMA calculates three levels of EMAs, then combines them using a special formula that amplifies recent price action while reducing lag. This triple-processing approach effectively eliminates much of the delay found in traditional moving averages.
Technical formula:
TEMA = 3 × EMA₁ - 3 × EMA₂ + EMA₃
Where:
EMA₁ = EMA(source, α₁)
EMA₂ = EMA(EMA₁, α₂)
EMA₃ = EMA(EMA₂, α₃)
The smoothing factors (α₁, α₂, α₃) are determined as follows:
Let α_base = 2/(length + 1)
α₁ = α_base
If corrected is false:
α₂ = α_base
α₃ = α_base
If corrected is true:
Let r = (1/α_base)^(1/3)
α₂ = α_base * r
α₃ = α_base * r * r = α_base * r²
The corrected = true option implements a variation that uses progressively smaller alpha values for the subsequent EMA calculations. This approach aims to optimize the filter's frequency response and phase lag.
Alpha Calculation for corrected = true:
α₁ (alpha_base) = 2/(length + 1)
r = (1/α₁)^(1/3) (cube root relationship)
α₂ = α₁ * r = α₁^(2/3)
α₃ = α₂ * r = α₁^(1/3)
Mathematical Rationale for Corrected Alphas:
1. Frequency Response Balance:
The standard TEMA (where α₁ = α₂ = α₃) can lead to an uneven frequency response, potentially over-smoothing high frequencies or creating resonance artifacts. The geometric progression of alphas (α₁ > α₁^(2/3) > α₁^(1/3)) in the corrected version aims to create a more balanced filter cascade. Each stage contributes more proportionally to the overall frequency response.
2. Phase Lag Optimization:
The cube root relationship between the alphas is designed to minimize cumulative phase lag while maintaining smoothing effectiveness. Each subsequent EMA stage has a progressively smaller impact on phase distortion.
3. Mathematical Stability:
The geometric progression (α₁, α₁^(2/3), α₁^(1/3)) can enhance numerical stability due to constant ratios between consecutive alphas. This helps prevent the accumulation of rounding errors and maintains consistent convergence properties.
Practical Impact of corrected = true:
This modification aims to achieve:
Potentially better lag reduction for a similar level of smoothing
A more uniform frequency response across different market cycles
Reduced overshoot or undershoot in trending conditions
Improved signal-to-noise ratio preservation
Essentially, the cube root relationship in the corrected TEMA attempts to optimize the trade-off between responsiveness and smoothness that can be a challenge with uniform alpha values.
🔍 Technical Note: Advanced implementations apply compensation techniques to all three EMA stages, ensuring TEMA values are valid from the first bar without requiring a warm-up period. This compensation corrects initialization bias and prevents calculation errors from compounding through the cascade.
▶️ **Interpretation Details**
TEMA excels at identifying trend changes significantly earlier than traditional moving averages, making it valuable for both entry and exit signals:
When price crosses above TEMA, it often signals the beginning of an uptrend
When price crosses below TEMA, it often signals the beginning of a downtrend
The slope of TEMA provides insight into trend strength and momentum
TEMA crossovers with price tend to occur earlier than with standard EMAs
When multiple-period TEMAs cross each other, they confirm significant trend shifts
TEMA works exceptionally well as a dynamic support/resistance level in trending markets
For optimal results, traders often use TEMA in combination with momentum indicators or volume analysis to confirm signals and reduce false positives.
▶️ **Limitations and Considerations**
Market conditions: The high responsiveness can generate false signals during highly choppy, sideways markets
Overshooting: More aggressive lag reduction leads to more pronounced overshooting during sharp reversals
Parameter sensitivity: Changes in length have more dramatic effects than in simpler moving averages
Calculation complexity: Triple cascaded EMAs make behavior less predictable and more resource-intensive
Complementary tools: Should be used with confirmation tools like RSI, MACD or volume indicators
▶️ **References**
Mulloy, P. (1994). "Smoothing Data with Less Lag," Technical Analysis of Stocks & Commodities .
Mulloy, P. (1995). "Comparing Digital Filters," Technical Analysis of Stocks & Commodities .
Premarket High/Low (Horizontal Rays)=== Script Description ===
This TradingView script automatically detects and displays the high and low prices
during the premarket session (04:00–09:30 Eastern Time) for the current trading day.
It draws horizontal rays that extend across the chart and labels them as "PM High" and "PM Low".
These markers are refreshed daily and only apply to today's session.
The script also provides full customization for:
- Line color, width, and style (solid, dotted, dashed)
- Label text color, background color, size, and style (left, right, up, down)
Time note: This script assumes data aligned with U.S. market hours.
Open-Based Percentage Levelsv2
This is an updated version of my original script.
Changes:
I took off the displacement levels since there served no purpose on this script.
I also fixed it to where the percentage level lines are visible continually throughout the entire trading day. Old version had these lines disappearing.
I also updated the name to better reflect its purpose.
Now only works on 30 min and below as the higher time frames are meaningless. The older version allow higher time frames and the code is open source to adjust as desired
Open-Based Adjustable LevelsThis indicator gives signals for levels where the buy or sell volume is above adjustable levels (ex, volume at 100,000). And these levels will only signal after the price has gone above/below a certain 'adjustable' percentage of the stocks opening price.
Example: Signal sell when the price action is 0.7% above market opening price and when sell volume is above 120,000
or
Signal buy when buy volume is above 80,000 and the price is 0.5% below market opening price.
Great for day trading and detecting potential swings in the market. Above image is on a 3min chart.
Doesn't work as well on daily time frames or above.
Should be combined with other indicators like buy/sell channels, for the best confirmations
Levels & Flow📌 Overview
Levels & Flow is a visual trading tool that combines daily pivot levels with a dynamic EMA ribbon to help traders identify structure, momentum, and key decision zones in the market.
This script is designed for discretionary traders who rely on clean visual cues for intraday and swing trading strategies.
⚙️ Key Features
Daily Pivot, Support, and Resistance Lines
Automatically plots the daily pivot level based on the previous day’s OHLC data, along with calculated support and resistance levels.
Fibonacci Retracement Levels
Two dashed lines above and below the pivot represent the retracement of the pivot-resistance and pivot-support range, forming the boundaries of the “no-trade zone.”
No-Trade Zone (Shaded Box)
A gray shaded box between the two Fibonacci levels to visually mark a high-chop/low-conviction zone.
Trend-Based Candle Coloring (Current Day Only)
Candles are colored green if the close is above the pivot, red if below (only on the current trading day).
Bullish/Bearish Trend Label
A small table in the bottom-right corner displays “Bullish” or “Bearish” depending on whether price is above or below the pivot.
20-EMA Gradient Ribbon
A stack of 20 EMAs, each smoothed and color-coded from blue to green to reflect short- to long-term trend alignment.
Cumulative EMA with Adaptive Weighting
An intelligent moving average line that adjusts weight distribution among the 20 EMAs based on recent predictive accuracy using a learning rate and lookback period.
🧠 How It Works
📍 Levels
The script calculates daily pivot, resistance, and support levels using standard formulas:
Pivot = (High + Low + Close) / 3
Resistance = (2 × Pivot) – Low
Support = (2 × Pivot) – High
These levels update each day and extend 143 bars to the right.
📏 Fib Lines
Fib Up = Pivot + (Resistance – Pivot) × 0.382
Fib Down = Pivot – (Pivot – Support) × 0.382
These lines form the “no-trade zone” box.
📈 EMA Ribbon
20 EMAs starting from the user-defined Base Length, each incremented by 1
Each EMA is smoothed using the Smoothing Period
Color-coded from blue to green for intuitive visual flow
Filled between EMAs to visualize trend strength and alignment
🧠 Cumulative EMA Learning
Each EMA’s historical error is calculated over a Lookback Period
Lower-error EMAs receive higher weight; weights are normalized to sum to 1
The result is a cumulative EMA that adapts based on historical predictive power
🔧 User Inputs
Input
Base EMA Length: Sets the period for the shortest EMA (default: 20)
Smoothing Period: Smooths all EMAs and the cumulative EMA
Lookback for Learning: Number of bars to evaluate EMA prediction accuracy
Learning Rate: Adjusts how quickly weights shift in favor of more accurate EMAs
✅ How to Use It
Use the pivot level to define directional bias.
Watch for price breakouts above resistance or breakdowns below support to consider entry.
Avoid trading inside the shaded zone, where direction is less reliable.
Use the EMA ribbon gradient to confirm short/long alignment.
The cumulative EMA helps define trend with noise reduction.
🧪 Best For
Intraday traders who want to blend structure with flow
Swing traders needing clean daily levels with dynamic confirmation
Anyone looking to avoid choppy zones and improve visual clarity
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a trading recommendation. Always test scripts in simulation or on demo accounts before live use. Use at your own risk.
Moving Average Price Deviation Spread
**Moving Average Price Deviation Spread (MA Dev)**
This indicator visualizes the deviation of price from its exponential moving average (EMA) and scales it within dynamic upper and lower bounds. The core logic measures the smoothed spread between price and EMA, then calculates standard deviation over a rolling window to define statistical thresholds.
* **Spread**: EMA of (Close - EMA), highlighting directional bias.
* **Upper/Lower Bounds**: EMA of ±1.96 \* standard deviation of the spread, framing high/low deviation zones.
* **Use Case**: Spot overextended conditions, mean reversion setups, or volatility-driven breakouts. Ideal for timing entries and exits around price extremes.
Momentum TrackerDescription
To screen for momentum movers, one can filter for stocks that have made a noticeable move over a set period. This initial move defines the momentum or swing move. From this list of candidates, we can create a watchlist by selecting those showing a momentum pause, such as a pullback or consolidation, which later could set up for a continuation.
Momentum = Magnitude × Time
This Momentum Tracker indicator serves as a study tool to visualize when stocks historically met these momentum conditions. It marks on the chart where a stock would have appeared on the screener, allowing us to review past momentum patterns and screener requirements. The indicator measures momentum in three different ways:
Normalized Momentum
Identifies when the current price reaches a new high or low compared to a historical window. This is the most standardized measurement and adapts well across markets.
Normalized = Current Price ≥ Maximum Price in Lookback
Normalized = Current Price ≤ Minimum Price in Lookback
Relative Momentum
Measures the percentage difference between a fast and a slow moving average. This method helps capture acceleration, the rate at which momentum is building over time.
Relative = |Fast MA − Slow MA| ÷ Slow MA × 100
Absolute Momentum
Measures how far price has moved from the highest or lowest point within a defined lookback period.
Absolute = (Current Price − Lowest Price) ÷ Lowest Price × 100
Absolute = (Highest Price − Current Price) ÷ Highest Price × 100
Customization
The tool is customizable in terms of lookback period and thresholds to accommodate different trading styles and timeframes, allowing users to set criteria that align with specific hold times and momentum requirements. While the various calculations can be enabled, the tool is best used in isolation of each to visualize different momentum conditions.
FeraTrading Auto ORBThe FeraTrading Auto ORB Indicator automatically plots the high, low, and midline from your selected opening range timeframe—then resets them daily to keep your chart clean and readable.
Customizable Features:
You can choose from multiple ORB timeframes: 1min, 2min, 3min, 5min, 10min, 15min, 30min, 45min, and 60min. These levels display on any chart timeframe, so you can watch a 2-minute chart while tracking 15-minute ORB levels for broader structure.
Toggle each line individually (high, low, midline) on or off
Set custom colors to the lines to match your style
Built for flexibility, simplicity, and clarity.
Also, open source!
UT Bot + Hull MA Confirmed Signal DelayOverview
This indicator is designed to detect high-probability reversal entry signals by combining "UT Bot Alerts" (UT Bot Alerts script adapted from QuantNomad - Originally developed by Yo_adriiiiaan and idea of original code for "UT Bot Alerts" from HPotter ) with confirmation from a Hull Moving Average (HMA) Developed by Alan Hull . It focuses on capturing momentum shifts that often precede trend reversals, helping traders identify potential entry points while filtering out false signals.
🔍 How It Works
This strategy operates in two stages:
1. UT Bot Momentum Trigger
The foundation of this script is the "UT Bot Alerts" , which uses an ATR-based trailing stop to detect momentum changes. Specifically:
The script calculates a dynamic stop level based on the Average True Range (ATR) multiplied by a user-defined sensitivity factor (Key Value).
When price closes above this trailing stop and the short-term EMA crosses above the stop, a potential buy setup is triggered.
Conversely, when price closes below the trailing stop and the short-term EMA crosses below, a potential sell setup is triggered.
These UT Bot alerts are designed to identify the initial shift in market direction, acting as the first filter in the signal process.
2. Hull MA Confirmation
To reduce noise and false triggers from the UT Bot alone, this script delays the entry signal until price confirms the move by crossing the Hull Moving Average (or its variants: HMA, THMA, EHMA) in the same direction as the UT Bot trigger:
A Buy Signal is generated only when:
A UT Bot Buy condition is active, and
The price closes above the Hull MA.
Or, if a UT Bot Buy condition was recently triggered but price hadn’t yet crossed above the Hull MA, a delayed buy is signaled when price finally breaks above it.
A Sell Signal is generated only when:
A UT Bot Sell condition is active, and
The price closes below the Hull MA.
Similarly, a delayed sell signal can occur if price breaks below the Hull MA shortly after a UT Bot Sell trigger.
This dual-confirmation process helps traders avoid premature entries and improves the reliability of reversal signals.
📈 Best Use Cases
Reversal Trading: This strategy is particularly well-suited for catching early trend reversals rather than trend continuations. It excels at identifying momentum pivots that occur after pullbacks or exhaustion moves.
Heikin Ashi Charts Recommended: The script offers a Heikin Ashi mode for smoothing out noise and enhancing visual clarity. Using Heikin Ashi candles can further reduce whipsaws and highlight cleaner shifts in trend direction.
MACD Alignment: For best results, trade in the direction of the MACD trend or use it as a filter to avoid counter-trend trades.
⚠️ Important Notes
Entry Signals Only: This indicator only plots entry points (Buy and Sell signals). It does not define exit strategies, so users should manage trades manually using trailing stops, profit targets, or other exit indicators.
No Signal = No Confirmation: You may see a UT Bot trigger without a corresponding Buy/Sell signal. This means the price did not confirm the move by crossing the Hull MA, and therefore the setup was considered too weak or incomplete.
⚙️ Customization
UT Bot Sensitivity: Adjust the “Key Value” and “ATR Period” to make the UT Bot more or less reactive to price action.
Use Heikin Ashi: Toggle between standard candles or Heikin Ashi in the indicator settings for a smoother trading experience.
The HMA length may also be modified in the indicator settings from its standard 55 length to increase or decrease the sensitivity of signal.
This strategy is best used by traders looking for a structured, logic-based way to enter early into reversals with added confirmation to reduce risk. By combining two independent systems—momentum detection (UT Bot) and trend confirmation (Hull MA)—it aims to provide high-confidence entries without overwhelming complexity.
Let the indicator guide your entries—you manage the exits.
Examples of use:
Futures:
Stock:
Crypto:
As shown in the snapshots this strategy, like most, works the best when price action has a sizeable ATR and works the least when price is choppy. Therefore it is always best to use this system when price is coming off known support or resistance levels and when it is seen to respect short term EMA's like the 9 or 15.
My personal preference to use this system is for day trading on a 3 or 5 minute chart. But it is valid for all timeframes and simply marks a high probability for a new trend to form.
Sources:
Quant Nomad - www.tradingview.com
Yo_adriiiiaan - www.tradingview.com
HPotter - www.tradingview.com
Hull Moving Average - alanhull.com
ADR, ATR & VOL OverlayThis is a combined version of 2 of my other indicators:
ADR / ATR Overlay
VOL / AVG Overlay
This indicator will display the following as an overlay on your chart:
ADR
% of ADR
ADR % of Price
ATR
% of ATR
ATR % of Price
Custom Session Volume
Average For Selected Session
Volume Percentage Comparison
Description:
ADR : Average Day Range
% of ADR : Percentage that the current price move has covered its average.
ADR % of Price : The percentage move implied by the average range.
ATR : Average True Range
% of ATR : Percentage that the current price move has covered its average.
ATR % of Price : The percentage move implied by the average true range.
Custom Session Volume : User chosen time frame to monitor volume
Average For Selected Session : Average for the custom session volume
Volume Percentage Comparison : Current session compared to the average (calculated at session close)
Options:
ADR/ATR:
Time Frame
Length
Smoothing
Volume:
Set Custom Time Frame For Calculations
Set Custom Time Frame For Average Comparison
Set Custom Time Zone
Table:
Enable / Disable Each Value
Change Text Color
Change Background Color
Change Table location
Add/Remove extra row for placement
ADR / ATR Example:
The ADR and ATR can be used to provide information about average price moves to help set targets, stop losses, entries and exits based on the potential average moves.
Example: If the "% of ADR" is reading 100%, then 100% of the asset's average price range has been covered, suggesting that an additional move beyond the range has a lower probability.
Example: "ADR % of Price" provides potential price movement in percentage which can be used to asses R/R for asset.
Example: ADR (D) reading is 100% at market close but ATR (D) is at 70% at close. This suggests that there is a potential (coverage) move of 30% in Pre/Post market as suggested by averages.
Custom Volume Session Example:
Set indicator to 30 period average. Set custom time frame to 9:30am to 10:30am Eastern/New York.
When the time frame for the calculation is closed, the indicator will provide a comparison of the current days volume compared to the average of 30 previous days for that same time frame and display it as a percentage in the table.
In this example you could compare how the first hour of the trading day compares to the previous 30 day's average, aiding in evaluating the potential volume for the remainder of the day.
Notes:
Times must be entered in 24 hour format. (1pm = 13:00 etc.)
Volume indicator is for Intra-day time frames, not > Day.
How I use these values:
I use these calculations to determine if a ticker symbol has the necessary range to achieve target gains, to determine if the price oscillation is within "normal" ranges to determine if the trading day will be choppy, and to determine placement of stops and targets within average ranges in combination with support, resistance and retracement levels.
Prev-Day High-Low Box 09:30-15:30This indicator plots a visual range box for the previous day's regular trading session, based specifically on 09:30 AM to 3:30 PM market hours (Eastern Time by default).
Features:
Automatically detects each new trading day
Draws a box from the previous day’s high to low
Box extends into the current session for a set number of bars (default: 160)
Labels mark the previous high and previous low individually
Clean and minimal — only one box and label set is drawn at a time
Works on intraday timeframes (1min, 5min, 15min, etc.)
Use it to:
Identify zones of interest from the last session
Watch for breakouts, reversals, or mean reversion setups
Combine with VWAP, moving averages, or price action for added context
This tool is handy for day traders and scalpers who want to map out the structure of prior sessions during live trading hours.
Horizontal ATR LinesDisclaimer:
This script was generated using OpenAI’s ChatGPT. I take no responsibility for the correctness, performance, or financial impact of this indicator. Use it at your own risk and discretion.
This indicator draws horizontal ATR-based levels from the last closed candle on a user-selected timeframe. It is designed for traders who want to visualize realistic volatility zones for setting dynamic support/resistance, take-profit, or stop-loss levels.
What it does:
Calculates the Average True Range (ATR) using a customizable period and timeframe.
Plots four horizontal lines:
+1 ATR and –1 ATR from the last closed candle’s close
+X ATR and –X ATR, where X is a second custom multiplier
Each level includes a compact label showing:
The price of the level
The percentage distance from the close price
Use cases:
Identify realistic intraday or swing price movement boundaries
Build volatility-aware take-profit and stop-loss zones
Visually track market compression or expansion in context
Customization:
ATR period and timeframe
Two independent ATR multipliers
Custom color settings for each group of levels
VWAP Adaptive (RelVol-Adjusted)This indicator provides an Adaptive VWAP that adjusts volume weighting using RelVol (Relative Volume at Time), offering a more accurate and context-aware price reference during sessions with irregular volume behavior.
Classic VWAP calculates the average price weighted by raw volume, without considering the time of day. This becomes a serious limitation during major market events such as CPI releases, FOMC announcements, NFP, or large-cap earnings. These events often trigger massive volume spikes within one or two candles. As a result, the classic VWAP gets pulled toward those extreme prices and becomes permanently skewed for the rest of the session.
In such conditions, classic VWAP becomes unreliable. It no longer reflects fair value and often misleads traders relying on it for dynamic support, resistance, or reversion signals.
This Adaptive VWAP improves on that by using RelVol, which compares the current volume to the average volume seen at the same time over previous sessions. It gives more weight to price when volume is typical for that moment, and adjusts the influence when volume is statistically abnormal. This reduces the impact of isolated volume spikes and stabilizes the VWAP path, even in high-volatility environments.
For example, on SPY 1-minute or 5-minute charts during a CPI release, a massive spike in volume and price can occur within a single candle. Classic VWAP will immediately anchor itself to that spike. Adaptive VWAP using RelVol softens that effect and maintains a more realistic trajectory.
Key features:
- Adaptive VWAP weighted by time-adjusted Relative Volume (RelVol)
- Designed to maintain VWAP reliability during macroeconomic events
- Flexible anchoring: Session, Week, Month, Quarter, Earnings, etc.
- Optional display of Classic VWAP for comparison
- Up to 3 customizable deviation bands (standard deviation or percentage)
This tool is ideal for intraday traders who need a VWAP that remains usable and unbiased, even in volatile sessions. It adds robustness to VWAP-based strategies by incorporating time-sensitive volume normalization.
Lunar Phase (LUNAR)LUNAR: LUNAR PHASE
The Lunar Phase indicator is an astronomical calculator that provides precise values representing the current phase of the moon on any given date. Unlike traditional technical indicators that analyze price and volume data, this indicator brings natural celestial cycles into technical analysis, allowing traders to examine potential correlations between lunar phases and market behavior. The indicator outputs a normalized value from 0.0 (new moon) to 1.0 (full moon), creating a continuous cycle that can be overlaid with price action to identify potential lunar-based market patterns.
The implementation provided uses high-precision astronomical formulas that include perturbation terms to accurately calculate the moon's position relative to Earth and Sun. By converting chart timestamps to Julian dates and applying standard astronomical algorithms, this indicator achieves significantly greater accuracy than simplified lunar phase approximations. This approach makes it valuable for traders exploring lunar cycle theories, seasonal analysis, and natural rhythm trading strategies across various markets and timeframes.
🌒 CORE CONCEPTS 🌘
Lunar cycle integration: Brings the 29.53-day synodic lunar cycle into trading analysis
Continuous phase representation: Provides a normalized 0.0-1.0 value rather than discrete phase categories
Astronomical precision: Uses perturbation terms and high-precision constants for accurate phase calculation
Cyclic pattern analysis: Enables identification of potential correlations between lunar phases and market turning points
The Lunar Phase indicator stands apart from traditional technical analysis tools by incorporating natural astronomical cycles that operate independently of market mechanics. This approach allows traders to explore potential external influences on market psychology and behavior patterns that might not be captured by conventional price-based indicators.
Pro Tip: While the indicator itself doesn't have adjustable parameters, try using it with a higher timeframe setting (multi-day or weekly charts) to better visualize long-term lunar cycle patterns across multiple market cycles. You can also combine it with a volume indicator to assess whether trading activity exhibits patterns correlated with specific lunar phases.
🧮 CALCULATION AND MATHEMATICAL FOUNDATION
Simplified explanation:
The Lunar Phase indicator calculates the angular difference between the moon and sun as viewed from Earth, then transforms this angle into a normalized 0-1 value representing the illuminated portion of the moon visible from Earth.
Technical formula:
Convert chart timestamp to Julian Date:
JD = (time / 86400000.0) + 2440587.5
Calculate Time T in Julian centuries since J2000.0:
T = (JD - 2451545.0) / 36525.0
Calculate the moon's mean longitude (Lp), mean elongation (D), sun's mean anomaly (M), moon's mean anomaly (Mp), and moon's argument of latitude (F), including perturbation terms:
Lp = (218.3164477 + 481267.88123421*T - 0.0015786*T² + T³/538841.0 - T⁴/65194000.0) % 360.0
D = (297.8501921 + 445267.1114034*T - 0.0018819*T² + T³/545868.0 - T⁴/113065000.0) % 360.0
M = (357.5291092 + 35999.0502909*T - 0.0001536*T² + T³/24490000.0) % 360.0
Mp = (134.9633964 + 477198.8675055*T + 0.0087414*T² + T³/69699.0 - T⁴/14712000.0) % 360.0
F = (93.2720950 + 483202.0175233*T - 0.0036539*T² - T³/3526000.0 + T⁴/863310000.0) % 360.0
Calculate longitude correction terms and determine true longitudes:
dL = 6288.016*sin(Mp) + 1274.242*sin(2D-Mp) + 658.314*sin(2D) + 214.818*sin(2Mp) + 186.986*sin(M) + 109.154*sin(2F)
L_moon = Lp + dL/1000000.0
L_sun = (280.46646 + 36000.76983*T + 0.0003032*T²) % 360.0
Calculate phase angle and normalize to range:
phase_angle = ((L_moon - L_sun) % 360.0)
phase = (1.0 - cos(phase_angle)) / 2.0
🔍 Technical Note: The implementation includes high-order terms in the astronomical formulas to account for perturbations in the moon's orbit caused by the sun and planets. This approach achieves much greater accuracy than simple harmonic approximations, with error margins typically less than 0.1% compared to ephemeris-based calculations.
🌝 INTERPRETATION DETAILS 🌚
The Lunar Phase indicator provides several analytical perspectives:
New Moon (0.0-0.1, 0.9-1.0): Often associated with reversals and the beginning of new price trends
First Quarter (0.2-0.3): Can indicate continuation or acceleration of established trends
Full Moon (0.45-0.55): Frequently correlates with market turning points and potential reversals
Last Quarter (0.7-0.8): May signal consolidation or preparation for new market moves
Cycle alignment: When market cycles align with lunar cycles, the effect may be amplified
Phase transition timing: Changes between lunar phases can coincide with shifts in market sentiment
Volume correlation: Some markets show increased volatility around full and new moons
⚠️ LIMITATIONS AND CONSIDERATIONS
Correlation vs. causation: While some studies suggest lunar correlations with market behavior, they don't imply direct causation
Market-specific effects: Lunar correlations may appear stronger in some markets (commodities, precious metals) than others
Timeframe relevance: More effective for swing and position trading than for intraday analysis
Complementary tool: Should be used alongside conventional technical indicators rather than in isolation
Confirmation requirement: Lunar signals are most reliable when confirmed by price action and other indicators
Statistical significance: Many observed lunar-market correlations may not be statistically significant when tested rigorously
Calendar adjustments: The indicator accounts for astronomical position but not calendar-based trading anomalies that might overlap
📚 REFERENCES
Dichev, I. D., & Janes, T. D. (2003). Lunar cycle effects in stock returns. Journal of Private Equity, 6(4), 8-29.
Yuan, K., Zheng, L., & Zhu, Q. (2006). Are investors moonstruck? Lunar phases and stock returns. Journal of Empirical Finance, 13(1), 1-23.
Kemp, J. (2020). Lunar cycles and trading: A systematic analysis. Journal of Behavioral Finance, 21(2), 42-55. (Note: fictional reference for illustrative purposes)