Vertical Horizontal Filter Strategy Vertical Horizontal Filter was initiated by Adam White. It was first published
in a magazine called “Issues of Futures” in August, 1991. The Vertical Horizontal
Filter (VHF) is a very common Indicator used by traders to find out the Phase of
a Price Trend. Normally, a price trend can be in a Trending Phase or a Congestion
Phase/Choppy Movement Phase. Adam White created this particular Technical Indicator
to determine whether prices are trending in a particular direction or are they going
through a transitional period. He used it to measure the range of Futures available
in the market.
WARNING:
- This script to change bars colors.
Wyszukaj w skryptach "Futures"
Vertical Horizontal Filter Vertical Horizontal Filter was initiated by Adam White. It was first published
in a magazine called “Issues of Futures” in August, 1991. The Vertical Horizontal
Filter (VHF) is a very common Indicator used by traders to find out the Phase of
a Price Trend. Normally, a price trend can be in a Trending Phase or a Congestion
Phase/Choppy Movement Phase. Adam White created this particular Technical Indicator
to determine whether prices are trending in a particular direction or are they going
through a transitional period. He used it to measure the range of Futures available
in the market.
BKSqueezeThis is a price volatility compression and expansion indicator that uses the ratio of the Bollinger Band and Keltner Ratio.
Red segments indicate extreme price volatility compression that can be ideal entry points for stock/futures/forex and/or options positions.
Aqua segments indicate price volatility is expanding.
Blue segments indicate price volatility is compressing - can be used as an exit point or partial scale out point.
Note that the indicator doesn't indicate direction. One suggestion is to use the DMI indicator for this purpose - really depends on how early you enter the trade.
Suggest using a time period of 15 bars for volatile stocks, such as TSLA for example, otherwise a period of 20 bars suits most stocks/futures/forex symbols.
T7 JNSARJNSAR stands for Just Nifty -0.14% Stop & Reverse. This is a Trend Following Daily Bar Trading System for NIFTY -0.14% . Original idea belongs to ILLANGO @ I coded the pine version of this system based on a request from @stocksonfire. Use it at your own risk after validation at your end. Neither me or my company is responsible for any losses you may incur using this system. Hope you like this system and enjoy trading it !!!
Updated V3 code for the T7 JNSAR system earlier published here V2 and here V1
Following updates made to the code
1. Added a 22 Period Simple moving average filter over and above the standard JNSAR value for generating trading signals. This simple filter reduces the whipsaw trades drastically along with similar improvements in the max draw down and overall profitability of the system. The SMA filter is turned ON by default but can be turned OFF by user through the settings window.
2. Backtest option is now turned ON by default.
Also am republishing the trading rules here again with some modification
1. Go Long when the daily close is above the JNSAR line. Go Short when the daily close is below the JNSAR line. JNSAR line is the varying green line overlayed over the price chart. Once a signal comes at market close enter in the direction of the signal @ market price @ next day market open.
2. Trade only Nifty -0.14% Index. This system was developed and backtested only for NIFTY -0.14% Index. So trade in its Futures or Options, as you may deem fit. My recommendation is to choose futures for simplicity. If you want to reduce the trading cost and go with options, trade with deep in the money options, preferably 2 strikes far from the spot price.
3. Trade all signals. Markets trend only 30-35% of the time and hence the system is only accurate to that extend. But system tends to make enough money, in this small trending window, to keep the overall profitability in good health. But one never knows when a big trend may come and when it comes its absolutely imperative that you take it. To ensure that, trade all signals and don't be choosy about what signals you are going to trade. Also I wouldn't recommend using your own analysis to trade this system. Too many drivers will crash the car.
4. Like all trend following systems, this system will have many whipsaws during flat markets along with large trade and account drawdowns. Also some months and even years may not be profitable. But to trade this system profitably, it is necessary to take these in one's stride and keep trading. As the backtester results from 1990 to 2017 proves, this system is profitable overall thus far. Take confidence from that objective fact.
5. Trade with only that amount of money you can afford to loose. Initial capital that you need to have to trade one lot of NIFTY -0.14% should be atleast - (Margin Money required to take and hold 1 lot position + maximum drawdown amount per lot)*1.2. Be prepared to add more if need be, but the above formula will give a rough idea of what you need to have to start trading and be in the game always.
6. Place an After Market Order @ Market Price with your broker after market close so that you get to execute the trade next trading day @ Market open to capture near similar price as the daily open price seen on the chart. This execution mode will give you the best chance to minimize the slippage and mimic the backtester results as closely as practically possible.
7. Follow all the 6 rules above religiously, as if your life depends on it. If you cant, then don't trade this system; You will certainly loose money.
Happy Trading !!! As always am looking out for your valuable feedback.
T7 JNSARUpdated code for the T7 JNSAR system earlier published here -
Following updates made to the code
1. Buy / Sell arrows now appear when the corresponding conditions are met.
2. Support for Heikin-Ashi Candles added
3. Different Backtesting Position Sizing Algorithms added for evaluation
Also am republishing the trading rules here again with some modification
1. Go Long when the daily close is above the JNSAR line. Go Short when the daily close is below the JNSAR line. JNSAR line is the varying green line overlayed over the price chart. Once a signal comes at market close enter in the direction of the signal @ market price @ next day market open.
2. Trade only Nifty Index. This system was developed and backtested only for NIFTY Index. So trade in its Futures or Options, as you may deem fit. My recommendation is to choose futures for simplicity. If you want to reduce the trading cost and go with options, trade with deep in the money options, preferably 2 strikes far from the spot price.
3. Trade all signals. Markets trend only 30-35% of the time and hence the system is only accurate to that extend. But system tends to make enough money, in this small trending window, to keep the overall profitability in good health. But one never knows when a big trend may come and when it comes its absolutely imperative that you take it. To ensure that, trade all signals and don't be choosy about what signals you are going to trade. Also I wouldn't recommend using your own analysis to trade this system. Too many drivers will crash the car.
4. Like all trend following systems, this system will have many whipsaws during flat markets along with large trade and account drawdowns. Also some months and even years may not be profitable. But to trade this system profitably, it is necessary to take these in one's stride and keep trading. As the backtester results from 1990 to 2016 proves, this system is profitable overall thus far. Take confidence from that objective fact.
5. Trade with only that amount of money you can afford to loose. Initial capital that you need to have to trade one lot of NIFTY should be atleast - (Margin Money required to take and hold 1 lot position + maximum drawdown amount per lot)*1.2. Be prepared to add more if need be, but the above formula will give a rough idea of what you need to have to start trading and be in the game always.
6. Place an After Market Order @ Market Price with your broker after market close so that you get to execute the trade next trading day @ Market open to capture near similar price as the daily open price seen on the chart. This execution mode will give you the best chance to minimise the slippage and mimic the backtester results as closely as practically possible.
7. Follow all the 6 rules above religiously, as if your life depends on it. If you cant, then don't trade this system; You will certainly loose money.
Happy Trading !!! As always am looking out for your valuable feedback.
T7 JNSARJNSAR stands for Just Nifty Stop & Reverse. This is a trend following daily bar trading system for NIFTY. Original idea belongs to ILLANGO @ I coded the pine version of this system based on a request from @stocksonfire. Use it at your own risk after validation at your end. Neither me or my company is responsible for any losses you may incur using this system. Hope you like this system and enjoy trading it !!!
While trading this system you must follow these simple rules.
1. Go Long when the daily close is above the JNSAR line. Go Short when the daily close is below the JNSAR line. JNSAR line is the varying green line overlayed over the price chart. Once a signal comes at market close enter in the direction of the signal @ market price @ next day market open.
2. Trade only Nifty Index. This system was developed and backtested only for NIFTY Index. So trade in its Futures or Options, as you may deem fit. My recommendation is to choose futures for simplicity. If you want to reduce the trading cost and go with options, trade with deep in the money options, preferably 2 strikes far from the spot price.
3. Trade all signals. Markets trend only 30-35% of the time and hence the system is only accurate to that extend. But system tends to make enough money, in this small trending window, to keep the overall profitability in good health. But one never knows when a big trend may come and when it comes its absolutely imperative that you take it. To ensure that, trade all signals and don't be choosy about what signals you are going to trade. Also I wouldn't recommend using your own analysis to trade this system. Too many drivers will crash the car.
4. Like all trend following systems, this system will have many whipsaws during flat markets along with large trade and account drawdowns. Also some months and even years may not be profitable. But to trade this system profitably, it is necessary to take these in one's stride and keep trading. As the backtester results from 1990 to 2016 proves, this system is profitable overall thus far. Take confidence from that objective fact.
5. Initial capital that you need to have to trade one lot of NIFTY should be atleast - (Margin Money required to take and hold 1 lot position + maximum drawdown amount per lot)*1.2. Be prepared to add more if need be, but the above formula will give a rough idea of what you need to have to start trading and be in the game always.
6. Follow all the 5 rules above religiously as if your life depends on it. If you cant, then don't trade this system; You will certainly loose money.
Accumulation Swing Index The Accumulation Swing Index is a cumulative total of the Swing Index.
The Accumulation Swing Index was developed by Welles Wilder.
The SwingIndex function was developed to help cut through the maze of
Open, High, Low and Close prices to indicate the real strength and direction
of the market. The Swing Index function looks at the Open, High, Low and
Close values for a two-bar period. The theory is that there are four cross-bar
and one intra-bar comparisons that are strong indicators of an up or down day.
The Swing Index returns a number between -100 and 100. If the factors point toward
an up day, then the function value will be positive and vice versa. In this way,
the Swing Index gives us definite short-term swing points, and it can be used to
supplement other methods as a breakout indicator. A breakout is indicated when the
value of the Accumulation Swing Index (ASI) exceeds the ASI value on the day when a
previous significant High Swing Point was made. A downside breakout is indicated when
the value of the ASI drops below the ASI value on a day when a previous significant
low swing point was made.
Since only futures have a relative daily limit value, this function only makes sense
when applied to a futures contract. If you use this function and it only plots a zero
flat line, check the Daily Limit value.
Accumulation Swing Index (ASI) The Accumulation Swing Index is a cumulative total of the Swing Index.
The Accumulation Swing Index was developed by Welles Wilder.
The SwingIndex function was developed to help cut through the maze of
Open, High, Low and Close prices to indicate the real strength and direction
of the market. The Swing Index function looks at the Open, High, Low and
Close values for a two-bar period. The theory is that there are four cross-bar
and one intra-bar comparisons that are strong indicators of an up or down day.
The Swing Index returns a number between -100 and 100. If the factors point toward
an up day, then the function value will be positive and vice versa. In this way,
the Swing Index gives us definite short-term swing points, and it can be used to
supplement other methods as a breakout indicator. A breakout is indicated when the
value of the Accumulation Swing Index (ASI) exceeds the ASI value on the day when a
previous significant High Swing Point was made. A downside breakout is indicated when
the value of the ASI drops below the ASI value on a day when a previous significant
low swing point was made.
Since only futures have a relative daily limit value, this function only makes sense
when applied to a futures contract. If you use this function and it only plots a zero
flat line, check the Daily Limit value.
Daily Pivots (17:00 OHLC)These pivots are based on OHLC of previous 17:00 CT day (Futures reopen). If it doesn't look right try to click three dots on indicator and select "pin to right scale".
Institutional VWAP Suite (Lite Compatible)The **Institutional VWAP Suite (Lite Compatible)** brings true institutional volume-weighted price analysis to every trader — even on TradingView Lite/Free accounts where standard VWAP tools are restricted.
This script recreates the most important VWAP models used by banks, funds, and high-frequency desks, including:
• **Daily VWAP** (exchange-accurate)
• **Weekly VWAP** (manually accumulated)
• **Monthly VWAP** (manually accumulated)
• **Rolling Window VWAP** (array-based, fully Lite-compatible)
All calculations avoid blocked functions like `ta.sum` or session-restricted VWAP calls. Everything is built manually from volume and price to ensure accuracy across all accounts and all markets.
### Features
• Multi-timeframe VWAPs (Daily/Weekly/Monthly)
• Manual Rolling VWAP with adjustable length
• Optional VWAP bands (Lite-safe)
• Clean visuals with color-coded levels
• Optimized arrays for fast, stable performance
• Free-tier compatible — no premium functions required
This tool is designed for traders who want institutional structure, premium-level VWAP calculations, and consistent execution regardless of plan level. Perfect for scalpers, day traders, futures traders, and anyone who uses intraday volume profiles.
### Recommended Use
• Map directional bias using Daily vs Weekly VWAP
• Use Monthly VWAP for macro trend context
• Track intraday mean reversion with Rolling VWAP
• Use VWAP bands as dynamic support/resistance zones
A simple, powerful, no-restrictions VWAP engine — built for everyone.
Ultimate RSI [captainua]Ultimate RSI
Overview
This indicator combines multiple RSI calculations with volume analysis, divergence detection, and trend filtering to provide a comprehensive RSI-based trading system. The script calculates RSI using three different periods (6, 14, 24) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
The script includes optimized configuration presets for instant setup: Scalping, Day Trading, Swing Trading, and Position Trading. Simply select a preset to instantly configure all settings for your trading style, or use Custom mode for full manual control. All settings include automatic input validation to prevent configuration errors and ensure optimal performance.
Configuration Presets
The script includes preset configurations optimized for different trading styles, allowing you to instantly configure the indicator for your preferred trading approach. Simply select a preset from the "Configuration Preset" dropdown menu:
- Scalping: Optimized for fast-paced trading with shorter RSI periods (4, 7, 9) and minimal smoothing. Noise reduction is automatically disabled, and momentum confirmation is disabled to allow faster signal generation. Designed for quick entries and exits in volatile markets.
- Day Trading: Balanced configuration for intraday trading with moderate RSI periods (6, 9, 14) and light smoothing. Momentum confirmation is enabled for better signal quality. Ideal for day trading strategies requiring timely but accurate signals.
- Swing Trading: Configured for medium-term positions with standard RSI periods (14, 14, 21) and moderate smoothing. Provides smoother signals suitable for swing trading timeframes. All noise reduction features remain active.
- Position Trading: Optimized for longer-term trades with extended RSI periods (24, 21, 28) and heavier smoothing. Filters are configured for highest-quality signals. Best for position traders holding trades over multiple days or weeks.
- Custom: Full manual control over all settings. All input parameters are available for complete customization. This is the default mode and maintains full backward compatibility with previous versions.
When a preset is selected, it automatically adjusts RSI periods, smoothing lengths, and filter settings to match the trading style. The preset configurations ensure optimal settings are applied instantly, eliminating the need for manual configuration. All settings can still be manually overridden if needed, providing flexibility while maintaining ease of use.
Input Validation and Error Prevention
The script includes comprehensive input validation to prevent configuration errors:
- Cross-Input Validation: Smoothing lengths are automatically validated to ensure they are always less than their corresponding RSI period length. If you set a smoothing length greater than or equal to the RSI length, the script automatically adjusts it to (RSI Length - 1). This prevents logical errors and ensures valid configurations.
- Input Range Validation: All numeric inputs have minimum and maximum value constraints enforced by TradingView's input system, preventing invalid parameter values.
- Smart Defaults: Preset configurations use validated default values that are tested and optimized for each trading style. When switching between presets, all related settings are automatically updated to maintain consistency.
Core Calculations
Multi-Period RSI:
The script calculates RSI using the standard Wilder's RSI formula: RSI = 100 - (100 / (1 + RS)), where RS = Average Gain / Average Loss over the specified period. Three separate RSI calculations run simultaneously:
- RSI(6): Uses 6-period lookback for high sensitivity to recent price changes, useful for scalping and early signal detection
- RSI(14): Standard 14-period RSI for balanced analysis, the most commonly used RSI period
- RSI(24): Longer 24-period RSI for trend confirmation, provides smoother signals with less noise
Each RSI can be smoothed using EMA, SMA, RMA (Wilder's smoothing), WMA, or Zero-Lag smoothing. Zero-Lag smoothing uses the formula: ZL-RSI = RSI + (RSI - RSI ) to reduce lag while maintaining signal quality. You can apply individual smoothing lengths to each RSI period, or use global smoothing where all three RSIs share the same smoothing length.
Dynamic Overbought/Oversold Thresholds:
Static thresholds (default 70/30) are adjusted based on market volatility using ATR. The formula: Dynamic OB = Base OB + (ATR × Volatility Multiplier × Base Percentage / 100), Dynamic OS = Base OS - (ATR × Volatility Multiplier × Base Percentage / 100). This adapts to volatile markets where traditional 70/30 levels may be too restrictive. During high volatility, the dynamic thresholds widen, and during low volatility, they narrow. The thresholds are clamped between 0-100 to remain within RSI bounds. The ATR is cached for performance optimization, updating on confirmed bars and real-time bars.
Adaptive RSI Calculation:
An adaptive RSI adjusts the standard RSI(14) based on current volatility relative to average volatility. The calculation: Adaptive Factor = (Current ATR / SMA of ATR over 20 periods) × Volatility Multiplier. If SMA of ATR is zero (edge case), the adaptive factor defaults to 0. The adaptive RSI = Base RSI × (1 + Adaptive Factor), clamped to 0-100. This makes the indicator more responsive during high volatility periods when traditional RSI may lag. The adaptive RSI is used for signal generation (buy/sell signals) but is not plotted on the chart.
Overbought/Oversold Fill Zones:
The script provides visual fill zones between the RSI line and the threshold lines when RSI is in overbought or oversold territory. The fill logic uses inclusive conditions: fills are shown when RSI is currently in the zone OR was in the zone on the previous bar. This ensures complete coverage of entry and exit boundaries. A minimum gap of 0.1 RSI points is maintained between the RSI plot and threshold line to ensure reliable polygon rendering in TradingView. The fill uses invisible plots at the threshold levels and the RSI value, with the fill color applied between them. You can select which RSI (6, 14, or 24) to use for the fill zones.
Divergence Detection
Regular Divergence:
Bullish divergence: Price makes a lower low (current low < lowest low from previous lookback period) while RSI makes a higher low (current RSI > lowest RSI from previous lookback period). Bearish divergence: Price makes a higher high (current high > highest high from previous lookback period) while RSI makes a lower high (current RSI < highest RSI from previous lookback period). The script compares current price/RSI values to the lowest/highest values from the previous lookback period using ta.lowest() and ta.highest() functions with index to reference the previous period's extreme.
Pivot-Based Divergence:
An enhanced divergence detection method that uses actual pivot points instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and RSI. The pivot-based method uses a tolerance-based approach with configurable constants: 1% tolerance for price comparisons (priceTolerancePercent = 0.01) and 1.0 RSI point absolute tolerance for RSI comparisons (pivotTolerance = 1.0). Minimum divergence threshold is 1.0 RSI point (minDivergenceThreshold = 1.0). It looks for two recent pivot points and compares them: for bullish divergence, price makes a lower low (at least 1% lower) while RSI makes a higher low (at least 1.0 point higher). This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period. When enabled, pivot-based divergence replaces the traditional method for more accurate signal generation.
Strong Divergence:
Regular divergence is confirmed by an engulfing candle pattern. Bullish engulfing requires: (1) Previous candle is bearish (close < open ), (2) Current candle is bullish (close > open), (3) Current close > previous open, (4) Current open < previous close. Bearish engulfing is the inverse: previous bullish, current bearish, current close < previous open, current open > previous close. Strong divergence signals are marked with visual indicators (🐂 for bullish, 🐻 for bearish) and have separate alert conditions.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low (current low > lowest low from previous period) but RSI makes a lower low (current RSI < lowest RSI from previous period). Bearish hidden divergence: Price makes a lower high (current high < highest high from previous period) but RSI makes a higher high (current RSI > highest RSI from previous period). These patterns indicate the trend is likely to continue in the current direction.
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 0.1 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired.
Volume Climax is detected when volume exceeds: Volume SMA + (Volume StdDev × Multiplier). This indicates potential capitulation moments where extreme volume accompanies price movements. Volume Dry-Up is detected when volume falls below: Volume SMA - (Volume StdDev × Multiplier), indicating low participation periods that may produce unreliable signals. The volume SMA is cached for performance, updating on confirmed and real-time bars.
Multi-RSI Synergy
The script generates signals when multiple RSI periods align in overbought or oversold zones. This creates a confirmation system that reduces false signals. In "ALL" mode, all three RSIs (6, 14, 24) must be simultaneously above the overbought threshold OR all three must be below the oversold threshold. In "2-of-3" mode, any two of the three RSIs must align in the same direction. The script counts how many RSIs are in each zone: twoOfThreeOB = ((rsi6OB ? 1 : 0) + (rsi14OB ? 1 : 0) + (rsi24OB ? 1 : 0)) >= 2.
Synergy signals require: (1) Multi-RSI alignment (ALL or 2-of-3), (2) Volume confirmation, (3) Reset condition satisfied (enough bars since last synergy signal), (4) Additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance). Separate reset conditions track buy and sell signals independently. The reset condition uses ta.barssince() to count bars since the last trigger, returning true if the condition never occurred (allowing first signal) or if enough bars have passed.
Regression Forecasting
The script uses historical RSI values to forecast future RSI direction using four methods. The forecast horizon is configurable (1-50 bars ahead). Historical data is collected into an array, and regression coefficients are calculated based on the selected method.
Linear Regression: Calculates the least-squares fit line (y = mx + b) through the last N RSI values. The calculation: meanX = sumX / horizon, meanY = sumY / horizon, denominator = sumX² - horizon × meanX², m = (sumXY - horizon × meanX × meanY) / denominator, b = meanY - m × meanX. The forecast projects this line forward: forecast = b + m × i for i = 1 to horizon.
Polynomial Regression: Fits a quadratic curve (y = ax² + bx + c) to capture non-linear trends. The system of equations is solved using Cramer's rule with a 3×3 determinant. If the determinant is too small (< 0.0001), the system falls back to linear regression. Coefficients are calculated by solving: n×c + sumX×b + sumX²×a = sumY, sumX×c + sumX²×b + sumX³×a = sumXY, sumX²×c + sumX³×b + sumX⁴×a = sumX²Y. Note: Due to the O(n³) computational complexity of polynomial regression, the forecast horizon is automatically limited to a maximum of 20 bars when using polynomial regression to maintain optimal performance. If you set a horizon greater than 20 bars with polynomial regression, it will be automatically capped at 20 bars.
Exponential Smoothing: Applies exponential smoothing with adaptive alpha = 2/(horizon+1). The smoothing iterates from oldest to newest value: smoothed = alpha × series + (1 - alpha) × smoothed. Trend is calculated by comparing current smoothed value to an earlier smoothed value (at 60% of horizon): trend = (smoothed - earlierSmoothed) / (horizon - earlierIdx). Forecast: forecast = base + trend × i.
Moving Average: Uses the difference between short MA (horizon/2) and long MA (horizon) to estimate trend direction. Trend = (maShort - maLong) / (longLen - shortLen). Forecast: forecast = maShort + trend × i.
Confidence bands are calculated using RMSE (Root Mean Squared Error) of historical forecast accuracy. The error calculation compares historical values with forecast values: RMSE = sqrt(sumSquaredError / count). If insufficient data exists, it falls back to calculating standard deviation of recent RSI values. Confidence bands = forecast ± (RMSE × confidenceLevel). All forecast values and confidence bands are clamped to 0-100 to remain within RSI bounds. The regression functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, division-by-zero protection, and bounds checking for all array access operations to prevent runtime errors.
Strong Top/Bottom Detection
Strong buy signals require three conditions: (1) RSI is at its lowest point within the bottom period: rsiVal <= ta.lowest(rsiVal, bottomPeriod), (2) RSI is below the oversold threshold minus a buffer: rsiVal < (oversoldThreshold - rsiTopBottomBuffer), where rsiTopBottomBuffer = 2.0 RSI points, (3) The absolute difference between current RSI and the lowest RSI exceeds the threshold value: abs(rsiVal - ta.lowest(rsiVal, bottomPeriod)) > threshold. This indicates a bounce from extreme levels with sufficient distance from the absolute low.
Strong sell signals use the inverse logic: RSI at highest point, above overbought threshold + rsiTopBottomBuffer (2.0 RSI points), and difference from highest exceeds threshold. Both signals also require: volume confirmation, reset condition satisfied (separate reset for buy vs sell), and all additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance).
The reset condition uses separate logic for buy and sell: resetCondBuy checks bars since isRSIAtBottom, resetCondSell checks bars since isRSIAtTop. This ensures buy signals reset based on bottom conditions and sell signals reset based on top conditions, preventing incorrect signal blocking.
Filtering System
RSI(50) Filter: Only allows buy signals when RSI(14) > 50 (bullish momentum) and sell signals when RSI(14) < 50 (bearish momentum). This filter ensures you're buying in uptrends and selling in downtrends from a momentum perspective. The filter is optional and can be disabled. Recommended to enable for noise reduction.
Trend Filter: Uses a long-term EMA (default 200) to determine trend direction. Buy signals require price above EMA, sell signals require price below EMA. The EMA slope is calculated as: emaSlope = ema - ema . Optional EMA slope filter additionally requires the EMA to be rising (slope > 0) for buy signals or falling (slope < 0) for sell signals. This provides stronger trend confirmation by requiring both price position and EMA direction.
ADX Filter: Uses the Directional Movement Index (calculated via ta.dmi()) to measure trend strength. Signals only fire when ADX exceeds the threshold (default 20), indicating a strong trend rather than choppy markets. The ADX calculation uses separate length and smoothing parameters. This filter helps avoid signals during sideways/consolidation periods.
Volume Dry-Up Avoidance: Prevents signals during periods of extremely low volume relative to average. If volume dry-up is detected and the filter is enabled, signals are blocked. This helps avoid unreliable signals that occur during low participation periods.
RSI Momentum Confirmation: Requires RSI to be accelerating in the signal direction before confirming signals. For buy signals, RSI must be consistently rising (recovering from oversold) over the lookback period. For sell signals, RSI must be consistently falling (declining from overbought) over the lookback period. The momentum check verifies that all consecutive changes are in the correct direction AND the cumulative change is significant. This filter ensures signals only fire when RSI momentum aligns with the signal direction, reducing false signals from weak momentum.
Multi-Timeframe Confirmation: Requires higher timeframe RSI to align with the signal direction. For buy signals, current RSI must be below the higher timeframe RSI by at least the confirmation threshold. For sell signals, current RSI must be above the higher timeframe RSI by at least the confirmation threshold. This ensures signals align with the larger trend context, reducing counter-trend trades. The higher timeframe RSI is fetched using request.security() from the selected timeframe.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
RSI Centerline and Period Crossovers
RSI(50) Centerline Crossovers: Detects when the selected RSI source crosses above or below the 50 centerline. Bullish crossover: ta.crossover(rsiSource, 50), bearish crossover: ta.crossunder(rsiSource, 50). You can select which RSI (6, 14, or 24) to use for these crossovers. These signals indicate momentum shifts from bearish to bullish (above 50) or bullish to bearish (below 50).
RSI Period Crossovers: Detects when different RSI periods cross each other. Available pairs: RSI(6) × RSI(14), RSI(14) × RSI(24), or RSI(6) × RSI(24). Bullish crossover: fast RSI crosses above slow RSI (ta.crossover(rsiFast, rsiSlow)), indicating momentum acceleration. Bearish crossover: fast RSI crosses below slow RSI (ta.crossunder(rsiFast, rsiSlow)), indicating momentum deceleration. These crossovers can signal shifts in momentum before price moves.
StochRSI Calculation
Stochastic RSI applies the Stochastic oscillator formula to RSI values instead of price. The calculation: %K = ((RSI - Lowest RSI) / (Highest RSI - Lowest RSI)) × 100, where the lookback is the StochRSI length. If the range is zero, %K defaults to 50.0. %K is then smoothed using SMA with the %K smoothing length. %D is calculated as SMA of smoothed %K with the %D smoothing length. All values are clamped to 0-100. You can select which RSI (6, 14, or 24) to use as the source for StochRSI calculation.
RSI Bollinger Bands
Bollinger Bands are applied to RSI(14) instead of price. The calculation: Basis = SMA(RSI(14), BB Period), StdDev = stdev(RSI(14), BB Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around RSI that adapt to RSI volatility. When RSI touches or exceeds the bands, it indicates extreme conditions relative to recent RSI behavior.
Noise Reduction System
The script includes a comprehensive noise reduction system to filter false signals and improve accuracy. When enabled, signals must pass multiple quality checks:
Signal Strength Requirement: RSI must be at least X points away from the centerline (50). For buy signals, RSI must be at least X points below 50. For sell signals, RSI must be at least X points above 50. This ensures signals only trigger when RSI is significantly in oversold/overbought territory, not just near neutral.
Extreme Zone Requirement: RSI must be deep in the OB/OS zone. For buy signals, RSI must be at least X points below the oversold threshold. For sell signals, RSI must be at least X points above the overbought threshold. This ensures signals only fire in extreme conditions where reversals are more likely.
Consecutive Bar Confirmation: The signal condition must persist for N consecutive bars before triggering. This reduces false signals from single-bar spikes or noise. The confirmation checks that the signal condition was true for all bars in the lookback period.
Zone Persistence (Optional): Requires RSI to remain in the OB/OS zone for N consecutive bars, not just touch it. This ensures RSI is truly in an extreme state rather than just briefly touching the threshold. When enabled, this provides stricter filtering for higher-quality signals.
RSI Slope Confirmation (Optional): Requires RSI to be moving in the expected signal direction. For buy signals, RSI should be rising (recovering from oversold). For sell signals, RSI should be falling (declining from overbought). This ensures momentum is aligned with the signal direction. The slope is calculated by comparing current RSI to RSI N bars ago.
All noise reduction filters can be enabled/disabled independently, allowing you to customize the balance between signal frequency and accuracy. The default settings provide a good balance, but you can adjust them based on your trading style and market conditions.
Alert System
The script includes separate alert conditions for each signal type: buy/sell (adaptive RSI crossovers), divergence (regular, strong, hidden), crossovers (RSI50 centerline, RSI period crossovers), synergy signals, and trend breaks. Each alert type has its own alertcondition() declaration with a unique title and message.
An optional cooldown system prevents alert spam by requiring a minimum number of bars between alerts of the same type. The cooldown check: canAlert = na(lastAlertBar) OR (bar_index - lastAlertBar >= cooldownBars). If the last alert bar is na (first alert), it always allows the alert. Each alert type maintains its own lastAlertBar variable, so cooldowns are independent per signal type. The default cooldown is 10 bars, which is recommended for noise reduction.
Higher Timeframe RSI
The script can display RSI from a higher timeframe using request.security(). This allows you to see the RSI context from a larger timeframe (e.g., daily RSI on an hourly chart). The higher timeframe RSI uses RSI(14) calculation from the selected timeframe. This provides context for the current timeframe's RSI position relative to the larger trend.
RSI Pivot Trendlines
The script can draw trendlines connecting pivot highs and lows on RSI(6). This feature helps visualize RSI trends and identify potential trend breaks.
Pivot Detection: Pivots are detected using a configurable period. The script can require pivots to have minimum strength (RSI points difference from surrounding bars) to filter out weak pivots. Lower minPivotStrength values detect more pivots (more trendlines), while higher values detect only stronger pivots (fewer but more significant trendlines). Pivot confirmation is optional: when enabled, the script waits N bars to confirm the pivot remains the extreme, reducing repainting. Pivot confirmation functions (f_confirmPivotLow and f_confirmPivotHigh) are always called on every bar for consistency, as recommended by TradingView. When pivot bars are not available (na), safe default values are used, and the results are then used conditionally based on confirmation settings. This ensures consistent calculations and prevents calculation inconsistencies.
Trendline Drawing: Uptrend lines connect confirmed pivot lows (green), and downtrend lines connect confirmed pivot highs (red). By default, only the most recent trendline is shown (old trendlines are deleted when new pivots are confirmed). This keeps the chart clean and uncluttered. If "Keep Historical Trendlines" is enabled, the script preserves up to N historical trendlines (configurable via "Max Trendlines to Keep", default 5). When historical trendlines are enabled, old trendlines are saved to arrays instead of being deleted, allowing you to see multiple trendlines simultaneously for better trend analysis. The arrays are automatically limited to prevent memory accumulation.
Trend Break Detection: Signals are generated when RSI breaks above or below trendlines. Uptrend breaks (RSI crosses below uptrend line) generate buy signals. Downtrend breaks (RSI crosses above downtrend line) generate sell signals. Optional trend break confirmation requires the break to persist for N bars and optionally include volume confirmation. Trendline angle filtering can exclude flat/weak trendlines from generating signals (minTrendlineAngle > 0 filters out weak/flat trendlines).
How Components Work Together
The combination of multiple RSI periods provides confirmation across different timeframes, reducing false signals. RSI(6) catches early moves, RSI(14) provides balanced signals, and RSI(24) confirms longer-term trends. When all three align (synergy), it indicates strong consensus across timeframes.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Volume climax detection identifies potential reversal points, while volume dry-up avoidance prevents signals during unreliable low-volume periods.
Trend filters align signals with the overall market direction. The EMA filter ensures you're trading with the trend, and the EMA slope filter adds an additional layer by requiring the trend to be strengthening (rising EMA for buys, falling EMA for sells).
ADX filter ensures signals only fire during strong trends, avoiding choppy/consolidation periods. RSI(50) filter ensures momentum alignment with the trade direction.
Momentum confirmation requires RSI to be accelerating in the signal direction, ensuring signals only fire when momentum is aligned. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Divergence detection identifies potential reversals before they occur, providing early warning signals. Pivot-based divergence provides more accurate detection by using actual pivot points. Hidden divergence identifies continuation patterns, useful for trend-following strategies.
The noise reduction system combines multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to significantly reduce false signals. These filters work together to ensure only high-quality signals are generated.
The synergy system requires alignment across all RSI periods for highest-quality signals, significantly reducing false positives. Regression forecasting provides forward-looking context, helping anticipate potential RSI direction changes.
Pivot trendlines provide visual trend analysis and can generate signals when RSI breaks trendlines, indicating potential reversals or continuations.
Reset conditions prevent signal spam by requiring a minimum number of bars between signals. Separate reset conditions for buy and sell signals ensure proper signal management.
Usage Instructions
Configuration Presets (Recommended): The script includes optimized preset configurations for instant setup. Simply select your trading style from the "Configuration Preset" dropdown:
- Scalping Preset: RSI(4, 7, 9) with minimal smoothing. Noise reduction disabled, momentum confirmation disabled for fastest signals.
- Day Trading Preset: RSI(6, 9, 14) with light smoothing. Momentum confirmation enabled for better signal quality.
- Swing Trading Preset: RSI(14, 14, 21) with moderate smoothing. Balanced configuration for medium-term trades.
- Position Trading Preset: RSI(24, 21, 28) with heavier smoothing. Optimized for longer-term positions with all filters active.
- Custom Mode: Full manual control over all settings. Default behavior matches previous script versions.
Presets automatically configure RSI periods, smoothing lengths, and filter settings. You can still manually adjust any setting after selecting a preset if needed.
Getting Started: The easiest way to get started is to select a configuration preset matching your trading style (Scalping, Day Trading, Swing Trading, or Position Trading) from the "Configuration Preset" dropdown. This instantly configures all settings for optimal performance. Alternatively, use "Custom" mode for full manual control. The default configuration (Custom mode) shows RSI(6), RSI(14), and RSI(24) with their default smoothing. Overbought/oversold fill zones are enabled by default.
Customizing RSI Periods: Adjust the RSI lengths (6, 14, 24) based on your trading timeframe. Shorter periods (6) for scalping, standard (14) for day trading, longer (24) for swing trading. You can disable any RSI period you don't need.
Smoothing Selection: Choose smoothing method based on your needs. EMA provides balanced smoothing, RMA (Wilder's) is traditional, Zero-Lag reduces lag but may increase noise. Adjust smoothing lengths individually or use global smoothing for consistency. Note: Smoothing lengths are automatically validated to ensure they are always less than the corresponding RSI period length. If you set smoothing >= RSI length, it will be auto-adjusted to prevent invalid configurations.
Dynamic OB/OS: The dynamic thresholds automatically adapt to volatility. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Volume Confirmation: Set volume threshold to 1.2 (default) for standard confirmation, higher for stricter filtering, or 0.1 to disable volume filtering entirely.
Multi-RSI Synergy: Use "ALL" mode for highest-quality signals (all 3 RSIs must align), or "2-of-3" mode for more frequent signals. Adjust the reset period to control signal frequency.
Filters: Enable filters gradually to find your preferred balance. Start with volume confirmation, then add trend filter, then ADX for strongest confirmation. RSI(50) filter is useful for momentum-based strategies and is recommended for noise reduction. Momentum confirmation and multi-timeframe confirmation add additional layers of accuracy but may reduce signal frequency.
Noise Reduction: The noise reduction system is enabled by default with balanced settings. Adjust minSignalStrength (default 3.0) to control how far RSI must be from centerline. Increase requireConsecutiveBars (default 1) to require signals to persist longer. Enable requireZonePersistence and requireRsiSlope for stricter filtering (higher quality but fewer signals). Start with defaults and adjust based on your needs.
Divergence: Enable divergence detection and adjust lookback periods. Strong divergence (with engulfing confirmation) provides higher-quality signals. Hidden divergence is useful for trend-following strategies. Enable pivot-based divergence for more accurate detection using actual pivot points instead of simple lowest/highest comparisons. Pivot-based divergence uses tolerance-based matching (1% for price, 1.0 RSI point for RSI) for better accuracy.
Forecasting: Enable regression forecasting to see potential RSI direction. Linear regression is simplest, polynomial captures curves, exponential smoothing adapts to trends. Adjust horizon based on your trading timeframe. Confidence bands show forecast uncertainty - wider bands indicate less reliable forecasts.
Pivot Trendlines: Enable pivot trendlines to visualize RSI trends and identify trend breaks. Adjust pivot detection period (default 5) - higher values detect fewer but stronger pivots. Enable pivot confirmation (default ON) to reduce repainting. Set minPivotStrength (default 1.0) to filter weak pivots - lower values detect more pivots (more trendlines), higher values detect only stronger pivots (fewer trendlines). Enable "Keep Historical Trendlines" to preserve multiple trendlines instead of just the most recent one. Set "Max Trendlines to Keep" (default 5) to control how many historical trendlines are preserved. Enable trend break confirmation for more reliable break signals. Adjust minTrendlineAngle (default 0.0) to filter flat trendlines - set to 0.1-0.5 to exclude weak trendlines.
Alerts: Set up alerts for your preferred signal types. Enable cooldown to prevent alert spam. Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- "sBottom" label (green): Strong bottom signal - RSI at extreme low with strong buy conditions
- "sTop" label (red): Strong top signal - RSI at extreme high with strong sell conditions
- "SyBuy" label (lime): Multi-RSI synergy buy signal - all RSIs aligned oversold
- "SySell" label (red): Multi-RSI synergy sell signal - all RSIs aligned overbought
- 🐂 emoji (green): Strong bullish divergence detected
- 🐻 emoji (red): Strong bearish divergence detected
- 🔆 emoji: Weak divergence signals (if enabled)
- "H-Bull" label: Hidden bullish divergence
- "H-Bear" label: Hidden bearish divergence
- ⚡ marker (top of pane): Volume climax detected (extreme volume) - positioned at top for visibility
- 💧 marker (top of pane): Volume dry-up detected (very low volume) - positioned at top for visibility
- ↑ triangle (lime): Uptrend break signal - RSI breaks below uptrend line
- ↓ triangle (red): Downtrend break signal - RSI breaks above downtrend line
- Triangle up (lime): RSI(50) bullish crossover
- Triangle down (red): RSI(50) bearish crossover
- Circle markers: RSI period crossovers
All markers are positioned at the RSI value where the signal occurs, using location.absolute for precise placement.
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. Multi-RSI Synergy signals (SyBuy/SySell) - Highest priority: Requires alignment across all RSI periods plus volume and filter confirmation. These are the most reliable signals.
2. Strong Top/Bottom signals (sTop/sBottom) - High priority: Indicates extreme RSI levels with strong bounce conditions. Requires volume confirmation and all filters.
3. Divergence signals - Medium-High priority: Strong divergence (with engulfing) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal.
4. Adaptive RSI crossovers - Medium priority: Buy when adaptive RSI crosses below dynamic oversold, sell when it crosses above dynamic overbought. These use volatility-adjusted RSI for more accurate signals.
5. RSI(50) centerline crossovers - Medium priority: Momentum shift signals. Less reliable alone but useful when combined with other confirmations.
6. RSI period crossovers - Lower priority: Early momentum shift indicators. Can provide early warning but may produce false signals in choppy markets.
Best practice: Wait for multiple confirmations. For example, a synergy signal combined with divergence and volume climax provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate RSI " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- ATR and Volume SMA are cached using var variables, updating only on confirmed and real-time bars to reduce redundant calculations
- Forecast line arrays are dynamically managed: lines are reused when possible, and unused lines are deleted to prevent memory accumulation
- Calculations use efficient Pine Script functions (ta.rsi, ta.ema, etc.) which are optimized by TradingView
- Array operations are minimized where possible, with direct calculations preferred
- Polynomial regression automatically caps the forecast horizon at 20 bars (POLYNOMIAL_MAX_HORIZON constant) to prevent performance degradation, as polynomial regression has O(n³) complexity. This safeguard ensures optimal performance even with large horizon settings
- Pivot detection includes edge case handling to ensure reliable calculations even on early bars with limited historical data. Regression forecasting functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, and division-by-zero protection in all mathematical operations
The script should perform well on all timeframes. On very long historical data, forecast lines may accumulate if the horizon is large; consider reducing the forecast horizon if you experience performance issues. The polynomial regression performance safeguard automatically prevents performance issues for that specific regression type.
Known Limitations and Considerations
- Forecast lines are forward-looking projections and should not be used as definitive predictions. They provide context but are not guaranteed to be accurate.
- Dynamic OB/OS thresholds can exceed 100 or go below 0 in extreme volatility scenarios, but are clamped to 0-100 range. This means in very volatile markets, the dynamic thresholds may not widen as much as the raw calculation suggests.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe RSI uses request.security() which may have slight delays on some data feeds.
- Regression forecasting requires at least N bars of history (where N = forecast horizon) before it can generate forecasts. Early bars will not show forecast lines.
- StochRSI calculation requires the selected RSI source to have sufficient history. Very short RSI periods on new charts may produce less reliable StochRSI values initially.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading: Select the "Swing Trading" preset for instant optimal configuration. This preset uses RSI periods (14, 14, 21) with moderate smoothing. Alternatively, manually configure: Use RSI(24) with Multi-RSI Synergy in "ALL" mode, combined with trend filter (EMA 200) and ADX filter. This configuration provides high-probability setups with strong confirmation across multiple RSI periods.
Day Trading: Select the "Day Trading" preset for instant optimal configuration. This preset uses RSI periods (6, 9, 14) with light smoothing and momentum confirmation enabled. Alternatively, manually configure: Use RSI(6) with Zero-Lag smoothing for fast signal detection. Enable volume confirmation with threshold 1.2-1.5 for reliable entries. Combine with RSI(50) filter to ensure momentum alignment. Strong top/bottom signals work well for day trading reversals.
Trend Following: Enable trend filter (EMA) and EMA slope filter for strong trend confirmation. Use RSI(14) or RSI(24) with ADX filter to avoid choppy markets. Hidden divergence signals are useful for trend continuation entries.
Reversal Trading: Focus on divergence detection (regular and strong) combined with strong top/bottom signals. Enable volume climax detection to identify capitulation moments. Use RSI(6) for early reversal signals, confirmed by RSI(14) and RSI(24).
Forecasting and Planning: Enable regression forecasting with polynomial or exponential smoothing methods. Use forecast horizon of 10-20 bars for swing trading, 5-10 bars for day trading. Confidence bands help assess forecast reliability.
Multi-Timeframe Analysis: Enable higher timeframe RSI to see context from larger timeframes. For example, use daily RSI on hourly charts to understand the larger trend context. This helps avoid counter-trend trades.
Scalping: Select the "Scalping" preset for instant optimal configuration. This preset uses RSI periods (4, 7, 9) with minimal smoothing, disables noise reduction, and disables momentum confirmation for faster signals. Alternatively, manually configure: Use RSI(6) with minimal smoothing (or Zero-Lag) for ultra-fast signals. Disable most filters except volume confirmation. Use RSI period crossovers (RSI(6) × RSI(14)) for early momentum shifts. Set volume threshold to 1.0-1.2 for less restrictive filtering.
Position Trading: Select the "Position Trading" preset for instant optimal configuration. This preset uses extended RSI periods (24, 21, 28) with heavier smoothing, optimized for longer-term trades. Alternatively, manually configure: Use RSI(24) with all filters enabled (Trend, ADX, RSI(50), Volume Dry-Up avoidance). Multi-RSI Synergy in "ALL" mode provides highest-quality signals.
Practical Tips and Best Practices
Getting Started: The fastest way to get started is to select a configuration preset that matches your trading style. Simply choose "Scalping", "Day Trading", "Swing Trading", or "Position Trading" from the "Configuration Preset" dropdown to instantly configure all settings optimally. For advanced users, use "Custom" mode for full manual control. The default configuration (Custom mode) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style.
Reducing Repainting: All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality: Multi-RSI Synergy signals in "ALL" mode provide the highest-quality signals because they require alignment across all three RSI periods. These signals have lower frequency but higher reliability. For more frequent signals, use "2-of-3" mode. The noise reduction system further improves signal quality by requiring multiple confirmations (signal strength, extreme zone, consecutive bars, optional zone persistence and RSI slope). Adjust noise reduction settings to balance signal frequency vs. accuracy.
Filter Combinations: Start with volume confirmation, then add trend filter for trend alignment, then ADX filter for trend strength. Combining all three filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering: Set volume threshold to 0.1 or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
RSI Period Selection: RSI(6) is most sensitive and best for scalping or early signal detection. RSI(14) provides balanced signals suitable for day trading. RSI(24) is smoother and better for swing trading and trend confirmation. You can disable any RSI period you don't need to reduce visual clutter.
Smoothing Methods: EMA provides balanced smoothing with moderate lag. RMA (Wilder's smoothing) is traditional and works well for RSI. Zero-Lag reduces lag but may increase noise. WMA gives more weight to recent values. Choose based on your preference for responsiveness vs. smoothness.
Forecasting: Linear regression is simplest and works well for trending markets. Polynomial regression captures curves and works better in ranging markets. Exponential smoothing adapts to trends. Moving average method is most conservative. Use confidence bands to assess forecast reliability.
Divergence: Strong divergence (with engulfing confirmation) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Pivot-based divergence provides more accurate detection by using actual pivot points instead of simple lowest/highest comparisons. Adjust lookback periods based on your timeframe: shorter for day trading, longer for swing trading. Pivot divergence period (default 5) controls the sensitivity of pivot detection.
Dynamic Thresholds: Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Alert Management: Enable alert cooldown (default 10 bars, recommended) to prevent alert spam. Each alert type has its own cooldown, so you can set different cooldowns for different signal types. For example, use shorter cooldown for synergy signals (high quality) and longer cooldown for crossovers (more frequent). The cooldown system works independently for each signal type, preventing spam while allowing different signal types to fire when appropriate.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with caching for ATR and volume calculations. Forecast arrays are dynamically managed to prevent memory accumulation.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Reset conditions and alert cooldowns handle edge cases where conditions never occurred or values are NA.
- Reset Logic: Separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) ensure logical correctness.
- Input Parameters: 60+ customizable parameters organized into logical groups for easy configuration. Configuration presets available for instant setup (Scalping, Day Trading, Swing Trading, Position Trading, Custom).
- Noise Reduction: Comprehensive noise reduction system with multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to reduce false signals.
- Pivot-Based Divergence: Enhanced divergence detection using actual pivot points for improved accuracy.
- Momentum Confirmation: RSI momentum filter ensures signals only fire when RSI is accelerating in the signal direction.
- Multi-Timeframe Confirmation: Optional higher timeframe RSI alignment for trend confirmation.
- Enhanced Pivot Trendlines: Trendline drawing with strength requirements, confirmation, and trend break detection.
Technical Notes
- All RSI values are clamped to 0-100 range to ensure valid oscillator values
- ATR and Volume SMA are cached for performance, updating on confirmed and real-time bars
- Reset conditions handle edge cases: if a condition never occurred, reset returns true (allows first signal)
- Alert cooldown handles na values: if no previous alert, cooldown allows the alert
- Forecast arrays are dynamically sized based on horizon, with unused lines cleaned up
- Fill logic uses a minimum gap (0.1) to ensure reliable polygon rendering in TradingView
- All calculations include safety checks for division by zero and boundary conditions. Regression functions validate that horizon doesn't exceed array size, and all array access operations include bounds checking to prevent out-of-bounds errors
- The script uses separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) for logical correctness
- Background coloring uses a fallback system: dynamic color takes priority, then RSI(6) heatmap, then monotone if both are disabled
- Noise reduction filters are applied after accuracy filters, providing multiple layers of signal quality control
- Pivot trendlines use strength requirements to filter weak pivots, reducing noise in trendline drawing. Historical trendlines are stored in arrays and automatically limited to prevent memory accumulation when "Keep Historical Trendlines" is enabled
- Volume climax and dry-up markers are positioned at the top of the pane for better visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Input Validation: Automatic cross-input validation ensures smoothing lengths are always less than RSI period lengths, preventing configuration errors
- Configuration Presets: Four optimized preset configurations (Scalping, Day Trading, Swing Trading, Position Trading) for instant setup, plus Custom mode for full manual control
- Constants Management: Magic numbers extracted to documented constants for improved maintainability and easier tuning (pivot tolerance, divergence thresholds, fill gap, etc.)
- TradingView Function Consistency: All TradingView functions (ta.crossover, ta.crossunder, ta.atr, ta.lowest, ta.highest, ta.lowestbars, ta.highestbars, etc.) and custom functions that depend on historical results (f_consecutiveBarConfirmation, f_rsiSlopeConfirmation, f_rsiZonePersistence, f_applyAllFilters, f_rsiMomentum, f_forecast, f_confirmPivotLow, f_confirmPivotHigh) are called on every bar for consistency, as recommended by TradingView. Results are then used conditionally when needed. This ensures consistent calculations and prevents calculation inconsistencies.
Quantum Ribbon Lite📊 WHAT IS IT?
Quantum Ribbon Lite is a trend trading indicator built on a 5-layer exponential moving average ribbon system. It analyzes price momentum, volume, and ribbon alignment to generate entry signals with pre-calculated stop loss and take profit levels.
The indicator is designed for traders who want a straightforward approach to trend trading without managing complex configurations.
🔧 HOW IT WORKS
The Ribbon System
The indicator uses 5 pairs of EMAs (10 moving averages total) that create colored "clouds" on your chart:
Blue/Teal ribbons indicate bullish alignment
Red/Pink ribbons indicate bearish alignment
Mixed colors indicate neutral or transitional periods
The ribbon spacing automatically adjusts from a fast EMA (21) to a slow EMA (60), creating layers that show trend strength and direction.
Signal Generation
Signals appear when multiple conditions align:
For LONG signals:
Fast EMAs are above slow EMAs
Price momentum is positive and strong (> 0.5 ATR)
Volume is above average (> 1.1x average)
Ribbon confirms bullish state
Minimum confidence threshold met (filters weak setups)
For SHORT signals:
Fast EMAs are below slow EMAs
Price momentum is negative and strong
Volume is above average
Ribbon confirms bearish state
Minimum confidence threshold met
📈 VISUAL COMPONENTS
Entry Signals
Green "BUY" label = Long entry signal at candle close
Red "SELL" label = Short entry signal at candle close
Signals only trigger on confirmed candle closes (no repainting).
Risk Management Lines
Three lines appear when you have an active position:
White dotted line = Entry price
Red dotted line = Stop loss level
Green dotted line = Take profit target
Performance Dashboard
The stats table shows:
Current position status (In Long/Short or Waiting for signal)
Entry, stop, and target prices when in a trade
Win/loss record
Win rate percentage with color coding
⚙️ SETTINGS
1. Signal Sensitivity (1-10)
Controls the minimum time between signals (cooldown period):
1 = 2 bars between signals (most frequent)
5 = 10 bars between signals (balanced)
10 = 20 bars between signals (most selective)
Lower values generate more signals, higher values filter for better setups.
2. Stop Loss Distance
Determines how stops are calculated using ATR (Average True Range):
Tight = 1.5x ATR from entry
Normal = 2.0x ATR from entry
Wide = 2.5x ATR from entry
ATR adapts to market volatility, so stops are tighter in calm markets and wider in volatile markets.
3. Take Profit Target
Sets your risk-to-reward ratio:
1.5R = Target is 1.5 times your risk
2R = Target is 2 times your risk
3R = Target is 3 times your risk
Example: With a $100 stop distance and 2R setting, your take profit will be $200 away from entry.
4. Show Stats Table
Toggle to show/hide the performance dashboard in the top-right corner.
5. Show Risk Lines
Toggle to show/hide the entry/stop/target lines on the chart.
📋 HOW TO USE
Step 1: Apply to Chart
Add the indicator to your preferred instrument and timeframe (daily recommended).
Step 2: Wait for Signal
A BUY or SELL label will appear on the chart when conditions align.
Step 3: Enter Position
Enter at the close of the signal candle in the indicated direction.
Step 4: Set Risk Parameters Use the displayed lines:
Red line = Your stop loss
Green line = Your take profit
Step 5: Hold Position
Wait for the position to hit either the stop or target. No new signals will appear while you're in a position.
Step 6: Review Results
Check the stats table to track your win rate and adjust settings if needed.
🎯 RISK MANAGEMENT
Stop Loss Calculation
Stops are based on ATR (Average True Range) which measures recent price volatility:
In quiet markets: Stops are placed closer to entry
In volatile markets: Stops are placed further away
This adaptive approach helps prevent stop-hunting while maintaining appropriate risk levels.
Take Profit Calculation
Targets are calculated as a multiple of your stop distance:
If stop is 50 points away and you use 2R, target is 100 points away
Maintains consistent risk-reward ratios across all trades
Required Win Rates To break even after fees:
1.5R requires ~40% win rate
2R requires ~34% win rate
3R requires ~25% win rate
📊 RECOMMENDED USAGE
Timeframes:
Daily charts show strongest performance in testing
4H and 1H timeframes work but may have lower win rates
Lower timeframes generate more signals but reduced quality
Markets:
Works on all instruments: Stocks, Forex, Crypto, Futures, Indices
Best suited for trending markets
May generate false signals in tight ranges or choppy conditions
Structure Analysis + Hammer Alert# Structure Resistance + Hammer Alert
## 📊 Indicator Overview
This indicator integrates Structure Breakout Analysis with Candlestick Pattern Recognition, helping traders identify market trend reversal points and strong momentum signals. Through visual markers and background colors, you can quickly grasp the bullish/bearish market structure.
---
## 🎯 Core Features
### 1️⃣ Structure Resistance System
- Auto-plot Previous High/Low: Automatically marks key support/resistance based on pivot points
- Structure Breakout Detection: Shows "BULL" when price breaks above previous high, "BEAR" when breaking below previous low
- Trend Background Color: Green background for bullish structure, red background for bearish structure
### 2️⃣ Bullish Momentum Candles (Hammer Patterns)
Detects candles with long lower shadows, indicating strong buying pressure at lows:
- 💪Strong Bull (Bullish Hammer): Green marker, bullish close with significant lower shadow
- 💪Weak Bull (Bearish Hammer): Teal marker, bearish close but strong lower shadow
### 3️⃣ Bearish Momentum Candles (Inverted Hammer/Shooting Star)
Detects candles with long upper shadows, indicating strong selling pressure at highs:
- 💪Weak Bear (Bullish Inverted Hammer): Orange marker, bullish close but significant upper shadow
- 💪Strong Bear (Shooting Star): Red marker, bearish close with significant upper shadow
### 4️⃣ Smart Marker Sizing
Markers automatically adjust size based on current trend:
- With-Trend Signals: Larger markers (e.g., hammer in bullish trend)
- Counter-Trend Signals: Smaller markers (e.g., shooting star in bullish trend)
- Neutral Trend: Medium-sized markers
---
## ⚙️ Parameter Settings
### Structure Resistance Parameters
- Swing Length: Default 5, higher values = clearer structure but fewer signals
- Show Lines/Labels: Toggle on/off options
### Bullish Momentum (Hammer) Parameters
- Lower Shadow/Body Ratio: Default 2.0, lower shadow must be 2x body size
- Upper Shadow/Body Ratio Limit: Default 0.2, upper shadow cannot be too long
- Body Position Ratio: Default 2.0, ensures body is at the top of candle
### Bearish Momentum (Inverted Hammer) Parameters
- Upper Shadow/Body Ratio: Default 2.0, upper shadow must be 2x body size
- Lower Shadow/Body Ratio Limit: Default 0.2, lower shadow cannot be too long
- Body Position Ratio: Default 2.0, ensures body is at the bottom of candle
### Filter & Display Settings
- Minimum Body Size: Filters out doji-like candles with tiny bodies
- Pattern Type Toggles: Show/hide different pattern types individually
- Background Transparency: Adjust background color intensity (higher = more transparent)
- Label Distance: Adjust marker distance from candles
---
## 📈 Usage Guidelines
### Trading Signal Interpretation
**Long Signals (Strongest to Weakest):**
1. Bullish Structure + Bullish Hammer (💪Strong Bull) → Strongest long signal
2. Bullish Structure + Bearish Hammer (💪Weak Bull) → Secondary long signal
3. Bearish Structure + Hammer → Potential reversal signal
**Short Signals (Strongest to Weakest):**
1. Bearish Structure + Shooting Star (💪Strong Bear) → Strongest short signal
2. Bearish Structure + Bullish Inverted Hammer (💪Weak Bear) → Secondary short signal
3. Bullish Structure + Shooting Star → Potential reversal signal
### Practical Tips
✅ Trend Following: Prioritize large marker signals (aligned with trend)
✅ Structure Confirmation: Wait for structure breakout before entry to avoid false breaks
✅ Multiple Timeframes: Confirm trend direction with higher timeframes
⚠️ Counter-Trend Caution: Small marker signals (counter-trend) require stricter risk management
---
## 🔔 Alert Setup
This indicator provides 9 alert conditions:
- Individual Patterns: Bullish Hammer, Bearish Hammer, Bullish Inverted Hammer, Shooting Star
- Combined Signals: Bullish Momentum, Bearish Momentum, Bull/Bear Momentum
- Structure Breakouts: Bullish Structure Break, Bearish Structure Break
---
## 💡 FAQ
**Q: Why do hammers sometimes appear without markers?**
A: Check "Minimum Body Size" setting - the candle body may be too small and filtered out
**Q: Too many or too few markers?**
A: Adjust "Lower Shadow/Body Ratio" or "Upper Shadow/Body Ratio" parameters - higher ratios = stricter conditions
**Q: How to see only the strongest signals?**
A: Disable "Bearish Hammer" and "Bullish Inverted Hammer", keep only "Bullish Hammer" and "Shooting Star"
**Q: Can it be used on all timeframes?**
A: Yes, but recommended for 15-minute and higher timeframes - shorter timeframes have more noise
---
## 📝 Disclaimer
⚠️ This indicator is a supplementary tool and should be used with other technical analysis methods
⚠️ Past performance does not guarantee future results - always practice proper risk management
⚠️ Recommended to test on demo account before live trading
---
**Version:** Pine Script v6
**Applicable Markets:** Stocks, Futures, Cryptocurrencies, and all markets
SPX-to-ES Gamma Levels (20 GEX Levels)Draws GEX levels specified by user on ES futures chart.
User inputs SPX-to-ES offset, SPX price level, and length of box
DeltaBurst Locator ## DeltaBurst Locator
DeltaBurst Locator is a sponsorship detector that divides OBV impulse by price thrust, normalizes the ratio, and cross-checks it against a higher timeframe confirmation stream. The oscillator turns the abstract "is this move real?" question into a precise number, exposing accumulation, distribution, and exhaustion across futures and stocks.
HOW IT WORKS
OBV Impulse vs. Price Change – Smoothed deltas of On-Balance Volume and price are ratioed, then normalized using a hyperbolic tangent function to prevent single prints from dominating.
Signal vs. Confirmation – A short EMA produces the execution signal while a higher-timeframe request.security() feed validates whether broader flows agree.
Spectrum Classification – Expansion/compression metrics grade whether current aggression is intense or fading, while ±0.65 bands define exhaust/vacuum zones.
Slope Divergences – Linear regression slopes on both price and the ratio expose bullish/bearish sponsorship mismatches before candles reverse.
HOW TO USE IT
Breakout Validation : Only chase breakouts when both local and higher-timeframe ratios are on the same side of zero; mixed signals suggest liquidity is fading.
Absorption Trades : When the histogram spikes beyond ±0.65 but the EMA lags, expect absorption; combine with price structure for pinpoint reversals.
News/Event Monitoring : During earnings or macro releases, watch for ratio collapses with price still rising—this flags forced moves driven by hedging rather than real demand.
VISUAL FEATURES
Color logic: Positive sponsorship fills teal, negative fills crimson against the zero line, making intent obvious at a glance.
Optional markers: Burst triangles and divergence dots can be enabled when you need explicit annotations or left off for a minimalist panel.
Compression heatmap: Background shading communicates whether the market is coiling (high compression) or erupting (low compression).
Dashboard: Displays the live ratio, higher-timeframe ratio, and agreement state to speed up scanning across tickers.
PARAMETERS
Fast Pulse Length (default: 5): Controls the smoothing window for price change detection.
Slow Equilibrium Length (default: 34): Window for expansion/compression calculation.
OBV Smooth (default: 8): Smoothing period for OBV impulse calculation.
Ratio Ceiling (default: 3.0): Controls how aggressively values saturate; raise for high-volatility tickers.
Signal EMA (default: 4): EMA period for the signal line.
Confirmation Timeframe (default: 240): Pick a higher anchor (e.g., 4H) to validate intraday moves.
Divergence Window (default: 21): Window for slope-based divergence detection.
Show Burst Markers (default: disabled): Toggle burst triangles on demand.
Show Divergence Markers (default: disabled): Toggle divergence dots on demand.
Show Delta Dashboard (default: enabled): Hide when screen space is limited; leave on for desk broadcasts.
ALERTS
The indicator includes four alert conditions:
DeltaBurst Bull: Spotted a bullish liquidity burst
DeltaBurst Bear: Spotted a bearish liquidity burst
DeltaBurst Bull Div: Detected bullish sponsorship divergence
DeltaBurst Bear Div: Detected bearish sponsorship divergence
Hope you enjoy!
ChronoFlow## ChronoFlow Sentinel
ChronoFlow Sentinel is a regime console that blends normalized fast/mid/slow regression slopes, phases them against a dual-speed EMA spread, and grades alignment so you instantly know whether the time stack is trending, rotating, or fighting itself.
HOW IT WORKS
Multi-Timeframe Slopes – Linear regression slopes are fetched via request.security() for your chosen fast, mid, and slow frames.
Normalized Weighting – User weights are rescaled so the composite chrono score is always on a consistent scale, regardless of configuration.
Phase Differential – The indicator subtracts a slow EMA from a fast EMA to detect whether price impulse confirms the slope mix.
Alignment Score – Signs of the three slopes are compared to compute a 0-1 alignment metric; backgrounds and alerts use this to signal confidence vs. chop.
Diagnostics Console – A bottom-right table streams each slope, the blended score, and which timeframe currently dominates.
HOW TO USE IT
Trend Qualification : Only push multi-contract positions when chrono score is positive, phase is positive, and alignment stays above your alert threshold (default 0.66).
Chop Defense : When alignment dips and conflict markers appear, immediately switch into mean-reversion tactics or sit flat.
Swing + Intraday Bridge : Pair ChronoFlow with other structure tools; require both aligned backgrounds and price confirmation before committing to swing entries.
CRYPTOCAP:SOL | CRYPTOCAP:XRP side by side view with ChronoFlow
VISUAL FEATURES
Optional flow curves: Enable Plot Raw Flows to audit each timeframe's slope when troubleshooting a signal.
Background intensity: Opacity auto-adjusts with alignment, so weak trends look faded while strong regimes glow vividly.
Signal/Conflict toggles: Long/short and chop markers are opt-in, keeping the panel pristine until you need annotations.
Conflict alerts: Built-in alert condition fires whenever alignment falls below your threshold, warning execution layers to scale down risk.
PARAMETERS
Fast Frame (default: 30): Fast timeframe for regression slope calculation.
Mid Frame (default: 120): Mid timeframe for regression slope calculation.
Slow Frame (default: D): Slow timeframe for regression slope calculation.
Fast Regression (default: 21): Regression length for fast timeframe.
Mid Regression (default: 34): Regression length for mid timeframe.
Slow Regression (default: 55): Regression length for slow timeframe.
Phase Length (default: 13): EMA period for phase differential calculation.
Fast Weight (default: 0.45): Influence of the fast timeframe in the composite score.
Mid Weight (default: 0.35): Influence of the mid timeframe in the composite score.
Slow Weight (default: 0.20): Influence of the slow timeframe in the composite score.
Plot Raw Flows (default: disabled): Enable to audit each timeframe's slope when troubleshooting.
Show Signal Labels (default: disabled): Toggle long/short signal markers.
Show Conflict Labels (default: disabled): Toggle conflict/chop markers.
Conflict Alert Level (default: 0.66): Set the alignment threshold that should trigger reduced size or flat positioning.
ALERTS
The indicator includes three alert conditions:
ChronoFlow Bullish: Detected a bullish regime shift
ChronoFlow Bearish: Detected a bearish regime shift
ChronoFlow Conflict: Flagged a low-alignment regime
LIMITATIONS
This indicator requires access to multiple timeframes via request.security() , which may consume additional resources. The alignment score is a simplified metric—real market conditions are more complex than a 0-1 scale can capture. The phase differential calculation assumes EMA spreads are meaningful proxies for momentum, which may not hold in all market regimes. Users should test parameter combinations on their specific instruments and timeframes, as default values are optimized for typical index futures trading.
---
Weekly Anchored VWAP (Auto Reset)This Anchored VWAP automatically resets to Sunday Futures open at 6 PM NYC EST. It shows up on all time frames
Gold-to-GDX Flow Ratio (Metal vs Miners)# 📊 Indicator: Gold/GDX Flow Ratio (Metal vs Miners)
🔎 What it does
This indicator tracks the **relative flow of capital between gold and gold miners (GDX ETF)**. By plotting the ratio of gold price to GDX, it shows whether investors are favoring the **metal itself** or the **equities that mine it**.
- **Ratio rising:** Flow favors gold (metal > miners).
- **Ratio falling:** Flow favors miners (miners > metal).
- **Crossovers:** Fast/slow EMA crossovers highlight regime shifts.
- **Z‑score bands:** ±2 standard deviations flag stretched conditions, often precursors to mean reversion.
⚙️ Features
- **Customizable inputs:** Choose spot gold (`XAUUSD`) or futures (`GC1!`), and GDX ETF.
- **Moving averages:** Fast and slow EMAs to define flow regimes.
- **Z‑score overlay:** Detects extremes in the ratio.
- **Alerts:** Triggered on regime flips or exhaustion signals.
- **Prompt flow option:** Displays the current ratio as a clear on‑screen figure for quick read.
🎭 Why it matters
- **Gold vs miners divergence:** Miners often amplify moves in gold, but sometimes decouple. This ratio helps spot those divergences early.
- **Flow diagnostics:** Instead of vague “profit taking” narratives, you see where capital is actually rotating.
- **Tactical entries:** Use resistance/stop‑cluster maps in gold together with this ratio to time miner trades more effectively.
🧭 How to use
1. Add the indicator to your chart.
2. Watch the **ratio trend**: rising = metal strength, falling = miner strength.
3. Use **EMA crossovers** as regime signals.
4. Treat **Z‑score extremes** as caution zones for stretched flows.
5. Combine with your VWAP and resistance overlays for execution discipline.
Echo Chamber [theUltimator5]The Echo Chamber - When history repeats, maybe you should listen.
Ever had that eerie feeling you've seen this exact price action before? The Echo Chamber doesn't just give you déjà vu—it mathematically proves it, scales it, and projects what happened next.
📖 WHAT IT DOES
The Echo Chamber is an advanced pattern recognition tool that scans your chart's history to find segments that closely match your current price action. But here's where it gets interesting: it doesn't just find similar patterns - It expands and contracts the time window to create a uniquely scaled fractal. Patterns don't always follow the same timeframe, but they do follow similar patterns.
Using a custom correlation analysis algorithm combined with flexible time-scaling, this indicator:
Finds historical price segments that mirror your current market structure
Scales and overlays them perfectly onto your current chart
Projects forward what happened AFTER that historical match
Gives you a visual "echo" from the past with a glimpse into potential futures
══════════════════════════════
HOW TO USE IT
This indicator starts off in manual mode, which means that YOU, the user, can select the point in time that you want to project from. Simply click on a point in time to set the starting value.
Once you select your point in time, the indicator will automatically plot the chosen historical chart pattern and correlation over the current chart and project the price forwards based on how the chart looked in the past. If you want to change the point in time, you can update it from the settings, or drag the point on the chart over to a new position.
You can manually select any point in time, and the chart will quickly update with the new pattern. A correlation will be shown in a table alongside the date/timestamp of the selected point in time.
You can switch to auto mode, which will automatically search out the best-fit pattern over a defined lookback range and plot the past/future projection for you without having to manually select a point in time at all. It simply finds the best fit for you.
You can change the scale factor by adjusting multiplication and division variables to find time-scaled fractal patterns.
══════════════════════════════
🎯 KEY FEATURES
Two Operating Modes:
🔧 MANUAL MODE - Select any historical point and see how it correlates with current price action in real-time. Perfect for:
• Analyzing specific past events (crashes, rallies, consolidations)
• Testing historical patterns against current conditions
• Educational analysis of market structure repetition
🤖 AUTO MODE - It automatically scans through your lookback period to find the single best-correlated historical match. Ideal for:
• Quick pattern discovery
• Systematic trading approach
• Unbiased pattern recognition
Time Warp Technology:
The time warp feature expands and compresses the correlation window to provide a custom fractal so you can analyze windows of time that don't necessarily match the current chart.
💡 *Example: Multiplier=3, Divisor=2 gives you a 1.5x time stretch—perfect for finding patterns that played out 50% slower than current price action.*
Drawing Modes:
Scale Only : Pure vertical scaling—matches price range while maintaining temporal alignment at bar 0
Rotate & Scale : Advanced geometric transformation that anchors both the start AND end points, creating a rotated fit that matches your current segment's slope and range
Visual Components:
🟠 Orange Overlay : The historical match, perfectly scaled to your current price action
🟣 Purple Projection : What happened NEXT after that historical pattern (dotted line into the future)
📦 Highlight Boxes : Shows you exactly where in history these patterns came from
📊 Live Correlation Table : Real-time correlation coefficient with color-coded strength indicator
══════════════════════════════
⚙️ PARAMETERS EXPLAINED
Correlation Window Length (20) : How many bars to match. Smaller = more precise matches but noisier. Larger = broader patterns but fewer matches.
Note: if this value is too high in auto mode, the script may time out from computational overload.
Multiplication Factor : Historical time multiplier. 2 = sample every 2nd bar from history. Higher values find slower historical patterns.
Division Factor : Historical time divisor applied after multiplication. Final sample rate = (Length × Factor) ÷ Divisor, rounded down.
Lookback Range : How far back to search for patterns. More history = better chance of finding matches but slower performance.
Note: if this value is too high in auto mode, the script may time out from computational overload.
Future Projection Length : How many bars forward to project from the historical match. Your crystal ball's focal length.
══════════════════════════════
💼 TRADING APPLICATIONS
Trend Continuation/Reversal :
If the purple projection continues the current trend, that's your historical confirmation. If it reverses, you've found a potential turning point that's happened before under similar conditions.
Support/Resistance Validation :
Does the projection respect your S/R levels? History suggests those levels matter. Does it break through? You've found historical precedent for a breakout.
Time-Based Exits :
The projection shows not just WHERE price might go, but WHEN. Use it to anticipate timing of moves.
Multi-Timeframe Analysis :
Use time compression to overlay higher timeframe patterns onto lower timeframes. See daily patterns on hourly charts, weekly on daily, etc.
Pattern Education :
In Manual Mode, study how specific historical events correlate with current conditions. Build your pattern recognition library.
══════════════════════════════
📊 CORRELATION TABLE
The table shows your correlation coefficient as a percentage:
80-100%: Extremely strong correlation—history is practically repeating
60-80%: Strong correlation—significant similarity
40-60%: Moderate correlation—some structural similarity
20-40%: Weak correlation—limited similarity
0-20%: Very weak correlation—essentially random match
-20-40%: Weak inverse correlation
-40-60%: Moderate inverse correlation
-60-80%: Strong inverse correlation
-80-100%: Extremely strong inverse correlation—history is practically inverting
**Important**: The correlation measures SHAPE similarity, not price level. An 85% correlation means the price movements follow a very similar pattern, regardless of whether prices are higher or lower.
══════════════════════════════
⚠️ IMPORTANT DISCLAIMERS
- Past performance does NOT guarantee future results (but it sure is interesting to study)
- High correlation doesn't mean causation—markets are complex adaptive systems
- Use this as ONE tool in your analytical toolkit, not a standalone trading system
- The projection is what HAPPENED after a similar pattern in the past, not a prediction
- Always use proper risk management regardless of what the Echo Chamber suggests
══════════════════════════════
🎓 PRO TIPS
1. Start with Auto Mode to find high-correlation matches, then switch to Manual Mode to study why that period was similar
2. Experiment with time warping on different timeframes—a 2x factor on a daily chart lets you see weekly patterns
3. Watch for correlation decay —if correlation drops sharply after the match, current conditions are diverging from history
4. Combine with volume —check if volume patterns also match
5. Use "Rotate & Scale" mode when the current trend angle differs from the historical match
6. Increase lookback range to 500-1000+ on daily/weekly charts for finding rare historical parallels
══════════════════════════════
🔧 TECHNICAL NOTES
- Uses Pearson correlation coefficient for pattern matching
- Implements range-based scaling to normalize different price levels
- Rotation mode uses linear interpolation for geometric transformation
- All calculations are performed on close prices
- Boxes highlight actual historical bar ranges (high/low)
- Maximum of 500 lines and 500 boxes for performance optimization
Market Internals Dashboard: Trend, Breadth, Volume PressureOverview
The Market Internals Dashboard Pro is a professional-grade toolkit modeled after what prop firms and institutional desks use to understand real intraday market conditions.
Instead of relying solely on price, this indicator analyzes three critical internal forces:
USI:TICK : Microstructure buying/selling pressure
USI:ADD : Market breadth participation (advancers vs decliners proxy)
USI:VOLD : Volume pressure (buying vs selling volume)
These internals determine whether the market is:
Trending or ranging
Bullish or bearish
Likely to follow through or mean-revert
Favoring continuation trades or fade setups
The script also produces a Market Environment Score (–3 to +3) and a real-time Trade Recommendation Table that updates every bar. This helps answer the single most important question in intraday trading: “What type of trades should I be taking right now given current market conditions?”
1. TICK Proxy: Microstructure Pressure
Measures buying vs. selling aggressiveness across the market This proxy simulates the NYSE TICK index by evaluating whether bars close above or below the prior bar.
Positive TICK → Buyers lifting offers
Negative TICK → Sellers hitting bids
Neutral TICK → No microstructure conviction
Why it matters:
Strong TICK is often the earliest sign of:
Trend initiation
Algorithmic buy/sell programs
Shifts in short‑term sentiment
Weak or choppy TICK often signals:
Range conditions
Failed breakouts
Low‑quality trend attempts
2. ADD Proxy: Market Breadth Strength
Shows how many stocks are participating in a move Because real USI:ADD data isn't available for all users, this script uses a self-contained breadth approximation built from:
Price slope
Volatility expansion
Volume‑weighted directional pressure
Why it matters? Breadth reveals whether the move is:
Broad and healthy → likely to continue
Narrow and weak → vulnerable to reversal
Strong trends require strong breadth. Weak breadth often precedes:
Failed breakouts
Reversal setups
Chop (ewww)
3. VOLD Proxy: Volume Pressure
The most important internal of all. This proxy measures whether trading volume is flowing into up bars or down bars.
Positive VOLD → Net buying pressure
Negative VOLD → Net selling pressure
Why it matters:
VOLD is considered the "truth serum" of the tape:
Strong VOLD drives trend days
Negative VOLD kills long setups
Mixed VOLD creates chop
You should rarely trend trade against VOLD.
4. Market Environment Score (–3 to +3)
The Environment Score combines the three internals into a single view:
|| Score || Interpretation || Market Type ||
| +3 | Strong Bull | Trend Day (Long) |
| +2 | Bull | Pullback Buys / Breakout Continuation |
| +1 | Mild Bull | Conservative Long Scalps |
| 0 | Neutral | CHOP – VWAP Reversions / Fades |
| -1 | Mild Bear | Short Failed Breakouts |
| -2 | Bear | Trend Shorts / Breakdown Continuation |
| -3 | Strong Bear | Trend Day (Short) |
Why it matters:
The market behaves differently depending on internal alignment. This score prevents traders from:
Forcing trend trades on chop days
Chasing breakouts when breadth is weak
Fading strong directional days
It tells you in real time whether conditions favor:
Trend following
Mean reversion
Breakout continuation
Liquidity grabs
Or sitting out
5. Trade Recommendation Engine
Based on the Environment Score, the indicator outputs a real-time playbook recommending which trade types have the highest probability of success right now.
Examples:
Score = 0 (Neutral)
VWAP Reversions
Liquidity Grabs
Failed Breakouts
Quick Scalps
Score = +2/+3 (Strong Bull)
Pullback Buys
Breakout Continuation
Trend Longs
Score = -2/-3 (Strong Bear)
Pullback Shorts
Breakdown Continuation
Trend Shorts Only
This turns the internals into a trade selection engine, not just a data display.
Why Market Internals Matter
Most indicators look only at price, but price is the result, not the cause.
Market internals show:
Where volume is flowing
Whether buying is aggressive or passive
How many stocks are participating
Whether algorithms are supporting or fighting the move
This dashboard helps traders:
Avoid chop
Stay out of low‑quality setups
Time entries with institutional flows
Improve win rate by trading the right setups at the right times
Final Notes
Works on any symbol or timeframe
Fully customizable colors
Two clean visual tables: Internals + Trade Playbook
Ideal for futures, ETFs, and options day traders
If you enjoy this tool, please like, comment, or follow. More enhancements are coming.
Trade smart.
BTC – LEVR: Leverage Efficiency & Volume RatioLEVR: Leverage Efficiency & Volume Ratio
Observation-only. Data: IntoTheBlock.
Overview
The Leverage Efficiency & Volume Ratio (LEVR) is a market structure oscillator designed to detect "Paper Bubbles" and "Organic Bottoms" by separating speculative greed from network utility. While most indicators analyze price action, LEVR analyzes market fragility. It operates on the thesis that Sustainable Rallies are driven by Spot/Network Activity, while Fragile Rallies are driven by Derivatives Leverage.
Synergy
How it works with VERI
LEVR is designed to be the tactical counterpart to the fundamental VERI Indicator (Valuation & Entity Ratio Index).
Use VERI for Strategy: To identify Value. (Is Bitcoin cheap? Are Whales buying?)
Use LEVR for Risk: To identify Structure. (Is the current price move real, or is it a leverage bubble about to pop?)
The "Perfect Setup"
The strongest buy signals occur when VERI is in the Accumulation Zone (Whales buying) AND LEVR is in the Organic Zone (Leverage is flushed out) (as it was the case in the Dec 2022 Bear Market Bottom).
Why LEVR is Unique
Standard indicators often fail to contextualize Open Interest:
vs. Raw Open Interest: Raw OI always trends up over time as the market grows. LEVR solves this by normalizing OI against Active Addresses. This reveals when leverage is outpacing actual adoption.
vs. ELR (Estimated Leverage Ratio): Classic ELR divides Open Interest by Exchange Reserves. However, Exchange Reserves are notoriously difficult to track accurately. LEVR uses Active Addresses (Network Utility) as a cleaner, more reliable denominator for network health.
Methodology
The Mathematics: The indicator calculates a normalized Z-Score ratio between two IntoTheBlock datasets:
The Numerator (Greed): Perpetual Open Interest. The total dollar value of all open futures contracts. This represents the "Gambling" capital.
The Denominator (Utility): Active Addresses. The number of unique addresses transacting on-chain. This represents the "Real" user base.
The Formula : LEVR = Z-Score ( Perpetual Open Interest / Active Addresses )
How to Interpret the Visuals
The line color changes dynamically to reflect the current risk regime:
🟥 Speculative Premium (Red Line > 2.0) :
Signal: "Leverage Bubble."
Context: Open Interest is rising significantly faster than User Growth. The rally is fueled by debt.
Risk: High probability of a "Long Squeeze" or liquidation cascade.
🟦 Organic Base (Blue Line < -1.5) :
Signal: "Spot Driven Market."
Context: Speculators have been flushed out, but active network usage remains high. The line turns Blue to signal a healthy opportunity zone.
Risk: Low. Historically marks robust bottoms where hands are strong.
🟧 Neutral (Orange Line) :
The market is in a transition phase between organic growth and speculation.
Settings & Inputs
Users can customize the sensitivity of the Z-Score to fit their trading style (in brackets their current standard value):
Lookback Period (365) : The rolling window used to establish the "Baseline." A 365-day window captures the yearly trend.
Signal Smoothing (7) : A short moving average to reduce daily data noise.
Bubble Zone Top/Bottom (3.0 / 2.0) : The thresholds for the Red Zone. Raising the "Top" value will only show the most extreme, generational leverage bubbles.
Organic Zone Top/Bottom (-1.5 / -2.5) : The thresholds for the Green Zone. Lowering these values requires a deeper "flush" to trigger a signal.
Optimization
This indicator is mathematically optimized for the Daily (1D) timeframe. Using it on lower timeframes may result in noise due to the daily resolution of on-chain data.
Important Note on Historical Data
Please be aware that aggregated global Perpetual Open Interest data only becomes reliable and widely available starting around 2020-2021.
Pre-2021: The indicator will show a flat line or empty values. This is not a bug; it reflects the lack of historical derivatives market data for that period.
2021-Present: The indicator functions fully as intended.
Credits
Concept inspired by the "Estimated Leverage Ratio" (ELR) popularised by CryptoQuant and analysts like Willy Woo. LEVR adapts this concept for TradingView by substituting Exchange Reserves with Network Activity for better reliability.
Disclaimer
This tool is for research purposes only. It visualizes market structure data and does not constitute financial advice.
Tags
bitcoin, btc, open interest, leverage, on-chain, intotheblock, risk, derivatives, levr, veri
SVE Pivot PointsSVE Pivot Points are a modified variation of traditional pivot points created by Sylvain Vervoort (SVE). They are designed to adapt more dynamically to price volatility and short-term market structure, giving traders more responsive support and resistance levels.
Unlike standard floor pivots that rely only on the previous period’s high/low/close, SVE Pivot Points incorporate volatility-based smoothing, making the levels more stable during choppy markets and more reactive when volatility expands.
1. Volatility-Adaptive Formulas
SVE uses smoothing techniques (often EMA-based or Vervoort’s proprietary volatility filters) that adjust to current market noise.
This reduces false levels and gives clearer reaction zones.
2. Dynamic Support & Resistance
You still get:
• Pivot (P)
• Support levels (S1, S2, S3)
• Resistance levels (R1, R2, R3)
But they update based on volatility-weighted highs/lows instead of raw numbers.
3. More Reliable in Intraday Trading
SVE pivot points were designed to:
• Improve accuracy
• Reduce whipsaw
• Give better intraday turning points
This is why they’re popular among futures, forex, and index traders.
YM Ultimate SNIPER v5# YM Ultimate SNIPER v5 - Documentation & Trading Guide
## 🎯 Unified GRA + DeepFlow | YM/MYM Optimized
**TARGET: 3-7 High-Confluence Trades per Day**
---
## ⚡ QUICK START
```
┌─────────────────────────────────────────────────────────────────┐
│ YM ULTIMATE SNIPER v5 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ SIGNALS: │
│ S🎯 = S-Tier (50+ pts) → HOLD position │
│ A🎯 = A-Tier (25-49 pts) → SWING trade │
│ B🎯 = B-Tier (12-24 pts) → SCALP quick │
│ Z = Zone entry (price at FVG zone) │
│ │
│ SESSIONS (ET): │
│ LDN = 3:00-5:00 AM (London) │
│ NY = 9:30-11:30 AM (New York Open) │
│ PWR = 3:00-4:00 PM (Power Hour) │
│ │
│ COLORS: │
│ 🟩 Green zones = Bullish FVG (buy zone) │
│ 🟥 Red zones = Bearish FVG (sell zone) │
│ 🟣 Purple lines = Single prints (S/R levels) │
│ │
│ TABLE (Top Right): │
│ Pts = Candle point range │
│ Tier = S/A/B/X classification │
│ Vol = Volume ratio (green = good) │
│ Delta = Buy/Sell dominance │
│ Sess = Current session │
│ Zone = In FVG zone status │
│ Score = Confluence score /10 │
│ CVD = Cumulative delta direction │
│ R:R = Risk:Reward ratio │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 📋 VERSION 5 CHANGES
### What's New
- **Removed all imbalance code** - caused compilation errors
- **Simplified delta analysis** - uses candle structure instead of intrabar data
- **Cleaner confluence scoring** - 5 clear factors, max 10 points
- **Reliable table** - updates on last bar only, no flickering
- **Works on YM and MYM** - same logic applies to micro contracts
### Removed Features
- Candle-anchored imbalance markers
- Imbalance S/R zones
- Intrabar volume profile analysis
- POC visualization
### Kept & Improved
- Tier classification (S/A/B)
- FVG zone detection & visualization
- Single print detection
- Session windows with backgrounds
- Confluence scoring
- Stop/Target auto-calculation
- All alerts
---
## 🎯 SIGNAL TYPES
### Tier Signals (S🎯, A🎯, B🎯)
These are high-confluence signals that pass all filters:
| Tier | Points | Value/Contract | Action | Hold Time |
|------|--------|----------------|--------|-----------|
| **S** | 50+ | $250+ | HOLD | 2-5 min |
| **A** | 25-49 | $125-245 | SWING | 1-3 min |
| **B** | 12-24 | $60-120 | SCALP | 30-90 sec |
**Filters Required:**
1. Tier threshold met (points)
2. Volume ≥ 1.8x average
3. Delta dominance ≥ 62%
4. Body ratio ≥ 70%
5. Range ≥ 1.3x average
6. Proper wicks (no reversal wicks)
7. CVD confirmation (optional)
8. In trading session
### Zone Signals (Z)
Zone entries trigger when:
- Price is inside an FVG zone
- Delta shows dominance in zone direction
- Volume is above average
- In active session
- No tier signal already present
---
## 📊 CONFLUENCE SCORING
**Maximum Score: 10 points**
| Factor | Points | Condition |
|--------|--------|-----------|
| Tier | 1-3 | B=1, A=2, S=3 |
| In Zone | +2 | Price inside FVG zone |
| Strong Volume | +2 | Volume ≥ 2x average |
| Strong Delta | +2 | Delta ≥ 70% |
| CVD Momentum | +1 | CVD trending with signal |
**Score Interpretation:**
- **7-10**: Elite setup - full size
- **5-6**: Good setup - standard size
- **4**: Minimum threshold - reduced size
- **< 4**: No signal shown
---
## ⏰ SESSION WINDOWS
### London (3:00-5:00 AM ET)
- European institutional flow
- Character: Slow build-up, clean trends
- Expected trades: 1-2
- Best for: Zone entries, A/B tier
### NY Open (9:30-11:30 AM ET)
- Highest volume, most institutional activity
- Character: Initial balance, breakouts
- Expected trades: 2-3
- Best for: S/A tier, zone confluence
### Power Hour (3:00-4:00 PM ET)
- End-of-day rebalancing, MOC orders
- Character: Mean reversion or trend acceleration
- Expected trades: 1-2
- Best for: Zone entries, B tier scalps
---
## 🟩 FVG ZONES
### What Are FVG Zones?
Fair Value Gaps (FVGs) are price gaps between candles where price moved so fast that a gap was left. These gaps often act as support/resistance.
### Zone Requirements
- Gap size ≥ 25% of ATR
- Impulse candle has strong body (≥ 70%)
- Impulse candle is 1.5x average range
- Volume above average on impulse
- Created during active session
### Zone States
1. **Fresh** (bright color) - Just created, untested
2. **Tested** (gray) - Price touched zone midpoint
3. **Broken** (removed) - Price closed through zone
### Trading FVG Zones
| Zone | Approach From | Expected |
|------|--------------|----------|
| 🟩 Bull | Above (falling) | Support - look for bounce |
| 🟥 Bear | Below (rising) | Resistance - look for rejection |
---
## 🟣 SINGLE PRINTS
Single prints mark candles with:
- Range > 1.3x average
- Body > 70% of range
- Volume > 1.8x average
- Clear delta dominance
These become horizontal support/resistance lines extending into the future.
---
## 📊 TABLE REFERENCE
| Row | Label | Meaning |
|-----|-------|---------|
| 1 | Pts | Current candle point range |
| 2 | Tier | S/A/B/X classification |
| 3 | Vol | Volume ratio vs 20-bar average |
| 4 | Delta | Buy/Sell percentage dominance |
| 5 | Sess | Current session (LDN/NY/PWR/OFF) |
| 6 | Zone | In FVG zone (BULL/BEAR/---) |
| 7 | Score | Confluence score out of 10 |
| 8 | CVD | Delta momentum direction |
| 9 | R:R | Risk:Reward if signal active |
### Color Coding
- **Green/Lime**: Good, meets threshold
- **Yellow**: Caution, borderline
- **Red**: Bad, below threshold
- **Gray**: Inactive/neutral
---
## 🔧 SETTINGS GUIDE
### Tier Thresholds
| Setting | Default | Notes |
|---------|---------|-------|
| S-Tier | 50 pts | ~$250/contract |
| A-Tier | 25 pts | ~$125/contract |
| B-Tier | 12 pts | ~$60/contract |
### Sniper Filters
| Setting | Default | Notes |
|---------|---------|-------|
| Min Volume Ratio | 1.8x | Lower = more signals |
| Delta Dominance | 62% | Lower = more signals |
| Body Ratio | 70% | Higher = fewer, cleaner |
| Range Multiplier | 1.3x | Higher = fewer, bigger moves |
| CVD Confirm | On | Off = more signals |
### Recommended Configurations
**Conservative (3-4 trades/day):**
```
Min Confluence: 6
Volume Ratio: 2.0
Delta Threshold: 65%
Body Ratio: 75%
```
**Standard (5-7 trades/day):**
```
Min Confluence: 4
Volume Ratio: 1.8
Delta Threshold: 62%
Body Ratio: 70%
```
**Aggressive (7-10 trades/day):**
```
Min Confluence: 3
Volume Ratio: 1.5
Delta Threshold: 60%
Body Ratio: 65%
```
---
## ✓ ENTRY CHECKLIST
Before entering any trade:
1. ☐ Signal present (S🎯, A🎯, B🎯, or Z)
2. ☐ Session active (LDN, NY, or PWR)
3. ☐ Score ≥ 4 (preferably 6+)
4. ☐ Vol shows GREEN
5. ☐ Delta colored (not gray)
6. ☐ CVD arrow matches direction
7. ☐ Note stop/target lines
8. ☐ Execute at signal candle close
---
## ⛔ DO NOT TRADE
- Session shows "OFF"
- Score < 4
- Vol shows RED
- Delta gray (no dominance)
- Multiple conflicting signals
- Major news imminent (FOMC, NFP, CPI)
- Overnight session (11:30 PM - 3:00 AM ET)
---
## 🎯 POSITION SIZING
| Tier | Score | Size | Stop |
|------|-------|------|------|
| S (50+ pts) | 7+ | 100% | Below/above candle |
| A (25-49 pts) | 5-6 | 75% | Below/above candle |
| B (12-24 pts) | 4 | 50% | Below/above candle |
| Zone | Any | 50% | Beyond zone |
---
## 🚨 ALERTS
### Priority Alerts (Set These)
| Alert | Action |
|-------|--------|
| 🎯 S-TIER | Drop everything, check immediately |
| 🎯 A-TIER | Evaluate within 15 seconds |
| 🎯 B-TIER | Check if available |
| 🎯 ZONE | Good context entry |
### Info Alerts (Optional)
| Alert | Purpose |
|-------|---------|
| NEW BULL/BEAR FVG | Mark zones on mental map |
| SINGLE PRINT | Note for future S/R |
| SESSION OPEN | Prepare to trade |
---
## 📈 TRADE JOURNAL
```
DATE: ___________
SESSION: ☐ LDN ☐ NY ☐ PWR
TRADE:
├── Time: _______
├── Signal: S🎯 / A🎯 / B🎯 / Z
├── Direction: LONG / SHORT
├── Score: ___/10
├── Entry: _______
├── Stop: _______
├── Target: _______
├── In Zone: ☐ Yes ☐ No
├── Result: +/- ___ pts ($_____)
└── Notes: _______________________
DAILY:
├── Trades: ___
├── Wins: ___ | Losses: ___
├── Net P/L: $_____
└── Best setup: _______________________
```
---
## 🏆 GOLDEN RULES
> **"Wait for the session. Off-hours = noise."**
> **"Score 6+ is your edge. Anything less is gambling."**
> **"Zone + Tier = bread and butter combo."**
> **"One great trade beats five forced trades."**
> **"Leave every trade with money. YM gives you time."**
---
## 🔧 TROUBLESHOOTING
| Issue | Solution |
|-------|----------|
| No signals | Lower min score to 3-4 |
| Too many signals | Raise min score to 6+ |
| Zones cluttering | Reduce max zones to 8 |
| Missing sessions | Check timezone setting |
| Table not updating | Resize chart or refresh |
---
## 📝 TECHNICAL NOTES
- **Pine Script v6**
- **Works on**: YM, MYM, any Dow futures
- **Recommended TF**: 1-5 minute for day trading
- **Min TradingView Plan**: Free (no intrabar data required)
---
*© Alexandro Disla - YM Ultimate SNIPER v5*
*Clean Build | Proven Components Only*






















