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.
Adaptive
CSI Cycle Swing MomentumAdaptive Ultra-Smooth Momentum (Cycle-Swing Indicator – CSI)
The Cycle-Swing Indicator (CSI) is an advanced, adaptive momentum oscillator designed to extract clean, reliable signals from market data by focusing on the swing of the dominant market cycle rather than raw momentum. By identifying and aligning with the current dominant cycle, the CSI produces a momentum curve that is exceptionally smooth, responsive, and context-aware.
Key Advantages
The CSI offers several improvements over traditional momentum-based indicators:
Ultra-smooth signal line without sacrificing responsiveness
Zero-lag behavior, enabling timely entries and exits
Pronounced turning-point precision, enhancing signal clarity
Adaptive to real market cycles, automatically adjusting to changing conditions
Reliable deviation and divergence detection, even in noisy environments
Why Standard Indicators Fall Short
Conventional oscillators often struggle in real-world market conditions:
Excessive noise leads to frequent false signals.
Added smoothing reduces noise but introduces significant lag, delaying actionable insights.
Fixed-length parameters make indicators highly sensitive to user settings—you never truly know the "right" length.
The CSI solves all these challenges through its adaptive cyclic algorithm, which automatically aligns itself with the market’s dominant cycle—no manual tuning required.
Practical Example
In the example chart, the CSI highlights clear turning points and deviations with far less noise than the standard momentum indicator, demonstrating its superior clarity and responsiveness.
How to Use
The CSI is fully adaptive and requires no parameters. Simply apply it to any symbol and timeframe—the indicator automatically detects the dominant cycle and produces an ultra-smooth, cycle-aligned momentum curve.
Included features:
Adaptive upper and lower bands identifying extreme conditions
Automatic divergence detection (toggle on/off)
Works on any timeframe and any asset
Adaptive length - no input parameter required
How to Read the Indicator
The CSI functions similarly to a traditional momentum oscillator but with enhanced adaptive context:
Look for divergences between price and the CSI signal line — powerful early warnings of weakening trends or impending shifts.
Note on Divergence Signals:
The divergence markers displayed on the chart are generated using embedded pivot-based detection. Because pivots must be confirmed by price action, divergence signals can only be plotted after a pivot forms. For real-time monitoring on the latest bar, users should watch for early-forming divergences as they develop, since confirmed pivot-based divergences will always appear with a slight delay. Script parameters are available for precise adjustment of pivot detection behaviour.
Info: Legacy vs. Pro Version
This is the actively maintained and continuously enhanced edition of my free, open-source indicator “Cycle Swing Momentum”. The Pro Version will remain fully up to date with the latest Pine Script standards and will receive ongoing refinements and feature improvements, all while preserving the core logic and intent of the original tool. The legacy version will continue to be available for code review and educational purposes, but it will no longer receive updates. The legacy open-source version is always available in the public TV indicator repository.
Skrip berbayar
Hurst Flow • @Capital.comDescription
Hurst Flow is a regime-adaptive analytical tool that measures the continuous intention force behind market behavior.
It blends momentum and persistence analysis to quantify how strongly price movement aligns with trend continuation versus mean reversion.
The output is a normalized continuous force line:
Positive values indicate increasing long-side capital exposure — markets showing trend-persistence and momentum alignment.
Negative values reflect strengthening short-side capital exposure — environments favoring mean reversion or fading moves.
Internally, the indicator processes open-price rate-of-change dynamics through adaptive smoothing, persistence estimation, and standardized scaling, producing a stable and comparable signal across time frames and assets.
Use Hurst Flow as a market regime compass — to gauge bias, filter trades, or allocate exposure intensity dynamically.
Input descriptions
TF — Timeframe used to compute the signal. Higher TF = smoother, less whipsaw, but more lag.
ROC length (Open) — Lookback for Open-to-Open rate of change (base momentum horizon).
EMA length — Smoothing for ROC; increases stability at the cost of responsiveness.
Hurst window — Window for Hurst-style persistence estimate; governs regime sensitivity.
Standartizatoin window — Period for standardization; makes values comparable across assets/timeframes.
Scale factor (0..1) — Final gain applied to the standardized signal; use <1 to temper amplitude.
Presets/Backtest
Below is a list of presets that can be used to test indicators. The presets cover various asset classes and time frames, demonstrating versatility and high customizability. To do this, you can use a special strategy Target % Rebalancer Based Strategy on Intention Indicator . The entry signal for the strategy is the output signal of the indicator from the chart, which can be selected from a special drop-down list. A detailed description of the strategy can be found on a special page. The presets presented were created on instruments not included in the sample.
Below are the basic presets for the strategy. Other configuration functions can be used to fine-tune the strategy.
The strategy settings are the same for all of the presets listed. The time interval must be set for both the indicator and the chart.
Strategy fine tuning
Enable Hysteresis + Cooldown : Off
Risk & costs
Enable Max Daily Loss Halt : Off
Commission : 0.1%
============== Pre-Sets for Hurst Flow Indicator =============================
Preset Gold
Chart bar size: 3D
Indicator settings
TF : 3D
ROC : 10
EMA : 22
Hurst : 16
Standardization window length : 8
Scale : 1
====================================================
Preset Crude Oil:USOIL
Chart bar size: 1D
Indicator settings
TF : 1D
ROC : 70
EMA : 6
Hurst : 26
Standardization window length : 16
Scale : 1
Final Weight Cap : 1
====================================================
Preset S&P500 index
Chart bar size: 2D
Indicator settings
TF : 2D
ROC : 26
EMA : 8
Hurst : 33
Standardization window length : 16
Scale : 1
====================================================
Preset MSFT
Chart bar size: 2D
Indicator settings
TF : 2D
ROC : 16
EMA : 50
Hurst : 44
Standardization window length : 32
Scale : 1
[iQ]PRO Fractals in Dealing Range and Fib Levels+⚡️ PRO Combined Fractal & Dealing Range THEORY W QUADRANTS AND FIB LEVELS: Dynamic Price Structure Analysis
The PRO Combined Fractal & Dealing Range indicator is a proprietary, cutting-edge market structure analysis tool designed to give serious traders a tactical edge by merging advanced Fractal-based wave detection with a sophisticated Dynamic Dealing Range system. This professional-grade utility provides a crystal-clear, multi-layered view of key supply and demand zones, trend reversals, and structural boundaries.
Key Features & Proprietary Logic
This indicator is built on two harmoniously integrated engines, providing a comprehensive view that goes far beyond standard technical analysis.
📈 Adaptive Fractal Wave Engine
Our custom-tuned Fractal Engine employs a unique, multi-degree detection process to identify both Base Swings and Higher Degree Swings with unparalleled precision.
Proprietary Period Calculation: The engine utilizes a specialized formula based on the Golden Ratio (ϕ) to determine a refined higher-degree lookback period: Period
F
=floor(Period
Base
ϕ
). This adaptive logic helps filter market noise and highlight only the most significant structural turning points.
Dynamic Labeling: Automatically places visual markers on the chart to define confirmed Highs and Lows, simplifying the interpretation of market structure and potential directional shifts.
🎯 Dynamic Dealing Range System
This core component provides a detailed, automatically calculated framework of critical price levels, serving as a roadmap for potential entries, targets, and risk management.
Strategic Quadrant Mapping: Automatically establishes a significant Dealing Range based on a customizable lookback period, then divides it into four distinct Quadrants (Q1-Q4). These zones highlight areas of Premium, Equilibrium (Q2-Q3), and Discount, guiding trading decisions relative to the overall range.
Advanced Level Detection:
Fibonacci Retracement: Displays key Fibonacci levels (e.g., 50%, 61.8%, 78.6%) within a user-defined range, identifying high-probability reversal and reaction areas.
Liquidity & Pivots: The indicator incorporates a proprietary Liquidity Detection Algorithm using adaptive pivot sensitivity to identify significant historical support and resistance zones.
Inter-Timeframe Structure: Features a non-repainting method to display Important Highs/Lows (such as Monthly, Weekly, and Daily extremes) right on your current chart, bridging the gap between timeframes.
Professional Trader Utility
Clarity on Price Action: Instantly see the structure of the market and which direction the momentum is flowing based on the confirmed fractal swings.
Actionable Alerts: Receive timely and precise alerts when price approaches critical psychological and structural levels, including the Quadrant boundaries and the highly reactive Fibonacci 0.618 level.
Information at a Glance: A clean, professional table is displayed on the chart, summarizing the calculated range boundaries (Quadrant and Fibonacci Highs/Lows) for immediate reference.
The PRO Combined Fractal & Dealing Range is an indispensable tool for traders focused on market structure, institutional price action, and trading within clearly defined ranges. It is designed to minimize subjectivity and maximize clarity on your TradingView chart.
NO REPAINT ;)
QuantMotions - TPR Sentinel LineTPR Sentinel Line is an advanced adaptive Support/Resistance system that combines multi-layered trend analysis with a directional Time-Price Ratio (TPR) engine. The indicator dynamically builds a stabilized support or resistance line that adjusts to market volatility, trend strength, ATR expansion and contraction, and real-time slope changes.
This creates a high-precision, self-adjusting trend barrier that acts as support in uptrends, resistance in downtrends, and a neutral anchor during sideways phases.
Key Features
✔ Adaptive Trend Base
- A composite trend model blending:
- Kijun-style midpoint
- Donchian midline
- SMA & EMA smoothing
This creates a stable baseline that reacts smoothly but reliably to structural trend shifts.
✔ Directional TPR Calculation
The indicator measures slope across short, medium, and long trend windows, normalizes it with ATR, and determines:
- Trend direction
- Trend strength
- Momentum quality
✔ Dynamic Support/Resistance Line
Depending on trend direction:
- In uptrends → the line becomes adaptive support
- In downtrends → the line becomes adaptive resistance
- In neutral phases → the line centers around the smoothed trend base
A built-in lag factor prevents unrealistic jumps and keeps the level stable.
✔ Automatic Support/Resistance Zones
The indicator expands the main line into upper and lower zones based on ATR and trend strength, creating a dynamic volatility envelope around the trend structure.
✔ Signals & Alerts
- Support bounce
- Resistance rejection
- Breakouts above/below the dynamic line
These events help identify high-probability continuation or reversal moments.
✔ Information Panel
A real-time status table displays:
- Trend direction
- Trend strength
- Current S/R level
🎯 Ideal For
- Precision entries on pullbacks
- Detecting trend shifts earlier
- Identifying strong or weak trend phases
- Adaptive take-profit and stop-loss zones
- Filtering false breakouts
💡 Summary
TPR Sentinel Line gives you a living, breathing support/resistance structure that evolves with the market.
Instead of relying on static levels, you get a continuously adapting trend barrier that reflects real strength, real volatility, and real momentum.
A powerful tool for traders who want structure, clarity, and trend confidence.
[iQ]PRO Engineering42+🔬 PRO Engineering42+ ⚙️
The Next Evolution in Signal Processing for Precision Market Analysis
Introducing PRO Engineering42+, a proprietary, cutting-edge technical analysis tool engineered to distill meaningful market structure from the inherent noise of price action. This indicator is built upon a sophisticated, multi-stage signal processing framework, leveraging advanced mathematics to provide traders with a uniquely clarified view of the underlying market trend and momentum.
Hybrid Composite Signal Generation
At its core, PRO Engineering42+ begins with a Hybrid Base Signal. This signal is not a mere average but a intelligently weighted composite, harmonizing the strengths of multiple distinct, adaptive moving average techniques. This fusion is designed to achieve a superior balance of responsiveness to trend shifts and smoothness for noise rejection, establishing a foundation of dynamic market memory.
Adaptive Volatility Clamping
The initial Hybrid Base is then subjected to an innovative process we term Adaptive Volatility Clamping. This critical step dynamically adjusts the signal's sensitivity in real-time based on the market's current volatility profile (measured using True Range), ensuring the signal remains tightly coupled with price action during quiet periods while minimizing whipsaws and overshoots during high-volatility events. This is achieved through a precise, weighted mechanism that prioritizes price context.
Proprietary Spectral Filtration and Gating
The hallmark of PRO Engineering42+ is its final stage: Advanced Frequency Domain Analysis using a proprietary Fast Fourier Transform (FFT) filter.
Frequency Isolation: The tool mathematically decomposes the pre-processed (clamped) signal into its constituent frequencies (or periodic cycles). Traders can isolate and focus on a specific, tunable bandwidth (FFT Low/High Freq) that represents the most relevant market cycles for their trading style, effectively filtering out disruptive high-frequency noise and irrelevant, extremely low-frequency components.
Intelligent Spectral Gating: This feature introduces a proprietary, volatility-aware thresholding mechanism (Spectral Gating Level). The filter actively assesses the power spectrum of the decomposed signal, only allowing frequencies with power exceeding a dynamically calculated standard deviation level to pass through. This unique "gate" intelligently suppresses less significant cycles, leaving only the statistically dominant, market-driving components to form the final output, resulting in an exceptionally clean and responsive oscillator.
The result is a powerful, low-lag Hybrid FFT Oscillator that provides an unparalleled measure of directional bias and momentum.
Key Features for Exclusive Members
Closed Source & Invite Only: The underlying Pine Script logic, including the proprietary spectral gating calculation and hybrid weighting methodology, is intentionally obscured and available exclusively to a select group of paying members.
Maximum Data Efficiency: Optimized with a low max_bars_back and robust dependency structure to ensure maximum calculation efficiency.
Precision Control: Fine-tune the system's performance using controls like Hybrid Base Length, FFT Window Size, and the Spectral Gating Level to perfectly match any asset, timeframe, and trading strategy.
Experience the future of analytical precision. This is not just an indicator; it is a proprietary engineering solution for market mastery.
Kernel Channel [BackQuant]Kernel Channel
A non-parametric, kernel-weighted trend channel that adapts to local structure, smooths noise without lagging like moving averages, and highlights volatility compressions, expansions, and directional bias through a flexible choice of kernels, band types, and squeeze logic.
What this is
This indicator builds a full trend channel using kernel regression rather than classical averaging. Instead of a simple moving average or exponential weighting, the midline is computed as a kernel-weighted expectation of past values. This allows it to adapt to local shape, give more weight to nearby bars, and reduce distortion from outliers.
You can think of it as a sliding local smoother where you define both the “window” of influence (Window Length) and the “locality strength” (Bandwidth). The result is a flexible midline with optional upper and lower bands derived from kernel-weighted ATR or kernel-weighted standard deviation, letting you visualize volatility in a structurally consistent way.
Three plotting modes help demonstrate this difference:
When the midline is shown alone, you get a smooth, adaptive baseline that behaves almost like a regression moving average, as shown in this view:
When full channels are enabled, you see how standard deviation reacts to local structure with dynamically widening and tightening bands, a mode illustrated here:
When ATR mode is chosen instead of StdDev, band width reflects breadth of movement rather than variance, creating a volatility-aware envelope like the example here:
Why kernels
Classical moving averages allocate fixed weights. Kernels let the user define weighting shape:
Epanechnikov — emphasizes bars near the current bar, fades fast, stable and smooth.
Triangular — linear decay, simple and responsive.
Laplacian — exponential decay from the current point, sharper reactivity.
Cosine — gentle periodic decay, balanced smoothness for trend filters.
Using these in combination with a bandwidth parameter gives fine control over smoothness vs responsiveness. Smaller bandwidths give sharper local sensitivity, larger bandwidths give smoother curvature.
How it works (core logic)
The indicator computes three building blocks:
1) Kernel-weighted midline
For every bar, a sliding window looks back Window Length bars. Each bar in this window receives a kernel weight depending on:
its index distance from the present
the chosen kernel shape
the bandwidth parameter (locality)
Weights form the denominator, weighted values form the numerator, and the resulting ratio is the kernel regression mean. This midline is the central trend.
2) Kernel-based width
You choose one of two band types:
Kernel ATR — ATR values are kernel-averaged, producing a smooth, volatility-based width that is not dependent on variance. Ideal for directional trend channels and regime separation.
Kernel StdDev — local variance around the midline is computed through kernel weighting. This produces a true statistical envelope that narrows in quiet periods and widens in noisy areas.
Width is scaled using Band Multiplier , controlling how far the envelope extends.
3) Upper and lower channels
Provided midline and width exist, the channel edges are:
Upper = midline + bandMult × width
Lower = midline − bandMult × width
These create smooth structures around price that adapt continuously.
Plotting modes
The indicator supports multiple visual styles depending on what you want to emphasize.
When only the midline is displayed, you get a pure kernel trend: a smooth regression-like curve that reacts to local structure while filtering noise, demonstrated here: This provides a clean read on direction and slope.
With full channels enabled, the behavior of the bands becomes visible. Standard deviation mode creates elastic boundaries that tighten during compressions and widen during turbulence, which you can see in the band-focused demonstration: This helps identify expansion events, volatility clusters, and breakouts.
ATR mode shifts interpretation from statistical variance to raw movement amplitude. This makes channels less sensitive to outliers and more consistent across trend phases, as shown in this ATR variation example: This mode is particularly useful for breakout systems and bar-range regimes.
Regime detection and bar coloring
The slope of the midline defines directional bias:
Up-slope → green
Down-slope → red
Flat → gray
A secondary regime filter compares close to the channel:
Trend Up Strong — close above upper band and midline rising.
Trend Down Strong — close below lower band and midline falling.
Trend Up Weak — close between midline and upper band with rising slope.
Trend Down Weak — close between lower band and midline with falling slope.
Compression mode — squeeze conditions.
Bar coloring is optional and can be toggled for cleaner charts.
Squeeze logic
The indicator includes non-standard squeeze detection based on relative width , defined as:
width / |midline|
This gives a dimensionless measure of how “tight” or “loose” the channel is, normalized for trend level.
A rolling window evaluates the percentile rank of current width relative to past behavior. If the width is in the lowest X% of its last N observations, the script flags a squeeze environment. This highlights compression regions that may precede breakouts or regime shifts.
Deviation highlighting
When using Kernel StdDev mode, you may enable deviation flags that highlight bars where price moves outside the channel:
Above upper band → bullish momentum overextension
Below lower band → bearish momentum overextension
This is turned off in ATR mode because ATR widths do not represent distributional variance.
Alerts included
Kernel Channel Long — midline turns up.
Kernel Channel Short — midline turns down.
Price Crossed Midline — crossover or crossunder of the midline.
Price Above Upper — early momentum expansion.
Price Below Lower — downward volatility expansion.
These help automate regime changes and breakout detection.
How to use it
Trend identification
The midline acts as a bias filter. Rising midline means trend strength upward, falling midline means downward behavior. The channel width contextualizes confidence.
Breakout anticipation
Kernel StdDev compressions highlight areas where price is coiling. Breakouts often follow narrow relative width. ATR mode provides structural expansion cues that are smooth and robust.
Mean reversion
StdDev mode is suitable for fade setups. Moves to outer bands during low volatility often revert to the midline.
Continuation logic
If price breaks above the upper band while midline is rising, the indicator flags strong directional expansion. Same logic for breakdowns on the lower band.
Volatility characterization
Kernel ATR maps raw bar movements and is excellent for identifying regime shifts in markets where variance is unstable.
Tuning guidance
For smoother long-term trend tracking
Larger window (150–300).
Moderate bandwidth (1.0–2.0).
Epanechnikov or Cosine kernel.
ATR mode for stable envelopes.
For swing trading / short-term structure
Window length around 50–100.
Bandwidth 0.6–1.2.
Triangular for speed, Laplacian for sharper reactions.
StdDev bands for precise volatility compression.
For breakout systems
Smaller bandwidth for sharp local detection.
ATR mode for stable envelopes.
Enable squeeze highlighting for identifying setups early.
For mean-reversion systems
Use StdDev bands.
Moderate window length.
Highlight deviations to locate overextended bars.
Settings overview
Kernel Settings
Source
Window Length
Bandwidth
Kernel Type (Epanechnikov, Triangular, Laplacian, Cosine)
Channel Width
Band Type (Kernel ATR or Kernel StdDev)
Band Multiplier
Visuals
Show Bands
Color Bars By Regime
Highlight Squeeze Periods
Highlight Deviation
Lookback and Percentile settings
Colors for uptrend, downtrend, squeeze, flat
Trading applications
Trend filtering — trade only in direction of the midline slope.
Breakout confirmation — expansion outside the bands while slope agrees.
Squeeze timing — compression periods often precede the next directional leg.
Volatility-aware stops — ATR mode makes channel edges suitable for adaptive stop placement.
Structural swing mapping — StdDev bands help locate midline pullbacks vs distributional extremes.
Bias rotation — bar coloring highlights when regime shifts occur.
Notes
The Kernel Channel is not a signal generator by itself, but a structural map. It helps classify trend direction, volatility environment, distribution shape, and compression cycles. Combine it with your entry and exit framework, risk parameters, and higher-timeframe confirmation.
It is designed to behave consistently across markets, to avoid the bluntness of classical averages, and to reveal subtle curvature in price that traditional channels miss. Adjust kernel type, bandwidth, and band source to match the noise profile of your instrument, then use squeeze logic and deviation highlighting to guide timing.
Kalman Trend Sniper# KALMAN TREND SNIPER
## ORIGINALITY STATEMENT
The Kalman Trend Sniper combines adaptive trend detection with precision entry validation to identify high-probability trading opportunities. Unlike static moving averages that use fixed parameters, this indicator adapts to changing market volatility through ATR-based gain adjustment and distinguishes trending from ranging markets using ADX regime detection.
The indicator's unique contribution is its three-phase entry validation system: signals must hold for three bars, undergo a pullback test to the signal level, and receive confirmation through price action before generating an entry. This structured approach helps traders enter established trends at favorable retracement levels rather than chasing momentum.
---
## TECHNICAL METHODOLOGY
### Kalman Filter Implementation
This indicator implements an Alpha-Beta variant of the Kalman filter, a recursive algorithm that estimates trend from noisy price data:
1. Prediction: kf = kf + velocity
2. Error calculation: error = price - kf
3. Correction: kf = kf + gain * error
4. Velocity update: velocity = velocity + (gain * error) / 2
The gain parameter determines filter responsiveness. Higher gain values track price more closely but increase noise sensitivity, while lower values provide smoother output but lag price changes.
### Adaptive Gain Mechanism
The indicator adjusts gain dynamically based on volatility:
Volatility Factor = Current ATR / Long-term ATR
Adaptive Gain = Base Gain * (0.7 + 0.6 * Volatility Factor)
This ATR ratio increases responsiveness during high-volatility periods and reduces sensitivity during consolidations, addressing the fixed-parameter limitation of traditional moving averages. The volatility factor is bounded between configurable minimum and maximum values to prevent extreme adjustments.
### Regime Detection
The indicator uses the Average Directional Index (ADX) to distinguish market conditions:
- Trending markets (ADX above threshold): Full gain applied, signals generated
- Ranging markets (ADX below threshold): Gain reduced 25%, fewer signals
This regime awareness helps reduce whipsaw signals during sideways consolidation periods.
### Signal Line Validation System
When the Kalman line changes direction in trending conditions, the indicator draws a horizontal signal line at the low (for long signals) or high (for short signals) of the signal candle. This line represents a potential support or resistance level.
The validation system then monitors three phases:
Phase 1 - Hold Period: Price must remain above (long) or below (short) the signal line for three consecutive bars. This requirement filters weak signals where price immediately violates the signal level.
Phase 2 - Test: After the hold period, the system waits for price to pull back and touch the signal line, with configurable tolerance for volatile instruments.
Phase 3 - Confirmation: Within eight bars of the test, a confirmation candle must close above (long) or below (short) the test candle's body, demonstrating renewed momentum. If confirmation does not occur within eight bars, the validation attempt expires.
Successful validation generates an R label at the entry point. This three-phase structure helps identify entries where trend direction and support/resistance validation align.
---
## USAGE INSTRUCTIONS
### Signal Interpretation
Triangle Signals:
- Upward triangle (teal): Kalman line turns bullish in trending market (ADX above threshold)
- Downward triangle (red): Kalman line turns bearish in trending market
Signal Lines (horizontal):
- Teal line: Potential long support level at signal candle low
- Red line: Potential short resistance level at signal candle high
- Gray line: First opposite-color candle after signal (initial reversal pressure)
R Labels (optional, disabled by default):
- Green R below price: Validation complete for long entry
- Red R above price: Validation complete for short entry
Stop Levels:
- Red dots: Long stop level (Kalman line minus ATR multiplier)
- Teal dots: Short stop level (Kalman line plus ATR multiplier)
### Dashboard Information
The dashboard displays real-time indicator state:
- Trend: Current Kalman direction (BULL/BEAR)
- Regime: Market classification (Trending when ADX exceeds threshold, Ranging otherwise)
- Gain: Current adaptive gain value
- Vol Factor: Volatility ratio (current ATR / long-term ATR)
- ADX: Trend strength (higher values indicate stronger trends)
- Z-Score: Standard deviation distance from Kalman line (when enabled)
- Stop Dist: Current ATR-based stop distance
- Lines: Number of active signal lines displayed
- R-Status: Validation system state (Idle / Waiting / Testing)
### Trading Applications
Trend Following Approach:
1. Wait for triangle signal in trending market (ADX above threshold)
2. Enter immediately at signal candle close or wait for pullback
3. Place stop at displayed stop level
4. Trail stop using Kalman line as dynamic support/resistance
Validation Entry Approach (conservative):
1. After triangle signal, observe three-bar hold period
2. Wait for pullback to signal line (test phase)
3. Enter on R label confirmation
4. Place stop below/above signal line
5. Provides higher probability entries but reduces trade frequency
Z-Score Mean Reversion (when enabled):
1. Watch for Z-Score exceeding entry threshold (default +/-2.0)
2. Consider counter-trend entries when price touches Kalman line
3. Target return to Kalman line (Z-Score near zero)
4. Use Z-Score threshold as stop level for extreme continuation
### Optimal Conditions
The indicator performs optimally in clearly trending markets where ADX consistently exceeds the threshold. Performance degrades in sideways, choppy conditions.
Recommended timeframes:
- 1-5 minute charts: Use Crypto_1M preset (faster adaptation)
- 15-60 minute charts: Use Crypto_15M preset (balanced)
- Hourly charts: Use Forex preset (smoother)
- Daily charts: Use Stocks_Daily preset (long-term trends)
Market conditions:
- High volatility (Vol Factor above 1.5): Expect faster adaptation, wider stops needed
- Normal volatility (Vol Factor 0.7-1.5): Standard behavior
- Low volatility (Vol Factor below 0.7): Expect slower adaptation, tighter stops possible
---
## PARAMETER DOCUMENTATION
### Kalman Filter Settings
Preset Mode: Select optimized configuration for specific markets
- Custom: Manual parameter control
- Crypto_1M: Base Gain 0.05, ATR 7 (fast response for 1-5 minute crypto charts)
- Crypto_15M: Base Gain 0.03, ATR 14 (balanced for 15-60 minute crypto charts)
- Forex: Base Gain 0.02, ATR 14 (standard for forex pairs)
- Stocks_Daily: Base Gain 0.01, ATR 20 (smooth for daily stock charts)
Base Gain (0.001-0.2): Core Kalman filter responsiveness parameter. Higher values increase sensitivity to price changes. Low values (0.01-0.02) provide smooth output with fewer whipsaws but slower trend changes. High values (0.06-0.08) offer fast response with more signals but increased whipsaw risk.
Adaptive (checkbox): When enabled, automatically adjusts gain based on ATR ratio. Recommended to keep enabled for dynamic volatility adaptation.
ATR (5-50): Short-term Average True Range period for current volatility measurement. Default 14 is industry standard. Lower values respond faster to volatility changes.
Long ATR (20-200): Long-term ATR period for baseline volatility comparison. Default 50 provides stable reference. The ratio between ATR and Long ATR determines adaptive adjustment magnitude.
Regime Filter (checkbox): Enables ADX-based trending/ranging detection. When enabled, reduces gain by 25 percent during ranging markets to minimize false signals.
ADX Period (7-30): Period for ADX calculation. Default 14 is standard. Lower values respond faster to trend strength changes.
Threshold (15-40): ADX level distinguishing trending from ranging markets. Default 25. Above threshold: trending (generate signals normally). Below threshold: ranging (reduce sensitivity).
Min Vol / Max Vol (0.3-3.0): Bounds for volatility factor adjustment. Prevents extreme gain changes during unusual volatility spikes or quiet periods. Default minimum 0.5, maximum 2.0.
Stop ATR x (1.0-3.0): Multiplier for ATR-based stop loss distance. Default 2.0 places stops two ATRs from Kalman line. Use 1.5 for tight stops (intraday), 2.5-3.0 for wide stops (swing trading).
Show Signals (checkbox): Displays triangle signals when Kalman changes direction in trending markets. Disable to use indicator purely as dynamic support/resistance without signals.
Z-Score (checkbox): Enables mean-reversion signal generation based on statistical deviation from Kalman line.
Period (10-100): Lookback period for Z-Score standard deviation calculation. Default 20 bars. Longer periods produce smoother, less sensitive readings.
Entry (1.5-3.5): Standard deviation threshold for Z-Score signals. Default 2.0 generates signals at plus/minus two standard deviations (approximately 95th percentile moves).
Bull / Bear Colors: Customize Kalman line colors for uptrend (default teal) and downtrend (default red).
Fill (checkbox): Shows semi-transparent fill between price and Kalman line for visual trend emphasis.
### Signal Line System Settings
Signal Lines (checkbox): Displays horizontal signal lines at low (long) or high (short) of signal candles. These function as dynamic support/resistance levels.
Reverse Lines (checkbox): Shows gray horizontal lines at first opposite-colored candle after signal. Helps identify initial resistance points in new trends.
Max Lines (0-20): Maximum number of signal lines to display simultaneously. Older lines are removed as new signals appear. Use 1-2 for clean charts, 3-5 for recent support/resistance history.
Style (Solid/Dotted/Dashed): Visual style for signal and reverse lines. Dotted provides subtle appearance, solid is most prominent.
Line % / Label % (0-100): Transparency percentage for lines and labels. Zero is fully opaque, 100 is invisible.
R Labels (checkbox): Shows R labels when validation confirmation occurs. Default disabled. Enable if you want visual confirmation of successful pullback entries.
Tolerance % (0-1.0): Price deviation tolerance for test candle detection. Zero requires exact touch. 0.5 allows 0.5 percent deviation for volatile instruments.
### Dashboard Settings
Show Dashboard (checkbox): Toggles visibility of information panel. Disable for clean chart presentation.
Position: Choose dashboard location from nine positions (Top/Middle/Bottom combined with Left/Center/Right).
---
## LIMITATIONS AND WARNINGS
This indicator is a technical analysis tool that processes historical price data. It does not predict future price movements.
Inherent limitations:
1. Lagging nature: Like all trend indicators, the Kalman filter lags price. Signals occur after trend changes begin, not before.
2. Ranging markets: Generates fewer signals and reduced performance when ADX falls below threshold. Not optimized for sideways consolidation.
3. Whipsaw risk: In choppy, indecisive markets near ADX threshold, signals may reverse quickly despite regime filtering.
4. Parameter sensitivity: Inappropriate Base Gain settings can cause over-trading (too high) or missed trends (too low).
5. Validation requirement: The three-phase confirmation system provides higher accuracy but significantly reduces trade frequency. Not all trends produce valid pullback entries.
Not suitable for:
- Scalping strategies requiring instant signals (Kalman filter has intentional smoothing)
- Ultra-high frequency trading (indicator updates once per bar close)
- Markets with extreme overnight gaps (stops may be exceeded)
- Strategies requiring signals on Heikin Ashi, Renko, Kagi, Point and Figure, or Range charts
Risk management requirements:
This indicator provides trend direction and signal levels but does not incorporate position sizing, risk management, or account balance considerations. Users must implement appropriate position sizing, maximum daily loss limits, and portfolio diversification. Past performance does not indicate future results.
Optimal usage:
- Works optimally in clearly trending markets where ADX consistently exceeds threshold
- Performance degrades in sideways, choppy conditions
- Designed for swing trading and position trading timeframes (15-minute and above)
- Requires confirmation from price action or additional technical analysis
---
## NO REPAINT GUARANTEE
This indicator operates on bar close confirmation only. All signals, signal lines, and validation labels appear exclusively when candles close. Historical signals remain exactly where they appeared. This makes the indicator suitable for automated trading and reliable backtesting. What you see in historical data matches what appeared in real-time.
---
## ALERTS
The indicator provides eight alert conditions:
1. Kalman Buy Signal: Fires when upward triangle appears (bullish trend change in trending market)
2. Kalman Sell Signal: Fires when downward triangle appears (bearish trend change in trending market)
3. Trend Change to Bullish: Fires whenever Kalman line changes to bullish (regardless of ADX)
4. Trend Change to Bearish: Fires whenever Kalman line changes to bearish (regardless of ADX)
5. SCT-R Long Retest Confirmed: Fires when green R label appears for long validation
6. SCT-R Short Retest Confirmed: Fires when red R label appears for short validation
7. SCT Test Long Detected: Fires when test candle appears for long signal (before confirmation)
8. SCT Test Short Detected: Fires when test candle appears for short signal (before confirmation)
Alert messages include context about bar close confirmation and current price levels.
---
## CALCULATION TRANSPARENCY
While complete proprietary optimization methodology is not disclosed, the core technical approach is fully explained: Alpha-Beta Kalman filter with ATR-based adaptive gain adjustment and ADX regime detection. The signal line validation system uses a three-phase structure (hold, test, confirmation) with configurable parameters. Users can understand indicator functionality and make informed decisions about application.
---
## DISCLAIMER
This indicator is provided as a technical analysis tool. It does not constitute financial advice, trading recommendations, or performance guarantees. All trading decisions carry risk. Users are responsible for their own trading decisions and risk management. Past results do not indicate future performance.
Lorentzian Length Adaptive Moving Average [LLAMA] Adaptation of "Machine Learning: Lorentzian Classification" by
Gradient color by base on work by
LLAMA: A regime-aware adaptive moving average that bends with the market.
Start with a problem traders know:
Traditional moving averages are either too slow (EMA200) or too fast (EMA9)
Adaptive MAs exist, but they often hug price too tightly or smooth too much, failing to balance bias and tactics
LLAMA uses a Lorentzian distance function to adapt its length dynamically. Instead of a fixed smoothing window, it stretches or contracts depending on market conditions. This distortion reduces lag while still providing a clear bias line.
The indicator looks back at recent bars and measures how similar they are using a Lorentzian distance (a log‑scaled absolute difference). It keeps track of the “nearest neighbors” — bars that most resemble the current regime. Each neighbor carries a label (long, short, neutral) based on simple price comparisons. By averaging these labels, LLAMA predicts whether the market is leaning bullish or bearish. That prediction is then mapped into a dynamic length between and .
Bullish bias -> length stretches toward max (smoother, more stable).
Bearish bias -> length contracts toward min (snappier, more reactive).
During breakouts, LLAMA tightens and comes into contact with bars, giving actionable signals. During chop, it stretches to avoid false triggers. It covers both ends of the spectrum (bias and tactics) in one line, something static MA's can't do.
Think of LLAMA as a lens that bends with the market:
Wide lens (max length) for big picture bias.
Narrow lens (min length) for tactical precision.
The "Lorentzian Loop" is the math that decides when to widen or narrow.
Adaptive Momentum Pressure (AMP)🔹 Adaptive Momentum Pressure (AMP)
A hybrid momentum oscillator that adapts to volatility and trend dynamics.
AMP measures the rate of change of price pressure and automatically adjusts its sensitivity based on market volatility.
It reacts faster in trending markets and smooths out noise during consolidation — helping traders identify genuine momentum shifts early while avoiding whipsaws.
🧠 Core Concept
AMP fuses three elements into one adaptive momentum model:
Normalized Momentum (ROC) – captures directional acceleration of price.
Adaptive Smoothing – the smoothing length dynamically contracts when volatility rises and expands when it falls.
Directional Bias – derived from the short-term EMA slope to weight momentum toward the prevailing trend.
Combined, these form a pressure value oscillating between –100 and +100, revealing when momentum expands or fades.
⚙️ How It Works
Calculates a normalized rate of change (ROC) relative to recent volatility.
Adjusts its effective length using the ATR — more volatile periods shorten the lookback for quicker reaction.
Applies a custom EMA that adapts in real time.
Modulates momentum by a normalized EMA slope (“trend bias”).
Produces a smoothed AMP line with a Signal line and crossover markers.
🔍 How to Read It
Green AMP line rising above Signal → Building bullish momentum.
Red AMP line falling below Signal → Fading or bearish momentum.
White Signal line = smoothed confirmation of trend energy.
Green dots = early bullish crossovers.
Red dots = early bearish crossovers.
Typical interpretations:
AMP crossing above 0 from below → early bullish impulse.
AMP peaking near +50–100 and curling down → potential momentum exhaustion.
Crosses below 0 with red pressure → bearish confirmation.
⚡ Advantages
✅ Adaptive across all markets and timeframes
✅ Built-in trend bias filters false signals
✅ Reacts earlier than RSI/MACD while reducing noise
✅ No manual retuning required
🧩 Suggested Use
Combine with structure or volume tools to confirm breakouts.
Works well as a momentum confirmation filter for entries/exits.
Optimal display: separate oscillator pane (not overlay).
Use it responsibly — AMP is an analytical tool, not financial advice.
Volatility-Targeted Momentum Portfolio [BackQuant]Volatility-Targeted Momentum Portfolio
A complete momentum portfolio engine that ranks assets, targets a user-defined volatility, builds long, short, or delta-neutral books, and reports performance with metrics, attribution, Monte Carlo scenarios, allocation pie, and efficiency scatter plots. This description explains the theory and the mechanics so you can configure, validate, and deploy it with intent.
Table of contents
What the script does at a glance
Momentum, what it is, how to know if it is present
Volatility targeting, why and how it is done here
Portfolio construction modes: Long Only, Short Only, Delta Neutral
Regime filter and when the strategy goes to cash
Transaction cost modelling in this script
Backtest metrics and definitions
Performance attribution chart
Monte Carlo simulation
Scatter plot analysis modes
Asset allocation pie chart
Inputs, presets, and deployment checklist
Suggested workflow
1) What the script does at a glance
Pulls a list of up to 15 tickers, computes a simple momentum score on each over a configurable lookback, then volatility-scales their bar-to-bar return stream to a target annualized volatility.
Ranks assets by raw momentum, selects the top 3 and bottom 3, builds positions according to the chosen mode, and gates exposure with a fast regime filter.
Accumulates a portfolio equity curve with risk and performance metrics, optional benchmark buy-and-hold for comparison, and a full alert suite.
Adds visual diagnostics: performance attribution bars, Monte Carlo forward paths, an allocation pie, and scatter plots for risk-return and factor views.
2) Momentum: definition, detection, and validation
Momentum is the tendency of assets that have performed well to continue to perform well, and of underperformers to continue underperforming, over a specific horizon. You operationalize it by selecting a horizon, defining a signal, ranking assets, and trading the leaders versus laggards subject to risk constraints.
Signal choices . Common signals include cumulative return over a lookback window, regression slope on log-price, or normalized rate-of-change. This script uses cumulative return over lookback bars for ranking (variable cr = price/price - 1). It keeps the ranking simple and lets volatility targeting handle risk normalization.
How to know momentum is present .
Leaders and laggards persist across adjacent windows rather than flipping every bar.
Spread between average momentum of leaders and laggards is materially positive in sample.
Cross-sectional dispersion is non-trivial. If everything is flat or highly correlated with no separation, momentum selection will be weak.
Your validation should include a diagnostic that measures whether returns are explained by a momentum regression on the timeseries.
Recommended diagnostic tool . Before running any momentum portfolio, verify that a timeseries exhibits stable directional drift. Use this indicator as a pre-check: It fits a regression to price, exposes slope and goodness-of-fit style context, and helps confirm if there is usable momentum before you force a ranking into a flat regime.
3) Volatility targeting: purpose and implementation here
Purpose . Volatility targeting seeks a more stable risk footprint. High-vol assets get sized down, low-vol assets get sized up, so each contributes more evenly to total risk.
Computation in this script (per asset, rolling):
Return series ret = log(price/price ).
Annualized volatility estimate vol = stdev(ret, lookback) * sqrt(tradingdays).
Leverage multiplier volMult = clamp(targetVol / vol, 0.1, 5.0).
This caps sizing so extremely low-vol assets don’t explode weight and extremely high-vol assets don’t go to zero.
Scaled return stream sr = ret * volMult. This is the per-bar, risk-adjusted building block used in the portfolio combinations.
Interpretation . You are not levering your account on the exchange, you are rescaling the contribution each asset’s daily move has on the modeled equity. In live trading you would reflect this with position sizing or notional exposure.
4) Portfolio construction modes
Cross-sectional ranking . Assets are sorted by cr over the chosen lookback. Top and bottom indices are extracted without ties.
Long Only . Averages the volatility-scaled returns of the top 3 assets: avgRet = mean(sr_top1, sr_top2, sr_top3). Position table shows per-asset leverages and weights proportional to their current volMult.
Short Only . Averages the negative of the volatility-scaled returns of the bottom 3: avgRet = mean(-sr_bot1, -sr_bot2, -sr_bot3). Position table shows short legs.
Delta Neutral . Long the top 3 and short the bottom 3 in equal book sizes. Each side is sized to 50 percent notional internally, with weights within each side proportional to volMult. The return stream mixes the two sides: avgRet = mean(sr_top1,sr_top2,sr_top3, -sr_bot1,-sr_bot2,-sr_bot3).
Notes .
The selection metric is raw momentum, the execution stream is volatility-scaled returns. This separation is deliberate. It avoids letting volatility dominate ranking while still enforcing risk parity at the return contribution stage.
If everything rallies together and dispersion collapses, Long Only may behave like a single beta. Delta Neutral is designed to extract cross-sectional momentum with low net beta.
5) Regime filter
A fast EMA(12) vs EMA(21) filter gates exposure.
Long Only active when EMA12 > EMA21. Otherwise the book is set to cash.
Short Only active when EMA12 < EMA21. Otherwise cash.
Delta Neutral is always active.
This prevents taking long momentum entries during obvious local downtrends and vice versa for shorts. When the filter is false, equity is held flat for that bar.
6) Transaction cost modelling
There are two cost touchpoints in the script.
Per-bar drag . When the regime filter is active, the per-bar return is reduced by fee_rate * avgRet inside netRet = avgRet - (fee_rate * avgRet). This models proportional friction relative to traded impact on that bar.
Turnover-linked fee . The script tracks changes in membership of the top and bottom baskets (top1..top3, bot1..bot3). The intent is to charge fees when composition changes. The template counts changes and scales a fee by change count divided by 6 for the six slots.
Use case: increase fee_rate to reflect taker fees and slippage if you rebalance every bar or trade illiquid assets. Reduce it if you rebalance less often or use maker orders.
Practical advice .
If you rebalance daily, start with 5–20 bps round-trip per switch on liquid futures and adjust per venue.
For crypto perp microcaps, stress higher cost assumptions and add slippage buffers.
If you only rotate on lookback boundaries or at signals, use alert-driven rebalances and lower per-bar drag.
7) Backtest metrics and definitions
The script computes a standard set of portfolio statistics once the start date is reached.
Net Profit percent over the full test.
Max Drawdown percent, tracked from running peaks.
Annualized Mean and Stdev using the chosen trading day count.
Variance is the square of annualized stdev.
Sharpe uses daily mean adjusted by risk-free rate and annualized.
Sortino uses downside stdev only.
Omega ratio of sum of gains to sum of losses.
Gain-to-Pain total gains divided by total losses absolute.
CAGR compounded annual growth from start date to now.
Alpha, Beta versus a user-selected benchmark. Beta from covariance of daily returns, Alpha from CAPM.
Skewness of daily returns.
VaR 95 linear-interpolated 5th percentile of daily returns.
CVaR average of the worst 5 percent of daily returns.
Benchmark Buy-and-Hold equity path for comparison.
8) Performance attribution
Cumulative contribution per asset, adjusted for whether it was held long or short and for its volatility multiplier, aggregated across the backtest. You can filter to winners only or show both sides. The panel is sorted by contribution and includes percent labels.
9) Monte Carlo simulation
The panel draws forward equity paths from either a Normal model parameterized by recent mean and stdev, or non-parametric bootstrap of recent daily returns. You control the sample length, number of simulations, forecast horizon, visibility of individual paths, confidence bands, and a reproducible seed.
Normal uses Box-Muller with your seed. Good for quick, smooth envelopes.
Bootstrap resamples realized returns, preserving fat tails and volatility clustering better than a Gaussian assumption.
Bands show 10th, 25th, 75th, 90th percentiles and the path mean.
10) Scatter plot analysis
Four point-cloud modes, each plotting all assets and a star for the current portfolio position, with quadrant guides and labels.
Risk-Return Efficiency . X is risk proxy from leverage, Y is expected return from annualized momentum. The star shows the current book’s composite.
Momentum vs Volatility . Visualizes whether leaders are also high vol, a cue for turnover and cost expectations.
Beta vs Alpha . X is a beta proxy, Y is risk-adjusted excess return proxy. Useful to see if leaders are just beta.
Leverage vs Momentum . X is volMult, Y is momentum. Shows how volatility targeting is redistributing risk.
11) Asset allocation pie chart
Builds a wheel of current allocations.
Long Only, weights are proportional to each long asset’s current volMult and sum to 100 percent.
Short Only, weights show the short book as positive slices that sum to 100 percent.
Delta Neutral, 50 percent long and 50 percent short books, each side leverage-proportional.
Labels can show asset, percent, and current leverage.
12) Inputs and quick presets
Core
Portfolio Strategy . Long Only, Short Only, Delta Neutral.
Initial Capital . For equity scaling in the panel.
Trading Days/Year . 252 for stocks, 365 for crypto.
Target Volatility . Annualized, drives volMult.
Transaction Fees . Per-bar drag and composition change penalty, see the modelling notes above.
Momentum Lookback . Ranking horizon. Shorter is more reactive, longer is steadier.
Start Date . Ensure every symbol has data back to this date to avoid bias.
Benchmark . Used for alpha, beta, and B&H line.
Diagnostics
Metrics, Equity, B&H, Curve labels, Daily return line, Rolling drawdown fill.
Attribution panel. Toggle winners only to focus on what matters.
Monte Carlo mode with Normal or Bootstrap and confidence bands.
Scatter plot type and styling, labels, and portfolio star.
Pie chart and labels for current allocation.
Presets
Crypto Daily, Long Only . Lookback 25, Target Vol 50 percent, Fees 10 bps, Regime filter on, Metrics and Drawdown on. Monte Carlo Bootstrap with Recent 200 bars for bands.
Crypto Daily, Delta Neutral . Lookback 25, Target Vol 50 percent, Fees 15–25 bps, Regime filter always active for this mode. Use Scatter Risk-Return to monitor efficiency and keep the star near upper left quadrants without drifting rightward.
Equities Daily, Long Only . Lookback 60–120, Target Vol 15–20 percent, Fees 5–10 bps, Regime filter on. Use Benchmark SPX and watch Alpha and Beta to keep the book from becoming index beta.
13) Suggested workflow
Universe sanity check . Pick liquid tickers with stable data. Thin assets distort vol estimates and fees.
Check momentum existence . Run on your timeframe. If slope and fit are weak, widen lookback or avoid that asset or timeframe.
Set risk budget . Choose a target volatility that matches your drawdown tolerance. Higher target increases turnover and cost sensitivity.
Pick mode . Long Only for bull regimes, Short Only for sustained downtrends, Delta Neutral for cross-sectional harvesting when index direction is unclear.
Tune lookback . If leaders rotate too often, lengthen it. If entries lag, shorten it.
Validate cost assumptions . Increase fee_rate and stress Monte Carlo. If the edge vanishes with modest friction, refine selection or lengthen rebalance cadence.
Run attribution . Confirm the strategy’s winners align with intuition and not one unstable outlier.
Use alerts . Enable position change, drawdown, volatility breach, regime, momentum shift, and crash alerts to supervise live runs.
Important implementation details mapped to code
Momentum measure . cr = price / price - 1 per symbol for ranking. Simplicity helps avoid overfitting.
Volatility targeting . vol = stdev(log returns, lookback) * sqrt(tradingdays), volMult = clamp(targetVol / vol, 0.1, 5), sr = ret * volMult.
Selection . Extract indices for top1..top3 and bot1..bot3. The arrays rets, scRets, lev_vals, and ticks_arr track momentum, scaled returns, leverage multipliers, and display tickers respectively.
Regime filter . EMA12 vs EMA21 switch determines if the strategy takes risk for Long or Short modes. Delta Neutral ignores the gate.
Equity update . Equity multiplies by 1 + netRet only when the regime was active in the prior bar. Buy-and-hold benchmark is computed separately for comparison.
Tables . Position tables show current top or bottom assets with leverage and weights. Metric table prints all risk and performance figures.
Visualization panels . Attribution, Monte Carlo, scatter, and pie use the last bars to draw overlays that update as the backtest proceeds.
Final notes
Momentum is a portfolio effect. The edge comes from cross-sectional dispersion, adequate risk normalization, and disciplined turnover control, not from a single best asset call.
Volatility targeting stabilizes path but does not fix selection. Use the momentum regression link above to confirm structure exists before you size into it.
Always test higher lag costs and slippage, then recheck metrics, attribution, and Monte Carlo envelopes. If the edge persists under stress, you have something robust.
Elastic Trend OscillatorThe Elastic Trend Oscillator (ETO) is a volatility-adaptive momentum indicator that measures price displacement from a trend baseline while accounting for market volatility conditions. Unlike traditional oscillators that use fixed scaling, ETO dynamically adjusts its sensitivity based on current volatility levels relative to recent market conditions, providing context-aware momentum readings across different market regimes.
What Makes This Indicator Different
Volatility-Adaptive Scaling:
The core innovation of ETO is its dynamic volatility adjustment mechanism. The indicator calculates an ATR percentile rank over a lookback period and uses this to scale the momentum readings. When volatility is elevated, the indicator becomes less sensitive to price moves, recognizing that larger displacements are normal in volatile conditions. Conversely, in low volatility environments, smaller price moves are given more weight. This prevents false signals during volatility expansions and maintains sensitivity during quiet periods.
Low Volatility Compression:
During periods of extremely low volatility, the oscillator naturally compresses toward the midline and exhibits minimal movement. This midline-hugging behavior serves as a visual indicator that the market lacks directional energy and momentum readings are unreliable. Unlike indicators that continue oscillating during quiet periods and potentially generate false signals, ETO's compression around the midline is supposed to identify low-conviction environments where trend-following strategies underperform. When you see the oscillator stuck near 50 with little movement, recognize this as a consolidation phase where ranges dominate and breakout setups may be developing.
Trend Slope Analysis with Dynamic Thresholds:
The indicator monitors both the trend direction (EMA slope) and the rate of slope change. Dynamic thresholds based on ATR identify when trend acceleration is slowing. The oscillator becomes semi-transparent when slope deceleration exceeds the threshold, warning of potential trend exhaustion before actual reversals occur.
Relatively Linear Transformation:
Unlike many oscillators that use non-linear transformations, ETO applies a more linear scaling of the ATR-normalized displacement. This preserves the proportional relationship between price moves and oscillator readings, making divergences and momentum shifts more intuitive to interpret.
How to Use the Indicator
Trend Direction:
Green oscillator = Bullish trend (price above EMA with positive slope)
Red oscillator = Bearish trend (price below EMA with negative slope)
Oscillator compressed near 50 with minimal movement = Low volatility, consolidation phase. These phases often precede volatility expansions and significant directional moves, making them more ideal for monitoring breakout setups rather than taking positions.
Momentum Quality:
Solid color = Strong, accelerating trend
Semi-transparent = Decelerating trend, potential exhaustion, potential consolidation ahead
The transparency change acts as an early warning before actual trend reversals or consolidations.
Trading Signals:
Crossovers: When the oscillator crosses the signal line to the other side of momentum while oversold/overbought, it suggests potential reversals (better in combination with transparency loss).
Overbought/Oversold: Levels above 70 indicate overbought conditions; below 30 indicate oversold. These are not reversal signals themselves but identify extended moves where momentum may be extreme.
Midline: Oscillator above 50 indicates price is above the trend baseline with positive displacement. Below 50 indicates negative displacement.
Divergences: Like with other momentum indicators compare oscillator highs/lows with price highs/lows.
Settings
EMA Length: Controls the trend baseline period. Lower values make the indicator more responsive to short-term price changes; higher values focus on longer-term trends. This directly affects how quickly the oscillator responds to trend changes.
ATR Length: Determines the period for volatility measurement. This affects both the normalization of price displacement and the momentum confirmation filter. Lower values make volatility measurements more reactive; higher values provide smoother volatility assessment.
Oscillator Smoothing: Applies EMA smoothing to the raw oscillator values. A value of 1 shows unsmoothed, more volatile readings. Higher values produce smoother oscillations with less noise but more lag.
Signal Line Length: The EMA period for the signal line. Lower values create more frequent crossovers; higher values generate fewer but potentially more significant crossovers. This acts as a moving average of the oscillator itself.
Slope Change Sensitivity: Multiplier that sets how much slope deceleration triggers the transparency effect. Lower values make the indicator more sensitive to trend exhaustion, showing transparency earlier. Higher values require more pronounced deceleration before visual warning.
Overbought Level: Defines the upper extreme threshold.
Oversold Level: Defines the lower extreme threshold.
Best Practices
Use on any timeframe, but adjust EMA and ATR lengths according to your trading style (shorter for shorter term trades, longer for longer term trading like swing trading)
Combine with price action — the indicator identifies momentum conditions, not specific entry/exit points.
In strongly trending markets, the oscillator may remain in overbought/oversold territory for extended periods—this is normal and indicates persistent momentum rather than imminent reversal.
This indicator does not provide investment or trading advice. All trading decisions should be made based on your own analysis and risk management.
VWAP Kalman FilterOverview
This indicator applies Kalman filtering techniques to Volume Weighted Average Price (VWAP) calculations, providing a statistically optimized approach to VWAP analysis. The Kalman filter reduces noise while maintaining responsiveness to genuine price movements, addressing common VWAP limitations in volatile or low-volume conditions.
Technical Implementation
Kalman Filter Mathematics
The indicator implements a state-space model for VWAP estimation:
- Prediction Step: x̂(k|k-1) = x̂(k-1|k-1) + v(k-1)
- Update Step: x̂(k|k) = x̂(k|k-1) + K(k)
- Kalman Gain: K(k) = P(k|k-1) / (P(k|k-1) + R)
Where:
- x̂ = estimated VWAP state
- K = Kalman gain (adaptive weighting factor)
- P = error covariance
- R = measurement noise
- Q = process noise
- v = optional velocity component
Core Components
Dual VWAP System
- Standard VWAP: Traditional volume-weighted calculation
- Kalman-filtered VWAP: Noise-reduced estimation with optional velocity tracking
- Real-time divergence measurement between filtered and unfiltered values
Adaptive Filtering
- Process Noise (Q): Controls adaptation to price changes (0.001-1.0)
- Measurement Noise (R): Determines smoothing intensity (0.01-5.0)
- Optional velocity tracking for momentum-based filtering
Multi-Timeframe Anchoring
- Session, Weekly, Monthly, Quarterly, and Yearly anchor periods
- Automatic Kalman state reset on anchor changes
- Maintains VWAP integrity across timeframes
Features
Visual Components
- Dual VWAP Lines: Compare filtered vs. unfiltered in real-time
- Dynamic Bands: Three-level deviation bands (1σ, 2σ, 3σ)
- Trend Coloring: Automatic color adaptation based on price position
- Cloud Visualization: Highlights divergence between standard and Kalman VWAP
- Signal Markers: Crossover and band-touch indicators
Trading Signals
- VWAP crossover detection with Kalman filtering
- Band touch alerts at multiple standard deviation levels
- Velocity-based momentum confirmation (optional)
- Divergence warnings when filtered/unfiltered values separate
Information Display
- Real-time VWAP values (both standard and filtered)
- Trend direction indicator
- Velocity/momentum reading (when enabled)
- Divergence percentage calculation
- Anchor period display
Input Parameters
VWAP Settings
- Anchor Period: Choose calculation reset period
- Band Multipliers: Customize deviation band distances
- Display Options: Toggle standard VWAP and bands
Kalman Parameters
- Length: Base period for calculations (5-200)
- Process Noise (Q: Higher values increase responsiveness
- Measurement Noise (R): Higher values increase smoothing
- Velocity Tracking: Enable momentum-based filtering
Visual Controls
- Toggle filtered/unfiltered VWAP display
- Band visibility options
- Signal markers on/off
- Cloud fill between VWAPs
- Bar coloring by trend
Use Cases
Noise Reduction
Particularly effective during:
- Low volume periods (pre-market, lunch hours)
- Volatile market conditions
- Fast-moving markets where standard VWAP whipsaws
Trend Identification
- Cleaner trend signals with reduced false crosses
- Earlier trend detection through velocity component
- Confirmation through divergence analysis
Support/Resistance
- Filtered VWAP provides more stable S/R levels
- Bands adapt to filtered values for better zone identification
- Reduced false breakout signals
Technical Advantages
1. Optimal Estimation: Mathematically optimal under Gaussian noise assumptions
2. Adaptive Response: Self-adjusting to market conditions
3. Predictive Element: Velocity component provides forward-looking insight
4. Noise Immunity: Superior noise rejection vs. simple moving average smoothing
Limitations
- Assumes linear price dynamics
- Requires parameter optimization for different instruments
- May lag during sudden volatility regime changes
- Not suitable as standalone trading system
Mathematical Background
Based on control systems theory, the Kalman filter provides recursive Bayesian estimation originally developed for aerospace applications. This implementation adapts the algorithm specifically for financial time series, maintaining VWAP's volume-weighted properties while adding statistical filtering.
Comparison with Standard VWAP
Standard VWAP Issues Addressed:
- Choppy behavior in low volume
- Whipsaws around VWAP line
- Lag in trend identification
- Noise in deviation bands
Kalman VWAP Benefits:
- Smooth yet responsive line
- Fewer false signals
- Optional momentum tracking
- Statistically optimized filtering
Alert Conditions
The indicator includes several pre-configured alert conditions:
- Bullish/Bearish VWAP crosses
- Upper/Lower band touches
- High divergence warnings
- Velocity shifts (if enabled)
---
This open-source indicator is provided as-is for educational and trading purposes. No guarantees are made regarding trading performance. Users should conduct their own testing and validation before using in live trading.
Kalman Adaptive Score Overlay [BackQuant]Kalman Adaptive Score Overlay
A powerful indicator that uses adaptive scoring to assess market conditions and trends, utilizing advanced filtering techniques to smooth price data, enhance trend-following precision, and predict future price movements based on past data. It is ideal for traders who need a dynamic and responsive trend analysis tool that adjusts to market fluctuations.
What is Adaptive Scoring?
Adaptive scoring is a technique that adjusts the weight or importance of certain price movements over time based on an ongoing assessment of market behavior. This indicator uses dynamic scoring to assess the strength and direction of price movements, providing insight into whether a trend is likely to continue or reverse. The score is recalculated continuously to reflect the most up-to-date market conditions, offering a responsive approach to trend-following.
How It Works
The core of this indicator is built on advanced filtering methods that smooth price data, adjusting the response to recent price changes. The filtering mechanism incorporates a Kalman filter to reduce noise and improve the accuracy of price signals. Combined with adaptive scoring, this creates a robust framework that automatically adjusts to both short-term fluctuations and long-term trends.
The indicator also uses a dynamic trend-following component that updates its analysis based on the direction of the market, with the option to visualize it through colored candles. When a strong trend is identified, the candles are painted to reflect the prevailing trend, helping traders quickly identify whether the market is in a bullish or bearish state.
Why Adaptive Scoring Is Important
Dynamic Response: Adaptive scoring allows the indicator to respond to changing market conditions. By adjusting its sensitivity to price fluctuations, it ensures that trends are captured accurately, without being overly influenced by short-term noise.
Trend Precision: By combining Kalman filtering with adaptive scoring, the indicator offers a precise and smooth trend-following mechanism. It helps traders stay aligned with the market direction and avoid false signals.
Versatility: The indicator works across multiple timeframes, making it adaptable to different trading strategies, from scalping to long-term trend-following.
Confidence in Market Moves: The adaptive scoring component provides traders with confidence in the strength of the trend, helping them determine when to enter or exit positions with greater certainty.
How Traders Use It
Trend-Following Strategy: Traders can use this indicator to confirm trends and refine their entries and exits. The colored candles and adaptive scoring offer a visual cue of trend strength and direction, making it easier to follow the prevailing market movement.
Multi-Timeframe Analysis: The script supports multi-timeframe analysis, allowing traders to analyze trends and scores across different timeframes (e.g., 1m, 5m, 15m, 30m, 1h, 4h, 12h). This is useful for traders who want to confirm trends on both short and long-term charts before making a trade.
Refining Entry Points: By utilizing the adaptive scoring, traders can identify potential entry points where the score indicates a high probability of trend continuation. Higher scores signal stronger trends, guiding decision-making.
Managing Risk: Traders can use the adaptive scoring system to assess trend stability and adjust their risk management strategies accordingly. For example, higher confidence in the trend allows for larger positions, while lower confidence may require smaller, more cautious trades.
Key Features and Benefits
Kalman Filter for Noise Reduction: The Kalman filter helps to smooth out market noise and allows for a clearer understanding of the underlying price movements. This is particularly useful in volatile markets where short-term fluctuations can cloud trend analysis.
Adaptive Scoring for Flexibility: Adaptive scoring ensures that the indicator remains responsive to changing market conditions. It automatically adjusts to the strength of price movements, enabling better detection of trends and reversals.
Visual Trend Signals: The indicator provides visual signals through candle coloring, making it easier to identify whether the market is in a bullish, neutral, or bearish phase.
Multi-Timeframe Display: The indicator’s multi-timeframe feature allows traders to see the trend and adaptive score on different timeframes simultaneously, providing a comprehensive view of the market.
Customizable Settings: Traders can customize the indicator’s settings, such as the filter parameters, scoring thresholds, and visualization options, tailoring it to their specific trading style and strategy.
Why This is Important for Traders
Improved Decision Making: The adaptive nature of the scoring system allows traders to make more informed decisions based on real-time market data, without being influenced by past volatility.
Market Clarity: By smoothing out price movements and scoring trends adaptively, the indicator provides a clearer picture of market behavior, which is essential for effective trend-following and timing entries and exits.
Increased Confidence in Signals: Adaptive scoring ensures that signals are based on the current market structure, reducing the likelihood of false positives. This boosts traders' confidence when acting on signals.
Conclusion
The Kalman Adaptive Score Overlay offers a dynamic and responsive trend-following tool that integrates Kalman filtering with adaptive scoring. By adjusting to market fluctuations in real time, it allows traders to identify and follow trends with greater precision. Whether you are trading on short or long timeframes, this tool helps you stay aligned with market momentum, ensuring that your entries and exits are based on the most up-to-date and reliable data available.
Smart Trend MASmart Trend MA - Adaptive Moving Average with VHF Technology
WHAT IT IS
Smart Trend MA is an adaptive moving average indicator based on Perry Kaufman's KAMA (Kaufman Adaptive Moving Average) algorithm enhanced with VHF (Vertical Horizontal Filter) technology. The indicator automatically adjusts its responsiveness to current market conditions, becoming faster during trending markets and slower during ranging conditions to reduce false signals.
ORIGINALITY AND VALUE
This implementation combines KAMA's efficiency ratio methodology with dynamic VHF period adaptation, creating an intelligent system that self-adjusts without manual intervention. Unlike standard moving averages with fixed periods, Smart Trend MA dynamically calculates optimal sensitivity based on market structure. The gradient color visualization system provides immediate trend strength feedback. This indicator adds value by reducing whipsaw trades in choppy markets while maintaining responsiveness during genuine trends.
HOW IT WORKS
The indicator employs Kaufman's efficiency ratio calculation to measure directional movement relative to volatility. When markets trend strongly, the efficiency ratio increases and the moving average responds quickly to price changes. During sideways or choppy markets, the efficiency ratio decreases and the moving average becomes smoother to filter noise.
The VHF adaptation layer adds a second dimension of intelligence by dynamically adjusting the calculation period based on vertical price movement relative to horizontal price range. This dual-adaptive approach creates a moving average that automatically optimizes itself for current conditions without requiring parameter changes.
The gradient color system uses slope calculation to display trend strength visually. Stronger trends display more saturated colors while weaker or consolidating markets show muted tones.
FEATURES
- KAMA algorithm with efficiency ratio calculation
- VHF adaptive period adjustment for enhanced responsiveness
- Gradient color visualization with 7 color scheme options
- Range detection line showing mid-range support and resistance levels
- Multi-timeframe compatible across all markets
- No repainting - calculations use confirmed bar data
- Native TradingView alert system with 6 alert conditions
SETTINGS AND PARAMETERS
Length: Base calculation period (default 21). Higher values produce smoother lines suitable for position trading. Lower values (9-12) increase sensitivity for shorter timeframes.
Fast Factor: Controls maximum responsiveness during strong trends (default 0.66). Higher values increase reaction speed but may produce more noise.
Slow Factor: Controls minimum responsiveness during ranging markets (default 0.0645). Lower values create more smoothing during consolidation.
Smoothing Method: Optional additional smoothing using Hann Window or T3 methods. Default "None" recommended for most applications.
Enable VHF Adaptiveness: Activates dynamic period adjustment based on market structure. Recommended to keep enabled.
Range Detection: Displays mid-range line calculated from recent highs and lows. Useful for identifying support and resistance zones.
Gradient Colors: Choose from 7 color schemes or disable for simple two-color trend indication.
USAGE INSTRUCTIONS
The indicator plots a single adaptive line on the price chart. When the line slopes upward, market conditions favor bullish positions. When the line slopes downward, market conditions favor bearish positions. The gradient color intensity indicates trend strength - more saturated colors signal stronger directional movement.
The range detection line identifies the midpoint between recent price extremes. Price above the range line suggests bullish bias while price below suggests bearish bias. This line often acts as dynamic support or resistance.
For best results, combine Smart Trend MA with volume analysis and price action confirmation. The indicator works across all timeframes and markets including forex, cryptocurrency, stocks, and indices.
ALERT CONDITIONS
The indicator provides six native alert conditions through TradingView's alert system:
Bullish Trend: Triggers when the moving average direction changes to upward
Bearish Trend: Triggers when the moving average direction changes to downward
Strong Bullish: Triggers when slope exceeds threshold indicating strong upward momentum
Strong Bearish: Triggers when slope exceeds threshold indicating strong downward momentum
Price Cross Above: Triggers when price crosses above the moving average
Price Cross Below: Triggers when price crosses below the moving average
TECHNICAL NOTES
This indicator uses lookahead_off to ensure calculations reflect only confirmed bar data, preventing repainting issues. The default 21-period setting represents a Fibonacci number statistically proven optimal for swing trading across multiple markets.
LIMITATIONS
Past performance does not guarantee future results. This indicator provides trend analysis based on historical price data and does not predict future price movement. Best results occur in markets with clear directional bias. During extreme volatility or news events, all technical indicators including adaptive moving averages may produce less reliable signals.
No indicator should be used as the sole basis for trading decisions. Combine Smart Trend MA with proper risk management, additional analysis methods, and thorough understanding of the markets you trade.
Adaptive AI Polar Oscillator [by Oberlunar]Adaptive AI Oscillator blends trading signals with two order-flow style oscillators and a lightweight online-learning model to keep it reactive, adaptive and computationally feasible.
What it is
A lightweight Multi Layer Perceptron (neural net) updates online on every bar, so it keeps adapting as conditions change.
An adaptive collector that fuses features like Price (close, ohlc4, etc...), a selectable (but not used in the original implementation) Moving Average (EMA/SMA/WMA/RMA/HMA/DEMA/TEMA), RSI, the classic volume datafeeds, plus two “OberPolar” oscillators computed above and below the current integral area price.
What you see
White line — the model’s denormalised forecast (in price units).
Colored price line — actual price, shown aqua when forecast ≥ price (“golden” bias) and red when forecast < price (“death” bias).
Why it helps
Combines heterogeneous information (trend, momentum, participation, regional buy/sell pressure) into a single adaptive forecast.
Online learning reduces regime staleness versus fixed-parameter indicators.
The aqua/red bias offers a quick, visual state for discretionary decisions.
How it works (intuitive)
Each AI input is standardised (z-score) with optional clamping to mitigate outliers.
A rolling window of recent values feeds a 2-layer AI to predict one step ahead.
After each bar closes, the model compares forecast vs. reality and nudges its weights (SGD with momentum, L2, optional gradient clipping).
The forecast is de-standardised back to price units and plotted as the white line.
Reading guide
Crossovers between forecast and price often mark potential bias flips.
Persistent aqua → model perceives supportive/positive conditions.
Persistent red → model perceives headwinds/negative conditions.
Complex Strategy — Oscillator Trendline Break
Connect the first pivot in the fading bias with the first pivot in the new bias, then trade the break of that line in the direction of the new bias.
Idea in one line
Use the Adaptive AI Oscillator (green = bullish bias, red = bearish). When bias flips, build a line across the oscillator pivots that “span” the transition; the break of that line times the entry.
Long setup (mirror for shorts)
Bias transition : a bearish (red) regime is ongoing, then the oscillator turns bullish (green).
Anchor pivots : take the first MIN in red just before/around the flip and the first MAX in green after the flip. Draw a trendline L through these two oscillator values (time–value line).
Trigger : enter LONG on the close that breaks above L —optional confirmations: price above your MA, non-decreasing volume, no immediate supply zone overhead.
Risk : stop below the last oscillator swing low or below a retest of L; first target at 1R–1.5R or at the opposite bias zone; trail under successive oscillator higher lows.
Short setup
Bias turns from green (bullish) to red (bearish).
Connect the first MAX in green to the first MIN in red → line L.
Enter SHORT on a close below L ; stop above the last oscillator swing high; symmetric targets/trailing.
Complex Strategy #2 — Bias-Pivot Breakout with Exit on Line Failure
Connect two pivots of the same bias to build a dynamic barrier; trade the breakout in the bias direction and exit when that line later fails.
Long play (mirror for shorts)
Build the line. During a green (bullish) phase, mark the first two local MAX of the oscillator. Connect them to form the yellow resistance line L (extend it right). If a new, clearer MAX appears before a break, re-anchor using the two most recent highs.
Entry trigger. Go LONG on a close above L (the “Break and LONG” in the image). Optional filters: price above your MA, rising volume, no immediate overhead level.
Risk. Initial stop: below the last oscillator swing low or below the retest of L . Position size for 1–2R baseline.
Exit. Close the long when the oscillator later breaks back below L (the “Break and LONG exit”), or on a bias flip to red, or at a fixed target/trailing under higher lows.
Short play (symmetric)
In a red phase, connect the first two local MIN to form support line L .
Enter SHORT on a close below L ; stop above the last oscillator swing high; exit on a break back above L or on a flip to green.
Notes
Require a minimum slope/spacing between pivots to avoid flat/noisy lines.
Re-anchor the line if fresher pivots emerge before a valid break.
Use with your regime filter (MA slope, higher-timeframe bias) to reduce whipsaws.
Complex Strategy #3 — Lateral Box & Zero-Slope Breakout
An easy way to understand sideways phases and the next price direction: draw two zero-slope lines (flat upper/lower bounds) across the oscillator’s lateral area; when a strong break occurs, trade in the direction of that break.
How to use it
Identify a lateral area on the oscillator (flat, low-variance region). Place a flat upper line on tops and a flat lower line on bottoms (slope ≈ 0).
Wait for a decisive break : close outside the band with expansion (range/true range rising, or a wide candle).
• Break up → bias for LONG .
• Break down → bias for SHORT .
Why it helps
Flat lines isolate congestion; the next impulsive move is often revealed by which side is broken with force.
It filters noise inside the range and focuses attention on the transition from balance → imbalance.
Practical filters (optional)
Require minimum bar body/ATR on the breakout candle to avoid false breaks .
Confirm with your regime filter (e.g., price above/below your MA) or a quick retest that holds.
Invalidate the signal if the price immediately returns inside the band on the next bar.
General Operational notes
If new pivots form before a break, re-anchor the line with the most recent qualifying pair (keeps the structure fresh).
Ignore very shallow lines (near-flat): require a minimum slope or angle to avoid noise.
Combine with your bias filter (e.g., MA slope/regime) to reduce false starts.
Limits & good practice
Adaptive models can react to noise; treat signals as context within a risk-managed plan.
No model predicts the future—this summarises evolving conditions compactly.
— Oberlunar 👁 ★
Dynamic Fractal Flow [Alpha Extract]An advanced momentum oscillator that combines fractal market structure analysis with adaptive volatility weighting and multi-derivative calculus to identify high-probability trend reversals and continuation patterns. Utilizing sophisticated noise filtering through choppiness indexing and efficiency ratio analysis, this indicator delivers entries that adapt to changing market regimes while reducing false signals during consolidation via multi-layer confirmation centered on acceleration analysis, statistical band context, and dynamic omega weighting—without any divergence detection.
🔶 Fractal-Based Market Structure Detection
Employs Williams Fractal methodology to identify pivotal market highs and lows, calculating normalized price position within the established fractal range to generate oscillator signals based on structural positioning. The system tracks fractal points dynamically and computes relative positioning with ATR fallback protection, ensuring continuous signal generation even during extended trending periods without fractal formation.
🔶 Dynamic Omega Weighting System
Implements an adaptive weighting algorithm that adjusts signal emphasis based on real-time volatility conditions and volume strength, calculating dynamic omega coefficients ranging from 0.3 to 0.9. The system applies heavier weighting to recent price action during high-conviction moves while reducing sensitivity during low-volume environments, mitigating lag inherent in fixed-period calculations through volatility normalization and volume-strength integration.
🔶 Cascading Robustness Filtering
Features up to five stages of progressive EMA smoothing with user-adjustable robustness steps, each layer systematically filtering microstructure noise while preserving essential trend information. Smoothing periods scale with the chosen fractal length and robustness steps using a fixed smoothing multiplier for consistent, predictable behavior.
🔶 Adaptive Noise Suppression Engine
Integrates dual-component noise filtering combining Choppiness Index calculation with Kaufman’s Efficiency Ratio to detect ranging versus trending market conditions. The system applies dynamic damping that maintains full signal strength during trending environments while suppressing signals during choppy consolidation, aligning output with the prevailing regime.
🔶 Acceleration and Jerk Analysis Framework
Calculates second-derivative acceleration and third-derivative jerk to identify explosive momentum shifts before they fully materialize on traditional indicators. Detects bullish acceleration when both acceleration and jerk turn positive in negative oscillator territory, and bearish acceleration when both turn negative in positive territory, providing early entry signals for high-velocity trend initiation phases.
🔶 Multi-Layer Signal Generation Architecture
Combines three primary signal types with hierarchical validation: acceleration signals, band crossover entries, and threshold momentum signals. Each signal category includes momentum confirmation, trend-state validation, and statistical band context; signals are further conditioned by band squeeze detection to avoid low-probability entries during compression phases. Divergence is intentionally excluded for a purely structure- and momentum-driven approach.
🔶 Dynamic Statistical Band System
Utilizes Bollinger-style standard deviation bands with configurable multiplier and length to create adaptive threshold zones that expand during volatile periods and contract during consolidation. Includes band squeeze detection to identify compression phases that typically precede expansion, with signal suppression during squeezes to prevent premature entries.
🔶 Gradient Color Visualization System
Features color gradient mapping that dynamically adjusts line intensity based on signal strength, transitioning from neutral gray to progressively intense bullish or bearish colors as conviction increases. Includes gradient fills between the signal line and zero with transparency scaling based on oscillator intensity for immediate visual confirmation of trend strength and directional bias.
All analysis provided by Alpha Extract is for educational and informational purposes only. The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations.
Adaptive Trend SelectorThe Adaptive Trend Selector is a comprehensive trend-following tool designed to automatically identify the optimal moving average crossover strategy. It features adjustable parameters and an integrated backtester that delivers institutional-grade insights into the recommended strategy. The model continuously adapts to new data in real time by evaluating multiple moving average combinations, determining the best performing lengths, and presenting the backtest results in a clear, color-coded table that benchmarks performance against the buy-and-hold strategy.
At its core, the model systematically backtests a wide range of moving average combinations to identify the configuration that maximizes the selected optimization metric. Users can choose to optimize for absolute returns or risk-adjusted returns using the Sharpe, Sortino, or Calmar ratios. Alternatively, users can enable manual optimization to test custom fast and slow moving average lengths and view the corresponding backtest results. The label displays the Compounded Annual Growth Rate (CAGR) of the strategy, with the buy-and-hold CAGR in parentheses for comparison. The table presents the backtest results based on the fast and slow lengths displayed at the top:
Sharpe = CAGR per unit of standard deviation.
Sortino = CAGR per unit of downside deviation.
Calmar = CAGR relative to maximum drawdown.
Max DD = Largest peak-to-trough decline in value.
Beta (β) = Return sensitivity relative to buy-and-hold.
Alpha (α) = Excess annualized risk-adjusted returns.
Win Rate = Ratio of profitable trades to total trades.
Profit Factor = Total gross profit per unit of losses.
Expectancy = Average expected return per trade.
Trades/Year = Average number of trades per year.
This indicator is designed with flexibility in mind, enabling users to specify the start date of the backtesting period and the preferred moving average strategy. Supported strategies include the Exponential Moving Average (EMA), Simple Moving Average (SMA), Wilder’s Moving Average (RMA), Weighted Moving Average (WMA), and Volume-Weighted Moving Average (VWMA). To minimize overfitting, users can define constraints such as a minimum and maximum number of trades per year, as well as an optional optimization margin that prioritizes longer, more robust combinations by requiring shorter-length strategies to exceed this threshold. The table follows an intuitive color logic that enables quick performance comparison against buy-and-hold (B&H):
Sharpe = Green indicates better than B&H, while red indicates worse.
Sortino = Green indicates better than B&H, while red indicates worse.
Calmar = Green indicates better than B&H, while red indicates worse.
Max DD = Green indicates better than B&H, while red indicates worse.
Beta (β) = Green indicates better than B&H, while red indicates worse.
Alpha (α) = Green indicates above 0%, while red indicates below 0%.
Win Rate = Green indicates above 50%, while red indicates below 50%.
Profit Factor = Green indicates above 2, while red indicates below 1.
Expectancy = Green indicates above 0%, while red indicates below 0%.
In summary, the Adaptive Trend Selector is a powerful tool designed to help investors make data-driven decisions when selecting moving average crossover strategies. By optimizing for risk-adjusted returns, investors can confidently identify the best lengths using institutional-grade metrics. While results are based on the selected historical period, users should be mindful of potential overfitting, as past results may not persist under future market conditions. Since the model recalibrates to incorporate new data, the recommended lengths may evolve over time.
Kalman VWAP Filter [BackQuant]Kalman VWAP Filter
A precision-engineered price estimator that fuses Kalman filtering with the Volume-Weighted Average Price (VWAP) to create a smooth, adaptive representation of fair value. This hybrid model intelligently balances responsiveness and stability, tracking trend shifts with minimal noise while maintaining a statistically grounded link to volume distribution.
If you would like to see my original Kalman Filter, please find it here:
Concept overview
The Kalman VWAP Filter is built on two core ideas from quantitative finance and control theory:
Kalman filtering — a recursive Bayesian estimator used to infer the true underlying state of a noisy system (in this case, fair price).
VWAP anchoring — a dynamic reference that weights price by traded volume, representing where the majority of transactions have occurred.
By merging these concepts, the filter produces a line that behaves like a "smart moving average": smooth when noise is high, fast when markets trend, and self-adjusting based on both market structure and user-defined noise parameters.
How it works
Measurement blend : Combines the chosen Price Source (e.g., close or hlc3) with either a Session VWAP or a Rolling VWAP baseline. The VWAP Weight input controls how much the filter trusts traded volume versus price movement.
Kalman recursion : Each bar updates an internal "state estimate" using the Kalman gain, which determines how much to trust new observations vs. the prior state.
Noise parameters :
Process Noise controls agility — higher values make the filter more responsive but also more volatile.
Measurement Noise controls smoothness — higher values make it steadier but slower to adapt.
Filter order (N) : Defines how many parallel state estimates are used. Larger orders yield smoother output by layering multiple one-dimensional Kalman passes.
Final output : A refined price trajectory that captures VWAP-adjusted fair value while dynamically adjusting to real-time volatility and order flow.
Why this matters
Most smoothing techniques (EMA, SMA, Hull) trade off lag for smoothness. Kalman filtering, however, adaptively rebalances that tradeoff each bar using probabilistic weighting, allowing it to follow market state changes more efficiently. Anchoring it to VWAP integrates microstructure context — capturing where liquidity truly lies rather than only where price moves.
Use cases
Trend tracking : Color-coded candle painting highlights shifts in slope direction, revealing early trend transitions.
Fair value mapping : The line represents a continuously updated equilibrium price between raw price action and VWAP flow.
Adaptive moving average replacement : Outperforms static MAs in variable volatility regimes by self-adjusting smoothness.
Execution & reversion logic : When price diverges from the Kalman VWAP, it may indicate short-term imbalance or overextension relative to volume-adjusted fair value.
Cross-signal framework : Use with standard VWAP or other filters to identify convergence or divergence between liquidity-weighted and state-estimated prices.
Parameter guidance
Process Noise : 0.01–0.05 for swing traders, 0.1–0.2 for intraday scalping.
Measurement Noise : 2–5 for normal use, 8+ for very smooth tracking.
VWAP Weight : 0.2–0.4 balances both price and VWAP influence; 1.0 locks output directly to VWAP dynamics.
Filter Order (N) : 3–5 for reactive short-term filters; 8–10 for smoother institutional-style baselines.
Interpretation
When price > Kalman VWAP and slope is positive → bullish pressure; buyers dominate above fair value.
When price < Kalman VWAP and slope is negative → bearish pressure; sellers dominate below fair value.
Convergence of price and Kalman VWAP often signals equilibrium; strong divergence suggests imbalance.
Crosses between Kalman VWAP and the base VWAP can hint at shifts in short-term vs. long-term liquidity control.
Summary
The Kalman VWAP Filter blends statistical estimation with market microstructure awareness, offering a refined alternative to static smoothing indicators. It adapts in real time to volatility and order flow, helping traders visualize balance, transition, and momentum through a lens of probabilistic fair value rather than simple price averaging.
IIR One-Pole Price Filter [BackQuant]IIR One-Pole Price Filter
A lightweight, mathematically grounded smoothing filter derived from signal processing theory, designed to denoise price data while maintaining minimal lag. It provides a refined alternative to the classic Exponential Moving Average (EMA) by directly controlling the filter’s responsiveness through three interchangeable alpha modes: EMA-Length , Half-Life , and Cutoff-Period .
Concept overview
An IIR (Infinite Impulse Response) filter is a type of recursive filter that blends current and past input values to produce a smooth, continuous output. The "one-pole" version is its simplest form, consisting of a single recursive feedback loop that exponentially decays older price information. This makes it both memory-efficient and responsive , ideal for traders seeking a precise balance between noise reduction and reaction speed.
Unlike standard moving averages, the IIR filter can be tuned in physically meaningful terms (such as half-life or cutoff frequency) rather than just arbitrary periods. This allows the trader to think about responsiveness in the same way an engineer or physicist would interpret signal smoothing.
Why use it
Filters out market noise without introducing heavy lag like higher-order smoothers.
Adapts to various trading speeds and time horizons by changing how alpha (responsiveness) is parameterized.
Provides consistent and mathematically interpretable control of smoothing, suitable for both discretionary and algorithmic systems.
Can serve as the core component in adaptive strategies, volatility normalization, or trend extraction pipelines.
Alpha Modes Explained
EMA-Length : Classic exponential decay with alpha = 2 / (L + 1). Equivalent to a standard EMA but exposed directly for fine control.
Half-Life : Defines the number of bars it takes for the influence of a price input to decay by half. More intuitive for time-domain analysis.
Cutoff-Period : Inspired by analog filter theory, defines the cutoff frequency (in bars) beyond which price oscillations are heavily attenuated. Lower periods = faster response.
Formula in plain terms
Each bar updates as:
yₜ = yₜ₋₁ + alpha × (priceₜ − yₜ₋₁)
Where alpha is the smoothing coefficient derived from your chosen mode.
Smaller alpha → smoother but slower response.
Larger alpha → faster but noisier response.
Practical application
Trend detection : When the filter line rises, momentum is positive; when it falls, momentum is negative.
Signal timing : Use the crossover of the filter vs its previous value (or price) as an entry/exit condition.
Noise suppression : Apply on volatile assets or lower timeframes to remove flicker from raw price data.
Foundation for advanced filters : The one-pole IIR serves as a building block for multi-pole cascades, adaptive smoothers, and spectral filters.
Customization options
Alpha Scale : Multiplies the final alpha to fine-tune aggressiveness without changing the mode’s core math.
Color Painting : Candles can be painted green/red by trend direction for visual clarity.
Line Width & Transparency : Adjust the visual intensity to integrate cleanly with your charting style.
Interpretation tips
A smooth yet reactive line implies optimal tuning — minimal delay with reduced false flips.
A sluggish line suggests alpha is too small (increase responsiveness).
A noisy, twitchy line means alpha is too large (increase smoothing).
Half-life tuning often feels more natural for aligning filter speed with price cycles or bar duration.
Summary
The IIR One-Pole Price Filter is a signal smoother that merges simplicity with mathematical rigor. Whether you’re filtering for entry signals, generating trend overlays, or constructing larger multi-stage systems, this filter delivers stability, clarity, and precision control over noise versus lag, an essential tool for any quantitative or systematic trading approach.
AlphaMACD - Adaptive MACD with Efficiency RatioOVERVIEW
AlphaMACD is an adaptive implementation of the classic MACD indicator that dynamically adjusts its calculation periods based on market efficiency. Unlike traditional MACD which uses fixed periods (typically 12, 26, 9), this indicator adapts its fast and slow EMA periods in real-time based on how efficiently the market is trending.
WHAT MAKES THIS ORIGINAL
This is not a simple MACD with different settings or colors. The core innovation is the adaptive period calculation using Kaufman's Efficiency Ratio, which was originally developed for the Adaptive Moving Average (AMA). This indicator applies that adaptive logic to MACD itself.
Key Differences from Standard MACD:
- Periods dynamically adjust between user-defined ranges (default: 8-21 for fast, 21-55 for slow)
- Uses Kaufman's Efficiency Ratio to measure market trendiness
- Implements gap protection to prevent extreme spikes from market gaps
- Includes market regime detection to filter signals in choppy conditions
- Provides multi-timeframe trend confirmation
HOW IT WORKS
1. Efficiency Ratio Calculation:
The indicator calculates market efficiency by comparing the absolute price change over a period to the sum of absolute price changes within that period. High efficiency = strong trending market. Low efficiency = choppy/sideways market.
2. Adaptive Period Adjustment:
- In trending markets (high efficiency): Periods move toward the minimum values for faster response
- In choppy markets (low efficiency): Periods move toward the maximum values for slower, more stable signals
- The "Sensitivity" parameter controls how aggressively periods adapt (0.5 to 5.0)
3. Gap Protection:
The custom adaptive EMA function detects abnormal price gaps (moves larger than 3x the typical ATR-based change) and limits their impact on the calculation. This prevents weekends or news gaps from causing extreme MACD spikes.
4. Signal Quality Filtering:
- Market regime detection identifies trending vs sideways conditions
- Momentum filter (RSI-based) prevents signals during overextended moves
- Signal strength calculation helps identify high-confidence setups
- Sideways market signals are marked with warning symbols
5. Multi-Timeframe Analysis:
The indicator compares current timeframe MACD with a higher timeframe (default 60 min) to provide context and filter against-trend signals.
HOW TO USE IT
Settings:
- Core Settings: Define the minimum and maximum periods for fast/slow EMAs
- Sensitivity: Higher values make the indicator more responsive to market changes
- Multi-timeframe: Set a higher timeframe for trend confirmation
- Visual options: Customize appearance and enable/disable features
Signal Interpretation:
- Strong bullish/bearish signals (large triangles): High-confidence entries in trending markets
- Warning signals (small ⚠): Crossovers in sideways markets - use caution or skip
- Divergence labels ("DIV"): Price and MACD diverging - potential reversal
- Background color: Green tint = trending market, Orange tint = sideways market
The Information Table shows:
- Current market regime (trending or sideways)
- Market efficiency percentage (how clean the trend is)
- Current adaptive fast and slow periods
- Higher timeframe trend direction
- Current signal strength
Best Practices:
- In trending markets: Trust strong signals, avoid warning signals
- In sideways markets: Reduce position sizes or skip trades entirely
- Use higher timeframe confirmation for better signal quality
- Adjust sensitivity based on your trading timeframe (higher for intraday, lower for swing)
TECHNICAL DETAILS
Calculation Method:
- Efficiency Ratio = ABS(Close - Close ) / SUM(ABS(Close - Close ), Period)
- Smoothed Efficiency = EMA(Efficiency Ratio, 5)
- Fast Period = Fast_Min + (Fast_Max - Fast_Min) × (1 - Smoothed_Efficiency × Sensitivity)
- Slow Period = Slow_Min + (Slow_Max - Slow_Min) × (1 - Smoothed_Efficiency × Sensitivity)
- Adaptive EMA uses standard EMA formula with gap detection and limiting
- MACD = Fast Adaptive EMA - Slow Adaptive EMA
- Signal = EMA(MACD, Signal Period)
- Histogram = MACD - Signal
The adaptive periods are calculated on every bar, so the MACD responds faster in trending conditions and stabilizes during consolidation.
WHAT THIS SOLVES
Standard MACD Problems:
- Fixed periods don't adapt to changing market conditions
- Too many false signals in sideways markets
- Whipsaws during low-volatility consolidation
- Price gaps can cause misleading spikes
AlphaMACD Solutions:
- Periods automatically adjust to market state
- Market regime filter identifies and warns about sideways conditions
- Adaptive smoothing reduces whipsaws
- Gap protection prevents false extremes
LIMITATIONS
- Like all indicators, this does not predict the future
- Requires trending markets for optimal performance
- Adaptive calculation means backtesting results will differ from fixed-period MACD
- More complex than standard MACD - requires understanding of adaptive concepts
- The adaptive periods mean you cannot directly compare this to traditional MACD studies
This indicator is best used as part of a complete trading system, not as a standalone signal generator.
EDUCATIONAL VALUE
For traders learning about:
- Adaptive indicators and market efficiency concepts
- Kaufman's Adaptive Moving Average principles applied to oscillators
- Market regime detection and signal filtering
- Gap handling in technical indicators
- Multi-timeframe analysis integration
Not Financial advice.
Adaptive Vol Gauge [ParadoxAlgo]This is an overlay tool that measures and shows market ups and downs (volatility) based on daily high and low prices. It adjusts automatically to recent price changes and highlights calm or wild market periods. It colors the chart background and bars in shades of blue to cyan, with optional small labels for changes in market mood. Use it for info only—combine with your own analysis and risk controls. It's not a buy/sell signal or promise of results.Key FeaturesSmart Volatility Measure: Tracks price swings with a flexible time window that reacts to market speed.
Market Mood Detection: Spots high-energy (wild) or low-energy (calm) phases to help see shifts.
Visual Style: Uses smooth color fades on the background and bars—cyan for calm, deep blue for wild—to blend nicely on your chart.
Custom Options: Change settings like time periods, sensitivity, colors, and labels.
Chart Fit: Sits right on your main price chart without extra lines, keeping things clean.
How It WorksThe tool figures out volatility like this:Adjustment Factor:Looks at recent price ranges compared to longer ones.
Tweaks the time window (between 10-50 bars) based on how fast prices are moving.
Volatility Calc:Adds up logs of high/low ranges over the adjusted window.
Takes the square root for the final value.
Can scale it to yearly terms for easy comparison across chart timeframes.
Mood Check:Compares current volatility to its recent average and spread.
Flags "high" if above your set level, "low" if below.
Neutral in between.
This setup makes it quicker in busy markets and steadier in quiet ones.Settings You Can ChangeAdjust in the tool's menu:Base Time Window (default: 20): Starting point for calculations. Bigger numbers smooth things out but might miss quick changes.
Adjustment Strength (default: 0.5): How much it reacts to price speed. Low = steady; high = quick changes.
Yearly Scaling (default: on): Makes values comparable across short or long charts. Turn off for raw numbers.
Mood Sensitivity (default: 1.0): How strict for calling high/low moods. Low = more shifts; high = only big ones.
Show Labels (default: on): Adds tiny "High Vol" or "Low Vol" tags when moods change. They point up or down from bars.
Background Fade (default: 80): How see-through the color fill is (0 = invisible, 100 = solid).
Bar Fade (default: 50): How much color blends into your candles or bars (0 = none, 100 = full).
How to Read and Use ItColor Shifts:Background and bars fade based on mood strength:Cyan shades mean calm markets (good for steady, back-and-forth trades).
Deep blue shades mean wild markets (watch for big moves or turns).
Smooth changes show volatility building or easing.
Labels:"High Vol" (deep blue, from below bar): Start of wild phase.
"Low Vol" (cyan, from above bar): Start of calm phase.
Only shows at changes to avoid clutter. Use for timing strategy tweaks.
Trading Ideas:Mood-Based Plays: In wild phases (deep blue), try chase-momentum or breakout trades since swings are bigger. In calm phases (cyan), stick to bounce-back or range trades.
Risk Tips: Cut trade sizes in wild times to handle bigger losses. Use calm times for longer holds with close stops.
Chart Time Tips: Turn on yearly scaling for matching short and long views. Test settings on past data—loosen for quick trades (more alerts), tighten for longer ones (fewer, stronger).
Mix with Others: Add trend lines or averages—buy in calm up-moves, sell in wild down-moves. Check with volume or key levels too.
Special Cases: In big news events, it reacts faster. On slow assets, it might overstate swings—ease the adjustment strength.
Limits and TipsIt looks back at past data, so it trails real-time action and can't predict ahead.
Results differ by stock or timeframe—test on history first.
Colors and tags are just visuals; set your own alerts if needed.
Follows TradingView rules: No win promises, for learning only. Open for sharing; share thoughts in forums.
With this, you can spot market energy and tweak your trades smarter. Start on practice charts.
Quantile-Based Adaptive Detection🙏🏻 Dedicated to John Tukey. He invented the boxplot, and I finalized it.
QBAD (Quantile-Based Adaptive Detection) is ‘the’ adaptive (also optionally weighted = ready for timeseries) boxplot with more senseful fences. Instead of hardcoded multipliers for outer fences, I base em on a set of quantile-based asymmetry metrics (you can view it as an ‘algorithmic’ counter part of central & standardized moments). So outer bands are Not hardcoded, not optimized, not cross-validated etc, simply calculated at O(nlogn).
You can use it literally everywhere in any context with any continuous data, in any task that requires statistical control, novelty || outlier detection, without worrying and doubting the sense in arbitrary chosen thresholds. Obviously, given the robust nature of quantiles, it would fit best the cases where data has problems.
The thresholds are:
Basis: the model of the data (median in our case);
Deviations: represent typical spread around basis, together form “value” in general sense;
Extensions: estimate data’s extremums via combination of quantile-based asymmetry metrics without relying on actual blunt min and max, together form “range” / ”frame”. Datapoints outside the frame/range are novelties or outliers;
Limits: based also on quantile asymmetry metrics, estimate the bounds within which values can ‘ever’ emerge given the current data generating process stays the same, together form “field”. Datapoints outside the field are very rare, happen when a significant change/structural break happens in current data-generating process, or when a corrupt datapoint emerges.
…
The first part of the post is for locals xd, the second is for the wanderers/wizards/creators/:
First part:
In terms of markets, mostly u gotta worry about dem instruments that represent crypto & FX assets: it’s either activity hence data sources there are decentralized, or data is fishy.
For a higher algocomplexity cost O(nlong), unlike MBAD that is 0(n), this thing (a control system in fact) works better with ishy data (contaminated with wrong values, incomplete, missing values etc). Read about the “ breakdown point of an estimator ” if you wanna understand it.
Even with good data, in cases when you have multiple instruments that represent the same asset, e.g. CL and BRN futures, and for some reason you wanna skip constructing a proper index of em (while you should), QBAD should be better put on each instrument individually.
Another reason to use this algo-based rather than math-based tool, might be in cases when data quality is all good, but the actual causal processes that generate the data are a bit inconsistent and/or possess ‘increased’ activity in a way. SO in high volatility periods, this tool should provide better.
In terms of built-ins you got 2 weightings: by sequence and by inferred volume delta. The former should be ‘On’ all the time when you work with timeseries, unless for a reason you want to consciously turn it off for a reason. The latter, you gotta keep it ‘On’ unless you apply the tool on another dataset that ain’t got that particular additional dimension.
Ain’t matter the way you gonna use it, moving windows, cumulative windows with or without anchors, that’s your freedom of will, but some stuff stays the same:
Basis and deviations are “value” levels. From process control perspective, if you pls, it makes sense to Not only fade or push based on these levels, but to also do nothing when things are ambiguous and/or don’t require your intervention
Extensions and limits are extreme levels. Here you either push or fade, doing nothing is not an option, these are decisive points in all the meanings
Another important thing, lately I started to see one kind of trend here on tradingview as well and in general in near quant sources, of applying averages, percentiles etc ‘on’ other stationary metrics, so called “indicators”. And I mean not for diagnostic or development reasons, for decision making xd
This is not the evil crime ofc, but hillbilly af, cuz the metrics are stationary it means that you can model em, fit a distribution, like do smth sharper. Worst case you have Bayesian statistics armed with high density intervals and equal tail intervals, and even some others. All this stuff is not hard to do, if u aint’t doing it, it’s on you.
So what I’m saying is it makes sense to apply QBAD on returns ‘of your strategy’, on volume delta, but Not on other metrics that already do calculations over their own moving windows.
...
Second part:
Looks like some finna start to have lil suspicions, that ‘maybe’ after all math entities in reality are more like blueprints, while actual representations are physical/mechanical/algorithmic. Std & centralized moments is a math entity that represents location, scale & asymmetry info, and we can use it no problem, when things are legit and consistent especially. Real world stuff tho sometimes deviates from that ideal, so we need smth more handy and real. Add to the mix the algo counter part of means: quantiles.
Unlike the legacy quantile-based asymmetry metrics from the previous century (check quantile skewness & kurtosis), I don’t use arbitrary sets of quantiles, instead we get a binary pattern that is totally geometric & natural (check the code if interested, I made it very damn explicit). In spirit with math based central & standardized moments, each consequent pair is wider empathizing tail info more and more for each higher order metric.
Unlike the classic box plot, where inner thresholds are quartiles and the rest are based on em, here the basis is median (minimises L1), I base inner thresholds on it, and we continue the pattern by basing the further set of levels on the previous set. So unlike the classic box plot, here we have coherency in construction, symmetry.
Another thing to pay attention to, tho for some reason ain’t many talk about it, it’s not conceptually right to think that “you got data and you apply std moments on it”. No, you apply it to ‘centered around smth’ data. That ‘smth’ should minimize L2 error in case of math, L1 error in case of algo, and L0 error in case of learning/MLish/optimizational/whatever-you-cal-it stuff. So in the case of L0, that’s actually the ‘mode’ of KDE, but that’s for another time. Anyways, in case of L2 it’s mean, so we center data around mean, and apply std moments on residuals. That’s the precise way of framing it. If you understand this, suddenly very interesting details like 0th and 1st central moments start to make sense. In case of quantiles, we center data around the median, and do further processing on residuals, same.
Oth moment (I call it init) is always 1, tho it’s interesting to extrapolate backwards the sequence for higher order moments construction, to understand how we actually end up with this zero.
1st moment (I call it bias) of residuals would be zero if you match centering and residuals analysis methods. But for some reason you didn’t do that (e.g centered data around midhinge or mean and applied QBAD on the centered data), you have to account for that bias.
Realizing stuff > understanding stuff
Learning 2981234 human invented fields < realizing the same unified principles how the Universe works
∞






















