BTC1W&2W StochRSI Cross up Cross downUpward Signals (Bottom of the Indicator):
Symbol Color Size Meaning
▲ (triangle up) Yellow tiny (1W) / small (2W) Momentum Up: K slope up & K < 40 (early bullish)
▲ (triangle up) Orange tiny (1W) / small (2W) Near Up: K within near distance & slope up (amber)
▲ (triangle up) Green tiny (1W) / small (2W) Cross Up: Confirmed bullish crossover
♦ (diamond) Blue large BOTH 1W & 2W bullish cross alignment (strong buy)
Downward Signals (Top of the Indicator):
Symbol Color Size Meaning
▼ (triangle down) Yellow tiny (1W) / small (2W) Momentum Down: K slope down & K > 60 (early bearish)
▼ (triangle down) Orange tiny (1W) / small (2W) Near Down: K within near distance & slope down (amber)
▼ (triangle down) Red tiny (1W) / small (2W) Cross Down: Confirmed bearish crossover
♦ (diamond) Red large BOTH 1W & 2W bearish cross alignment (strong sell)
Background Colors:
Green background — bullish states detected (either 1W or 2W bullish conditions)
Red background — bearish states detected (either 1W or 2W bearish conditions)
When you get:
Small green triangle (2W bullish cross)
Blue diamond (both 1W & 2W aligned)
المؤشرات والاستراتيجيات
USD Liquidity / FX Swap + Money Market StressThis indicator shows, in a simple way, how tight or loose USD liquidity is. It combines two things: signs of stress in the FX market (Fed swap lines + dollar strength) and signs from the money market (the difference between repo rates like SOFR/TGCR and the Fed’s IORB rate). All of this is merged into a single blue line: when it rises, liquidity tends to be more abundant; when it falls, there is more stress and the dollar becomes “expensive” to obtain.
You read it like a traffic light:
If the background is red, the indicator is below the lower threshold → liquidity stress, an environment that is more prone to sell-offs and violent moves in risk assets (including crypto).
If the background is green, the indicator is above the upper threshold → more relaxed liquidity, a backdrop that is more favorable for risk rallies to be sustained.
No background color → neutral zone, neither very good nor very bad: you trade according to your usual system.
It is designed as a macro context filter, not as a buy/sell signal. In red, it makes sense to be more defensive with risk and leverage; in green, if your technical system gives a long signal, you have a somewhat more favorable tailwind. It should always be used together with other tools and strict risk management.
Lines Blue OrangeTry this without candles. Can be used with other indicators to help determine the direction.
TTP IFVG Signals With EMA /ICT Gold scalpingThis script uses original logic and alerting rules. in Japan
finding ICT IFVG and EMA conditions.
#IFVG, Forex, ICT, EMA, Scalping, Indicator
This indicator automatically finds IFVG (Imbalance / Fair Value Gap) zones and gives you a buy or sell signal when price comes back and breaks out through that gap.
It also draws a colored box over the gap so you can see the zone visually, and it raises alerts when a new signal appears.
High-level logic:
On every bar, the script looks back up to “IFVG_GapBars” bars.
For each offset i it checks a 3-candle pattern:
– If the low of the newer candle is above the high of the older candle: bullish FVG (price jumped up, leaving a gap).
– If the high of the newer candle is below the low of the older candle: bearish FVG (price jumped down, leaving a gap).
When a valid FVG is found:
– For a bullish FVG it looks for a later close that breaks down through that gap (sell signal).
– For a bearish FVG it looks for a later close that breaks up through that gap (buy signal).
– A moving-average trend filter must agree (downtrend for sells, uptrend for buys).
– It checks that price has not already “filled” the gap before the breakout.
If all conditions are satisfied, it:
– Sets signal_dir = 1 for a buy, or -1 for a sell.
– Draws a box from the original FVG bar to the bar just before the breakout (extended a bit to the right), between the gap high and gap low.
– Plots an ▲ label for buys or ▼ label for sells.
– Triggers the corresponding alert conditions.
Now the parameters:
PipSizeMultilier (PipSizeManual)
Multiplies the symbol’s minimum tick size (syminfo.mintick).
It is used when converting “MinFVG_Pips” into an actual price distance.
If you feel the indicator is too sensitive (too many small gaps), you can increase this multiplier to effectively require a larger price difference.
TickSize
Internal value = syminfo.mintick * PipSizeMultiplier.
This is the actual price step the script uses as a “pip” when checking minimum gap size.
FVG Search Lookback (IFVG_GapBars)
How many bars back from the current bar the script will scan for a 3-candle FVG pattern.
Larger value = it can find older FVGs, but loop cost is higher.
Min FVG Size (Pips/Points) (MinFVG_Pips)
Minimum allowed size of the gap, measured in “pips/points” using TickSize.
If the vertical distance between the gap high and gap low is smaller than this, the gap is ignored.
0.0 means “no size filter” (every FVG is allowed).
FVG Epsilon (Price Units) (FVG_EpsPoints)
Tolerance for the FVG detection.
It is subtracted/added in the condition that checks “low > old high” or “high < old low”.
0.0 means strict gap (no overlap at all). A small positive epsilon allows tiny overlaps to still count as a gap.
Show IFVG Zones (ShowZones)
If true, the script draws a box over the IFVG zone when a signal is confirmed.
If false, no boxes are drawn; you only see the ▲ / ▼ markers and alerts.
Buy Zone Color (ZoneColorBuy)
Fill color and border color for boxes created from bearish FVGs that later produce a buy signal.
Sell Zone Color (ZoneColorSell)
Fill color and border color for boxes created from bullish FVGs that later produce a sell signal.
Box Extension (Bars) (BoxExtension)
How many extra bars to extend the right side of the box beyond the breakout bar.
The internal right coordinate is “bar_index - 1 + BoxExtension”.
Increase this if you want the zone to visually extend further into the future.
MA Period (MA_Period)
Lookback length of the moving average used as a trend filter.
MA Type (MA_Kind)
Type of moving average: “SMA” or “EMA”.
If SMA is chosen, the script uses ta.sma; if EMA, it uses ta.ema.
Moving-average filter behavior:
For sell signals (from bullish FVG): MA must be sloping down (MA < MA ) and price must be below MA.
For buy signals (from bearish FVG): MA must be sloping up (MA > MA ) and price must be above MA.
If these conditions are not satisfied, the FVG is ignored even if the gap and breakout conditions are met.
Signals and alerts:
signal_dir = 1 → buy signal, ▲ label below the bar, “IFVG Buy Alert” / “IFVG Buy/Sell Alert” can fire.
signal_dir = -1 → sell signal, ▼ label above the bar, “IFVG Sell Alert” / “IFVG Buy/Sell Alert” can fire.
signal_dir = 0 → no new signal on this bar.
In short:
This indicator finds 3-candle IFVG gaps, filters them by size and trend, waits for a clean breakout through the gap, draws a box on the original gap zone, and gives you a clear buy or sell signal plus alerts.
BTC Fear & Greed Incremental StrategyIMPORTANT: READ SETUP GUIDE BELOW OR IT WON'T WORK
# BTC Fear & Greed Incremental Strategy — TradeMaster AI (Pure BTC Stack)
## Strategy Overview
This advanced Bitcoin accumulation strategy is designed for long-term hodlers who want to systematically take profits during greed cycles and accumulate during fear periods, while preserving their core BTC position. Unlike traditional strategies that start with cash, this approach begins with a specified BTC allocation, making it perfect for existing Bitcoin holders who want to optimize their stack management.
## Key Features
### 🎯 **Pure BTC Stack Mode**
- Start with any amount of BTC (configurable)
- Strategy manages your existing stack, not new purchases
- Perfect for hodlers who want to optimize without timing markets
### 📊 **Fear & Greed Integration**
- Uses market sentiment data to drive buy/sell decisions
- Configurable thresholds for greed (selling) and fear (buying) triggers
- Automatic validation to ensure proper 0-100 scale data source
### 🐂 **Bull Year Optimization**
- Smart quarterly selling during bull market years (2017, 2021, 2025)
- Q1: 1% sells, Q2: 2% sells, Q3/Q4: 5% sells (configurable)
- **NO SELLING** during non-bull years - pure accumulation mode
- Preserves BTC during early bull phases, maximizes profits at peaks
### 🐻 **Bear Market Intelligence**
- Multi-regime detection: Bull, Early Bear, Deep Bear, Early Bull
- Different buying strategies based on market conditions
- Enhanced buying during deep bear markets with configurable multipliers
- Visual regime backgrounds for easy market condition identification
### 🛡️ **Risk Management**
- Minimum BTC allocation floor (prevents selling entire stack)
- Configurable position sizing for all trades
- Multiple safety checks and validation
### 📈 **Advanced Visualization**
- Clean 0-100 scale with 2 decimal precision
- Three main indicators: BTC Allocation %, Fear & Greed Index, BTC Holdings
- Real-time portfolio tracking with cash position display
- Enhanced info table showing all key metrics
## How to Use
### **Step 1: Setup**
1. Add the strategy to your BTC/USD chart (daily timeframe recommended)
2. **CRITICAL**: In settings, change the "Fear & Greed Source" from "close" to a proper 0-100 Fear & Greed indicator
---------------
I recommend Crypto Fear & Greed Index by TIA_Technology indicator
When selecting source with this indicator, look for "Crypto Fear and Greed Index:Index"
---------------
3. Set your "Starting BTC Quantity" to match your actual holdings
4. Configure your preferred "Start Date" (when you want the strategy to begin)
### **Step 2: Configure Bull Year Logic**
- Enable "Bull Year Logic" (default: enabled)
- Adjust quarterly sell percentages:
- Q1 (Jan-Mar): 1% (conservative early bull)
- Q2 (Apr-Jun): 2% (moderate mid bull)
- Q3/Q4 (Jul-Dec): 5% (aggressive peak targeting)
- Add future bull years to the list as needed
### **Step 3: Fine-tune Thresholds**
- **Greed Threshold**: 80 (sell when F&G > 80)
- **Fear Threshold**: 20 (buy when F&G < 20 in bull markets)
- **Deep Bear Fear Threshold**: 25 (enhanced buying in bear markets)
- Adjust based on your risk tolerance
### **Step 4: Risk Management**
- Set "Minimum BTC Allocation %" (default 20%) - prevents selling entire stack
- Configure sell/buy percentages based on your position size
- Enable bear market filters for enhanced timing
### **Step 5: Monitor Performance**
- **Orange Line**: Your BTC allocation percentage (target: fluctuate between 20-100%)
- **Blue Line**: Actual BTC holdings (should preserve core position)
- **Pink Line**: Fear & Greed Index (drives all decisions)
- **Table**: Real-time portfolio metrics including cash position
## Reading the Indicators
### **BTC Allocation Percentage (Orange Line)**
- **100%**: All portfolio in BTC, no cash available for buying
- **80%**: 80% BTC, 20% cash ready for fear buying
- **20%**: Minimum allocation, maximum cash position
### **Trading Signals**
- **Green Buy Signals**: Appear during fear periods with available cash
- **Red Sell Signals**: Appear during greed periods in bull years only
- **No Signals**: Either allocation limits reached or non-bull year
## Strategy Logic
### **Bull Years (2017, 2021, 2025)**
- Q1: Conservative 1% sells (preserve stack for later)
- Q2: Moderate 2% sells (gradual profit taking)
- Q3/Q4: Aggressive 5% sells (peak targeting)
- Fear buying active (accumulate on dips)
### **Non-Bull Years**
- **Zero selling** - pure accumulation mode
- Enhanced fear buying during bear markets
- Focus on rebuilding stack for next bull cycle
## Important Notes
- **This is not financial advice** - backtest thoroughly before use
- Designed for **long-term holders** (4+ year cycles)
- **Requires proper Fear & Greed data source** - validate in settings
- Best used on **daily timeframe** for major trend following
- **Cash calculations**: Use allocation % and BTC holdings to calculate available cash: `Cash = (Total Portfolio × (1 - Allocation%/100))`
## Risk Disclaimer
This strategy involves active trading and position management. Past performance does not guarantee future results. Always do your own research and never invest more than you can afford to lose. The strategy is designed for educational purposes and long-term Bitcoin accumulation thesis.
---
*Developed by Sol_Crypto for the Bitcoin community. Happy stacking! 🚀*
Previous 5 Days OHLC + Dates + PricesTitle: Previous 5 Days OHLC Levels (Extended Lines + Labels)
Description:
This indicator automatically plots the Open, High, Low, and Close (OHLC) levels for the previous 5 trading days. Unlike standard daily separators, this tool extends the lines from their historical origin all the way to the current price bar, allowing traders to instantly see how current price action interacts with recent support and resistance levels.
Key Features:
5-Day Lookback: Automatically fetches and plots OHLC data for the last 5 trading sessions.
Extended Lines: Lines extend to the current bar (Right) to visualize immediate Support/Resistance zones.
Smart Labels: Each line is marked with the Day Name, Date, Type (O/H/L/C), and the Exact Price.
Customizable Positioning: Choose to display labels on the Left (start of the day) or the Right (next to current price) to keep your chart clean.
Toggle Visibility: Individually turn on/off Opens, Closes, Highs, or Lows to focus on the data that matters to your strategy.
How to Use:
Trend Analysis: Use previous Highs and Lows to identify potential breakout or breakdown levels.
Range Trading: Identify where price previously opened or closed to find intraday pivots.
Clean Charting: Use the settings to hide labels or specific lines (e.g., hide Opens/Closes to see only the Daily Range).
Settings:
Label Position: Switch between "Left" (historical origin) and "Right" (current price).
Visibility: Checkboxes to show/hide Open, High, Low, Close, and Text Labels.
Style: Fully customizable colors for each level type.
Technical Note: This script is optimized for performance (Pine Script v6). It uses array management and executes drawing logic only on the last bar to minimize resource usage while maintaining real-time accuracy.
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.
Crypto Liquidation Zones & Order Clusters This PineScript v6 indicator was specifically designed for crypto traders and displays estimated liquidation zones as well as probable order clusters on the chart. Since TradingView has no direct access to real order book data, stop-loss positions, or internal exchange liquidation levels, the indicator works with intelligent estimations based on historical volume data and market behavior.
The indicator identifies three main types of critical price zones: First, it marks psychological levels – round numbers like $100,000 or $50,000, where limit orders typically accumulate. Second, it highlights high-volume zones, areas with unusually high trading volume that indicate many traders have opened positions there. Third, the indicator calculates estimated liquidation zones for long and short positions by assuming typical leverage levels (default 10x) and projecting the probable liquidation prices.
The mechanism is based on analyzing volume spikes combined with volatility: When a strong price increase occurs with high volume, the indicator stores this level as a probable long-entry point and calculates the corresponding liquidation zone below the current price. During price declines with high volume, short positions are tracked and their liquidation zones are drawn above the price. Red zones mark long liquidations, green zones mark short liquidations, blue boxes show high-volume areas, and yellow dashed lines indicate psychological levels.
All settings are fully customizable: You can adjust the lookback period (default 100 bars), sensitivity for volume spikes, assumed average leverage, and toggle individual display elements. An info panel in the top-right corner shows you live how many long and short entry levels are currently being tracked and how current volume compares to the average. It's important to understand that all displayed zones are estimates – the indicator cannot see actual orders from other traders, but it provides valuable insights into areas where many positions are likely at risk and liquidation cascades could occur.
Watermark | Bar Time | Average Daily RangeMulti Info Panel & Watermark
Multi Info Panel & Watermark is a utility indicator that displays several pieces of chart information in a single, customizable panel. It is designed to support intraday and swing analysis by making key data—such as symbol details, date, and average daily range—easy to see at a glance, as well as providing simple tools for notes and backtesting.
Features
Watermark / Custom Note
Optional text overlay that can be used as a watermark or personal note.
Can display a strategy name, reminder, or any other user-defined label on the chart.
Ticker Info
Shows information about the currently active symbol on the chart (for example, symbol name and other basic details depending on the inputs).
Helps keep track of which market or pair is being analyzed, especially when using multiple charts.
Current Date
Displays the current date directly on the chart.
Useful for screenshots, journaling, and documenting analysis.
Average Daily Range (ADR)
Calculates the average daily range of the active symbol over a user-defined number of recent days.
Helps visualize how much price typically moves in a day, which can support position sizing, target setting, or volatility awareness within your own trading approach.
Open Bar Time Marker
Marks the open time of a selected bar (for example, a session open or a specific reference bar).
Primarily intended as a visual aid for manual backtesting and reviewing historical price action.
Usage
Use the watermark and ticker info to keep your charts labeled and organized.
Refer to the ADR readout to understand typical daily volatility of the instrument you are studying.
Use the date and open bar time marker when creating screenshots, trade journals, or when replaying historical sessions for review.
This script does not generate trading signals and does not guarantee any performance or results. It is provided solely as an informational and visualization tool. Always combine it with your own analysis, risk management, and decision-making. Nothing in this indicator or description should be considered financial advice.
Force Pulse█ OVERVIEW
Force Pulse is a fast-reacting oscillator that measures the internal strength of market sides by analyzing the aggregated dominance of bulls and bears based on candle size.
The indicator normalizes this difference into a 0–100 range, generates signals (OB/OS, midline cross, MA midline cross), and detects divergences between price and the oscillator.
It also offers advanced visualization, signal markers, and alerts, making it a versatile tool suitable for many trading styles.
█ CONCEPTS
Force Pulse was designed as a universal tool that can be applied to various trading strategies depending on its settings:
- increasing the period lengths and smoothing transforms it into a momentum/trend indicator, revealing a stable dominance of one market side.
- Lowering these parameters turns it into a peak/low detector, ideal for contrarian and mean-reversion strategies.
The oscillator analyzes the relationship between the sum of bullish and bearish candles over a selected period, based on:
- candle body size, or
- average candle body size (AVG Body).
Depending on the selected mode, OB/OS levels should be adjusted, as value dynamics differ between modes.
The output is normalized to 0–100, where:
> 50 – bullish dominance,
< 50 – bearish dominance.
The additional MA line is derived from smoothed oscillator values and serves as a signal line for midline crosses and as a trend filter.
The indicator also detects divergences (HL/LL) between price and the oscillator.
█ FEATURES
Bull & Bear Strength:
- Calculations are based on Body or AVG Body – mode selection requires adjusting OB/OS levels.
- Bullish and bearish candle values are summed separately.
- All results are normalized to the 0–100 scale.
Force Pulse Oscillator:
- The main line reflects the current dominance of either market side.
Dynamic colors:
- Green – above 50,
- Red – below 50.
Signal MA:
- SMA based on oscillator values functions as a signal line.
- Helps detect momentum shifts and generates signals via midline crosses.
- Can serve as a trend confirmation filter.
Overbought / Oversold:
- Configurable OB/OS levels, also for the MA line.
- Dynamic OB/OS line colors: when the MA line exceeds the defined threshold (e.g., MA > maOverbought or MA < maOversold), OB/OS lines change color (red/green).
- This often signals a potential reversal or correction and may act as additional confirmation for oscillator-generated signals.
Divergences:
- Detection based on swing pivots:
- Bullish: price LL, oscillator HL
- Bearish: price HH, oscillator LH
- Displayed as “Bull” / “Bear” labels.
Signals:
Supports multiple signal types:
- Overbought/Oversold Cross
- Midline Cross
- MA Midline Cross (based on the signal MA line)
- Signals appear as triangles above/below the oscillator.
Visualization:
- Gradient options for lines and levels.
- Full customization of colors, transparency, and line thickness.
Alerts available for:
- Divergences
- OB/OS crossings
- Midline crossings
- MA midline crossings
█ HOW TO USE
Add the indicator to your TradingView chart → Indicators → search “Force Pulse”
Parameter Configuration
Calculation Settings:
- Calculation Period (lookback) – defines the strength calculation window.
Force Mode (Body / AVG Body):
- Body – faster response, higher sensitivity.
- AVG Body – more stable output; adjust band levels and periods to your strategy.
- EMA Smoothing (smoothLen) – reduces oscillator noise.
- MA Length – length of the signal line (SMA).
Threshold Levels:
- Set Overbought/Oversold levels for both the oscillator and the MA line.
- Adjust levels depending on Body / AVG Body mode.
Divergence Detection:
- Enable/disable divergence detection.
- PivotLength affects both delay and signal quality.
- Signal Settings: Choose one or multiple signal types.
- Style & Colors: Full control over color schemes, gradients, and transparency.
Signal Interpretation
BUY:
- Oscillator leaves oversold (OS crossover).
- Midline cross upward.
- MA crosses the midline from below.
- Bullish divergence.
SELL:
- Oscillator leaves overbought (drops below OB).
- Midline cross downward.
- MA crosses the midline from above.
- Bearish divergence.
Trend / Momentum:
-Longer periods and stronger smoothing → stable directional signals.
-MA as a trend filter: e.g., signal line above the midline (50) and MA pointing upward indicates continuation of a bullish impulse.
Contrarian / Mean Reversion:
- Short periods → rapid detection of peaks and troughs; ideal for contrarian signals and pullback entries.
█ APPLICATIONS
- Trend Trading: Using midline and MA midline crosses to determine direction.
- Reversal Trading: OB/OS levels and divergences help identify reversals.
- Scalping & Intraday: Short settings + signal line above the midline with bullish MA → shows short-term impulse and continuation.
- Swing Trading: Longer MA and higher lookback provide a stable view of market-side dominance.
- Momentum Analysis: Force Pulse highlights the strength of the wave before price movement occurs.
█ NOTES
- In strong trends, the oscillator may stay in extreme zones for a long time — this reflects dominance, not necessarily a reversal signal.
- Divergences are more reliable on higher timeframes.
- OB/OS levels should be tailored to Body/AVG Body mode and the instrument.
- Best results come from combining the indicator with other tools (S/R, market structure, volume).
Baba-pro EMA Break Sniper This indicator is designed to provide high-precision entries based on the interaction between EMAs, momentum, and clean price breaks.
Instead of relying on traditional EMA crossovers — which are often too slow — this tool focuses on direct EMA breakouts, allowing you to catch moves before most traders even react.
FluxPulse Beacon## FluxPulse Beacon
FluxPulse Beacon applies a microstructure lens to every bar, combining directional thrust, realized volatility, and multi-timeframe liquidity checks to decide whether the tape is being pushed by real sponsorship or just noise. The oscillator's color-coded columns and adaptive burst thresholds transform complex flow dynamics into a single actionable flux score for futures and equities traders.
HOW IT WORKS
Momentum Extraction – Price differentials over a configurable pulse distance are smoothed using exponential moving averages to isolate directional thrust without reacting to single prints.
Volatility + Liquidity Normalization – The momentum stream is divided by realized volatility and multiplied by both local and higher-timeframe EMA volume ratios, ensuring pulses only appear when volatility and liquidity align.
Adaptive Thresholding – A volatility-derived standard deviation of flux is blended with the base threshold so bursts scale automatically between low-volatility and high-volatility market conditions.
Divergence Engine – Linear regression slopes compare price vs. flux to tag bullish/bearish divergences, highlighting stealth accumulation or distribution zones.
HOW TO USE IT
Continuation Entries : Go with the trend when histogram bars stay above the adaptive threshold, the signal line confirms, and trend bias agrees—this is where liquidity-backed follow-through lives.
Fade Plays : Watch for divergence alerts and shrinking compression values; when flux prints below zero yet price grinds higher, hidden selling pressure often precedes rollovers.
Session Filter : Compression percentage in the diagnostics table instantly tells you whether to trade thin overnight sessions—low compression means stand down.
VISUAL FEATURES
Dynamic background heat maps flux magnitude, while threshold lines provide a quick read on whether a pulse is statistically significant.
Diagnostics table displays live flux, signal, adaptive threshold, and compression for quick reference.
Alert-first workflow: The surface is intentionally clean—bursts and divergences are delivered via alerts instead of on-chart clutter.
PARAMETERS
Trend EMA Length (default: 34): Defines the macro bias anchor; increase for higher-timeframe confirmation.
Pulse Distance (default: 8): Controls how sensitive momentum extraction becomes.
Volatility Window (default: 21): Sample window for realized volatility normalization.
Liquidity Window (default: 55): Volume smoothing window that proxies liquidity expansion.
Liquidity Reference TF (default: 60): Select a higher timeframe to cross-check whether current volume matches institutional flows.
Adaptive Threshold (default: enabled): Disable for fixed thresholds on slower markets; enable for high-volatility assets.
Base Burst Threshold (default: 1.25): Minimum flux magnitude that qualifies as an actionable pulse.
ALERTS
The indicator includes four alert conditions:
Bull Burst: Detects upside liquidity pulses
Bear Burst: Detects downside liquidity pulses
Bull Divergence: Flags bullish delta divergence
Bear Divergence: Flags bearish delta divergence
LIMITATIONS
This indicator is designed for liquid futures and equity markets. Performance may degrade in low-volume or highly illiquid instruments. The adaptive threshold system works best on timeframes where sufficient volatility history exists (typically 15-minute charts and above). Divergence signals are probabilistic and should be confirmed with price action.
INSERT_CHART_SNAPSHOT_URL_HERE
---
## RangeLattice Mapper
RangeLattice Mapper constructs a higher-timeframe scaffolding on any intraday chart, locking in structural highs/lows, mid/quarter grids, VWAP confluence, and live acceptance/break analytics. It provides a non-repainting overlay that turns range management into a disciplined process.
HOW IT WORKS
Structure Harvesting – Using request.security() , the script samples highs/lows from a user-selected timeframe (default 240 minutes) over a configurable lookback to establish the dominant range.
Grid Construction – Midpoint and quarter levels are derived mathematically, mirroring how institutional traders map distribution/accumulation zones.
Acceptance Detection – Consecutive closes inside the range flip an acceptance flag and darken the cloud, signaling balanced auction conditions.
Break Confirmation – Multi-bar closes outside the structure raise break labels and alerts, filtering the countless fake-outs that plague breakout traders.
VWAP Fan Overlay – Session VWAP plus ATR-based bands provide a live measure of flow centering relative to the lattice.
HOW TO USE IT
Range Plays : Fade taps of the outer rails only when acceptance is active and VWAP sits inside the grid—this is where mean-reversion works best.
Breakout Plays : Wait for confirmed break labels before entering expansion trades; the dashboard's Width/ATR metric tells you if the expansion has enough fuel.
Market Prep : Carry the same lattice from pre-market into regular trading hours by keeping the structure timeframe fixed; alerts keep you notified even when managing multiple tickers.
VISUAL FEATURES
Range Tap and Mid Pivot markers provide a tape-reading breadcrumb trail for journaling.
Cloud fill opacity tightens when acceptance persists, visually signaling balance compressions ready to break.
Dashboard displays absolute width, ATR-normalized width, and current state (Balanced vs Transitional) so you can glance across charts quickly.
Acceptance Flag toggle: Keep the repeated acceptance squares hidden until you need to audit balance.
PARAMETERS
Structure Timeframe (default: 240): Choose the timeframe whose ranges matter most (4H for indices, Daily for stocks).
Structure Lookback (default: 60): Bars sampled on the structure timeframe.
Acceptance Bars (default: 8): How many consecutive bars inside the range confirm balance.
Break Confirmation Bars (default: 3): Bars required outside the range to validate a breakout.
ATR Reference (default: 14): ATR period for width normalization.
Show Midpoint Grid (default: enabled): Display the midpoint and quarter levels.
Show Adaptive VWAP Fan (default: enabled): Toggle the VWAP channel for assets where volume distribution matters most.
Show Acceptance Flags (default: disabled): Turn the acceptance markers on/off for maximum visual control.
Show Range Dashboard (default: enabled): Disable if screen space is limited, re-enable during prep sessions.
ALERTS
The indicator includes five alert conditions:
Range High Tap: Price interacted with the RangeLattice high
Range Low Tap: Price interacted with the RangeLattice low
Range Mid Tap: Price interacted with the RangeLattice mid
Range Break Up: Confirmed upside breakout
Range Break Down: Confirmed downside breakout
LIMITATIONS
This indicator works best on liquid instruments with clear structural levels. On very low timeframes (1-minute and below), the structure may update too frequently to be useful. The acceptance/break confirmation system requires patience—faster traders may find the multi-bar confirmation too slow for scalping. The VWAP fan is session-based and resets daily, which may not suit all trading styles.
---
Pivot Hourly x EMA RibbonHourly Fibonacci Pivot + EMA is an intraday analysis tool that combines hourly Fibonacci-based pivot levels with exponential moving averages (EMAs). It is designed to help traders visualize potential intraday support/resistance zones and short-term trend direction on any timeframe.
The indicator calculates pivot levels from hourly price data and then projects Fibonacci extensions and retracements around a central pivot. These levels can be used to see where price has previously reacted and where future reactions may occur. The EMAs provide an additional layer of context by highlighting the prevailing short-term trend and momentum.
Key features:
Hourly Fibonacci pivot levels (support and resistance zones derived from hourly ranges)
Multiple Fibonacci bands to show potential reaction areas above and below the central pivot
One or more configurable EMAs to show short-term trend direction and dynamic support/resistance
Works on all symbols and intraday timeframes supported by TradingView
Typical use:
Monitor how price behaves when approaching or rejecting Fibonacci pivot levels
Look for confluence between pivot zones and EMA direction or EMA bounces
Use the levels as potential areas of interest for trade planning, stop placement, or partial profit zones within your own trading system
Also have "C" Label it's mean Candle for example C1 is First Candle of the source timeframe, if the source timeframe set to 4 Hour it will be the first 4h candle, the C2 is the second 4h candle of the day.
This script is intended purely as a technical analysis tool and does not generate buy/sell signals or guarantee any particular outcome. It is not financial advice. Always combine it with your own analysis, risk management, and trading plan before making any trading decisions.
VPOCS ZScoreAn indicator Showing Candle POC's.
Added a Zscore Filter to filter out the High volume candle's.
I like to use at Key Support and resistance Area's to see Absorbtion and Offside positions only on High volume Candles ( The high volume candle part is Key! ). Thoose candles Generally indicate forced participants opening or closing positions, or "Breakout traders entering" positions. When i see a Hi-Volume at S/R levels and price is rejecting ( trading away from the POC ) ill take that as a trigger for a trade.
- Dynamic Support and resistance.
- Show Offside and and Trapped traders
You can tweak the Zscore nominator for Less of more Frequent hits.
Probability Cone█ Overview:
Probability Cone is based on the Expected Move . While Expected Move only shows the historical value band on every bar, probability panel extend the period in the future and plot a cone or curve shape of the probable range. It plots the range from bar 1 all the way to bar 31.
In this model, we assume asset price follows a log-normal distribution and the log return follows a normal distribution.
Note: Normal distribution is just an assumption; it's not the real distribution of return.
The area of probability range is based on an inverse normal cumulative distribution function. The inverse cumulative distribution gives the range of price for given input probability. People can adjust the range by adjusting the standard deviation in the settings. The probability of the entered standard deviation will be shown at the edges of the probability cone.
The shown 68% and 95% probabilities correspond to the full range between the two blue lines of the cone (68%) and the two purple lines of the cone (95%). The probabilities suggest the % of outcomes or data that are expected to lie within this range. It does not suggest the probability of reaching those price levels.
Note: All these probabilities are based on the normal distribution assumption for returns. It's the estimated probability, not the actual probability.
█ Volatility Models :
Sample SD : traditional sample standard deviation, most commonly used, use (n-1) period to adjust the bias
Parkinson : Uses High/ Low to estimate volatility, assumes continuous no gap, zero mean no drift, 5 times more efficient than Close to Close
Garman Klass : Uses OHLC volatility, zero drift, no jumps, about 7 times more efficient
Yangzhang Garman Klass Extension : Added jump calculation in Garman Klass, has the same value as Garman Klass on markets with no gaps.
about 8 x efficient
Rogers : Uses OHLC, Assume non-zero mean volatility, handles drift, does not handle jump 8 x efficient.
EWMA : Exponentially Weighted Volatility. Weight recently volatility more, more reactive volatility better in taking account of volatility autocorrelation and cluster.
YangZhang : Uses OHLC, combines Rogers and Garmand Klass, handles both drift and jump, 14 times efficient, alpha is the constant to weight rogers volatility to minimize variance.
Median absolute deviation : It's a more direct way of measuring volatility. It measures volatility without using Standard deviation. The MAD used here is adjusted to be an unbiased estimator.
You can learn more about each of the volatility models in out Historical Volatility Estimators indicator.
█ How to use
Volatility Period is the sample size for variance estimation. A longer period makes the estimation range more stable less reactive to recent price. Distribution is more significant on larger sample size. A short period makes the range more responsive to recent price. Might be better for high volatility clusters.
People usually assume the mean of returns to be zero. To be more accurate, we can consider the drift in price from calculating the geometric mean of returns. Drift happens in the long run, so short lookback periods are not recommended.
The shape of the cone will be skewed and have a directional bias when the length of mean is short. It might be more adaptive to the current price or trend, but more accurate estimation should use a longer period for the mean.
Using a short look back for mean will make the cone having a directional bias.
When we are estimating the future range for time > 1, we typically assume constant volatility and the returns to be independent and identically distributed. We scale the volatility in term of time to get future range. However, when there's autocorrelation in returns( when returns are not independent), the assumption fails to take account of this effect. Volatility scaled with autocorrelation is required when returns are not iid. We use an AR(1) model to scale the first-order autocorrelation to adjust the effect. Returns typically don't have significant autocorrelation. Adjustment for autocorrelation is not usually needed. A long length is recommended in Autocorrelation calculation.
Note: The significance of autocorrelation can be checked on an ACF indicator.
ACF
Time back settings shift the estimation period back by the input number. It's the origin of when the probability cone start to estimation it's range.
E.g., When time back = 5, the probability cone start its prediction interval estimation from 5 bars ago. So for time back = 5 , it estimates the probability range from 5 bars ago to X number of bars in the future, specified by the Forecast Period (max 1000).
█ Warnings:
People should not blindly trust the probability. They should be aware of the risk evolves by using the normal distribution assumption. The real return has skewness and high kurtosis. While skewness is not very significant, the high kurtosis should be noticed. The Real returns have much fatter tails than the normal distribution, which also makes the peak higher. This property makes the tail ranges such as range more than 2SD highly underestimate the actual range and the body such as 1 SD slightly overestimate the actual range. For ranges more than 2SD, people shouldn't trust them. They should beware of extreme events in the tails.
The uncertainty in future bars makes the range wider. The overestimate effect of the body is partly neutralized when it's extended to future bars. We encourage people who use this indicator to further investigate the Historical Volatility Estimators , Fast Autocorrelation Estimator , Expected Move and especially the Linear Moments Indicator .
The probability is only for the closing price, not wicks. It only estimates the probability of the price closing at this level, not in between.
Quantum Ribbon Lite📊 WHAT IS IT?
Quantum Ribbon Lite is a trend trading indicator built on a 5-layer exponential moving average ribbon system. It analyzes price momentum, volume, and ribbon alignment to generate entry signals with pre-calculated stop loss and take profit levels.
The indicator is designed for traders who want a straightforward approach to trend trading without managing complex configurations.
🔧 HOW IT WORKS
The Ribbon System
The indicator uses 5 pairs of EMAs (10 moving averages total) that create colored "clouds" on your chart:
Blue/Teal ribbons indicate bullish alignment
Red/Pink ribbons indicate bearish alignment
Mixed colors indicate neutral or transitional periods
The ribbon spacing automatically adjusts from a fast EMA (21) to a slow EMA (60), creating layers that show trend strength and direction.
Signal Generation
Signals appear when multiple conditions align:
For LONG signals:
Fast EMAs are above slow EMAs
Price momentum is positive and strong (> 0.5 ATR)
Volume is above average (> 1.1x average)
Ribbon confirms bullish state
Minimum confidence threshold met (filters weak setups)
For SHORT signals:
Fast EMAs are below slow EMAs
Price momentum is negative and strong
Volume is above average
Ribbon confirms bearish state
Minimum confidence threshold met
📈 VISUAL COMPONENTS
Entry Signals
Green "BUY" label = Long entry signal at candle close
Red "SELL" label = Short entry signal at candle close
Signals only trigger on confirmed candle closes (no repainting).
Risk Management Lines
Three lines appear when you have an active position:
White dotted line = Entry price
Red dotted line = Stop loss level
Green dotted line = Take profit target
Performance Dashboard
The stats table shows:
Current position status (In Long/Short or Waiting for signal)
Entry, stop, and target prices when in a trade
Win/loss record
Win rate percentage with color coding
⚙️ SETTINGS
1. Signal Sensitivity (1-10)
Controls the minimum time between signals (cooldown period):
1 = 2 bars between signals (most frequent)
5 = 10 bars between signals (balanced)
10 = 20 bars between signals (most selective)
Lower values generate more signals, higher values filter for better setups.
2. Stop Loss Distance
Determines how stops are calculated using ATR (Average True Range):
Tight = 1.5x ATR from entry
Normal = 2.0x ATR from entry
Wide = 2.5x ATR from entry
ATR adapts to market volatility, so stops are tighter in calm markets and wider in volatile markets.
3. Take Profit Target
Sets your risk-to-reward ratio:
1.5R = Target is 1.5 times your risk
2R = Target is 2 times your risk
3R = Target is 3 times your risk
Example: With a $100 stop distance and 2R setting, your take profit will be $200 away from entry.
4. Show Stats Table
Toggle to show/hide the performance dashboard in the top-right corner.
5. Show Risk Lines
Toggle to show/hide the entry/stop/target lines on the chart.
📋 HOW TO USE
Step 1: Apply to Chart
Add the indicator to your preferred instrument and timeframe (daily recommended).
Step 2: Wait for Signal
A BUY or SELL label will appear on the chart when conditions align.
Step 3: Enter Position
Enter at the close of the signal candle in the indicated direction.
Step 4: Set Risk Parameters Use the displayed lines:
Red line = Your stop loss
Green line = Your take profit
Step 5: Hold Position
Wait for the position to hit either the stop or target. No new signals will appear while you're in a position.
Step 6: Review Results
Check the stats table to track your win rate and adjust settings if needed.
🎯 RISK MANAGEMENT
Stop Loss Calculation
Stops are based on ATR (Average True Range) which measures recent price volatility:
In quiet markets: Stops are placed closer to entry
In volatile markets: Stops are placed further away
This adaptive approach helps prevent stop-hunting while maintaining appropriate risk levels.
Take Profit Calculation
Targets are calculated as a multiple of your stop distance:
If stop is 50 points away and you use 2R, target is 100 points away
Maintains consistent risk-reward ratios across all trades
Required Win Rates To break even after fees:
1.5R requires ~40% win rate
2R requires ~34% win rate
3R requires ~25% win rate
📊 RECOMMENDED USAGE
Timeframes:
Daily charts show strongest performance in testing
4H and 1H timeframes work but may have lower win rates
Lower timeframes generate more signals but reduced quality
Markets:
Works on all instruments: Stocks, Forex, Crypto, Futures, Indices
Best suited for trending markets
May generate false signals in tight ranges or choppy conditions
SPX Breadth – Stocks Above 200-day SMA//@version=6
indicator("SPX Breadth – Stocks Above 200-day SMA",
overlay = false,
max_lines_count = 500,
max_labels_count = 500)
//–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
// Inputs
group_source = "Source"
breadthSymbol = input.symbol("SPXA200R", "Breadth symbol", group = group_source)
breadthTf = input.timeframe("", "Timeframe (blank = chart)", group = group_source)
group_params = "Parameters"
totalStocks = input.int(500, "Total stocks in index", minval = 1, group = group_params)
smoothingLen = input.int(10, "SMA length", minval = 1, group = group_params)
//–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
// Breadth series (symbol assumed to be percent 0–100)
string tf = breadthTf == "" ? timeframe.period : breadthTf
float rawPct = request.security(breadthSymbol, tf, close) // 0–100 %
float breadthN = rawPct / 100.0 * totalStocks // convert to count
float breadthSma = ta.sma(breadthN, smoothingLen)
//–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
// Regime levels (0–20 %, 20–40 %, 40–60 %, 60–80 %, 80–100 %)
float lvl0 = 0.0
float lvl20 = totalStocks * 0.20
float lvl40 = totalStocks * 0.40
float lvl60 = totalStocks * 0.60
float lvl80 = totalStocks * 0.80
float lvl100 = totalStocks * 1.0
p0 = plot(lvl0, "0%", color = color.new(color.black, 100))
p20 = plot(lvl20, "20%", color = color.new(color.red, 0))
p40 = plot(lvl40, "40%", color = color.new(color.orange, 0))
p60 = plot(lvl60, "60%", color = color.new(color.yellow, 0))
p80 = plot(lvl80, "80%", color = color.new(color.green, 0))
p100 = plot(lvl100, "100%", color = color.new(color.green, 100))
// Colored zones
fill(p0, p20, color = color.new(color.maroon, 80)) // very oversold
fill(p20, p40, color = color.new(color.red, 80)) // oversold
fill(p40, p60, color = color.new(color.gold, 80)) // neutral
fill(p60, p80, color = color.new(color.green, 80)) // bullish
fill(p80, p100, color = color.new(color.teal, 80)) // very strong
//–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
// Plots
plot(breadthN, "Stocks above 200-day", color = color.orange, linewidth = 2)
plot(breadthSma, "Breadth SMA", color = color.white, linewidth = 2)
// Optional label showing live value
var label infoLabel = na
if barstate.islast
label.delete(infoLabel)
string txt = "Breadth: " +
str.tostring(breadthN, format.mintick) + " / " +
str.tostring(totalStocks) + " (" +
str.tostring(rawPct, format.mintick) + "%)"
infoLabel := label.new(bar_index, breadthN, txt,
style = label.style_label_left,
color = color.new(color.white, 20),
textcolor = color.black)
WSMR v3.9 — WhaleSplash → Mean Reversal
# WSMR v3.9 — WhaleSplash → Mean Reversal
*A Non-Repainting Impulse‑Reversal Engine for Systematic Futures Trading*
## Overview
WSMR v3.9 is a complete impulse → exhaustion → mean‑reversion framework designed for systematic intraday trading. It identifies high‑energy displacement events (“WhaleSplashes”), measures volatility structure, tracks VWAP deviation, and confirms reversals using RSI divergence, Z‑Score resets, SMA20 reclaim, and pivot-based structure.
All signals are non‑repainting and alerts fire on bar close.
---
## Core Components
### 1. WhaleSplash (Short Impulse Event)
Triggered when a candle meets displacement conditions:
- Large bar range vs ATR
- Minimum % move
- Volume expansion
- VWAP deviation (tick-based)
- Z‑Score oversold / RSI exhaustion
- Volatility-gated
### 2. Mean Reversal Long (MR)
Requires:
- RSI bullish divergence
- Z‑Score reset
- SMA20 reclaim
- Higher-low confirmation
### 3. First-Candle Confirmation (Optional)
- MR Confirm → first green after MR
- WS Confirm → first red after WS
- TTL window configurable
### 4. Asia Session Filter
Optional restriction to:
**23:00 → 09:00 UTC**
### 5. Volatility Monitor
Detects:
- Normal
- Wicky
- Spiky
- Extreme
### 6. WS Frequency Analytics
Rolling frequency calculation across:
- Bars / Days / Weeks / Months
---
## Status Panel (Top-Right)
Shows:
- Mode (Global / Asia-only)
- Timeframe + TTL
- WS frequency
- Volatility state
---
## Alerts
- WhaleSplash SHORT
- WhaleSplash LONG (MR)
- MR Confirm LONG
- WS Confirm SHORT
- Volatility Warning
---
## Notes
- Fully non‑repainting
- Stable bar-close logic
- Optimised for 1m–5m
- Works on futures, indices, metals, FX
Research-Backed Intraday MTF MAsResearch-Backed Intraday Multi-Timeframe Moving Averages
A precision-tuned intraday trading indicator that displays four key moving averages across two critical timeframes:
📊 What It Shows:
- 1-Hour MAs: 75-period SMA & EMA (institutional flow patterns)
- 10-Minute MAs: 200-period SMA & EMA (intraday trend structure)
🎯 Designed For:
- Day traders seeking multi-timeframe confluence
- Identifying strong trending vs. choppy market conditions
- Support/resistance level identification
- Momentum and trend alignment signals
✨ Key Features:
- Optimized periods based on market structure analysis
- Fully customizable colors, transparency, and line widths
- Toggle each MA on/off independently
- Clean, non-cluttered chart display
- Efficient tuple-based data requests
💡 Trading Signals:
- Price above all 4 MAs = Strong bullish alignment
- Price below all 4 MAs = Strong bearish alignment
- Mixed signals = Range-bound conditions, reduce risk
Perfect for scalpers, day traders, and swing traders who want institutional-grade moving averages without the noise.
SuperTrend Oscillator MTF█ OVERVIEW
SuperTrend Oscillator MTF is a multi-timeframe version of the classic SuperTrend converted into an oscillator. Instead of drawing the SuperTrend line on the price chart, it displays the distance of the close from the SuperTrend line simultaneously for the current timeframe and two additional timeframes. This allows you to instantly see the trend direction and strength across three selected timeframes in a single window.
█ CONCEPT
The classic SuperTrend value is subtracted from price and normalized so that trend direction can be directly compared across different timeframes without switching charts.
- Value above zero = price below SuperTrend line → bearish trend
- Value below zero = price above SuperTrend line → bullish trend
- The further away from zero, the stronger the trend.
█ FEATURES
- Three SuperTrend Oscillator lines: current TF, TF1 and TF2
- Automatic detection of 3-timeframe agreement
- BUY and SELL labels that appear only when all three timeframes turn in the same direction at the same moment
- Circle signals on every zero-line cross of the current timeframe
- Configurable soft gradient fill (can be disabled)
- Zero line changes color (green/red/gray) depending on 3-TF agreement
- Fully customizable colors for each timeframe
- Built-in alerts for all signal types
█ HOW TO USE
Add the indicator to the chart → set two additional timeframes and adjust ATR Period and Factor to suit your trading style.
Main settings:
- ATR Period → default 10
- Factor → default 3.0 (higher = fewer signals)
- TF 1 and TF 2 → any timeframes (e.g. 1H+4H, 4H+D, D+W, etc.)
- Enable gradient → turn fill on/off
- Show BUY/SELL labels (3 TF agreement) → enable/disable the strongest signals
Interpretation:
Two types of signals:
- Green/red circles → current timeframe changes trend direction (faster signal)
- BUY/SELL labels → all three timeframes simultaneously switch to the same direction (strongest confluence)
- Additionally, the zero line turns green or red when all three trends are aligned.
█ APPLICATIONS
Perfect for:
- Trend-following with multi-timeframe confirmation
- Filtering false breakouts on lower timeframes
- Scalping & day trading (use fast circle signals)
- Swing & position trading (wait for full 3-TF agreement)
Best combined with:
- Support/resistance levels and supply/demand zones – enter long after a confirmed breakout and retest of a key level (e.g. Change of Character, Break of Structure, Order Block, 0.618–0.786 Fibonacci) only when the oscillator shows 3-TF agreement or at least a bullish circle. Hold the trade to the next significant resistance/supply zone.
- Volume and Volume Profile – confirm move strength with rising volume and high-volume nodes at the breakout level. Declining volume while moving away from zero may signal trend exhaustion.
- Classic oscillators (RSI, Stochastic, MACD) – use primarily for spotting divergences and overbought/oversold conditions. One of the safest exits is when a regular or hidden divergence appears on RSI/Stochastic in an extreme zone, even if SuperTrend Oscillator MTF still shows alignment.
█ NOTES
- Works on all markets and all timeframes
- BUY/SELL labels (3-TF agreement) are the cleanest and strongest signals
- Circle signals are faster but more prone to noise
- Higher ATR Period = fewer signals, higher quality
SuperTrend Fusion — Trend + Momentum + Volatility FilterSuperTrend Fusion — Trend + Momentum + Volatility Filter
SuperTrend Fusion — ATP is an original, multi-factor trend-filtering tool that enhances the classic SuperTrend by combining three market dimensions in one unified model:
1. Trend direction (SuperTrend)
Provides the base trend structure using ATR-based volatility bands.
2. Momentum confirmation (Average Force – adapted)
An adapted version of an open-source “Average Force” concept published on TradingView by racer8.
This component measures where closing price sits relative to recent highs/lows, smoothed to capture directional pressure.
3. Market condition filtering (Choppiness Index)
Filters out sideways, non-trending zones where SuperTrend alone typically produces false flips.
Together, these components create a cleaner, more selective system that focuses on higher-quality SuperTrend reversals, avoiding the most common whipsaws that occur during low-momentum or high-choppiness periods.
🔍 How it Works
A long signal occurs when:
- SuperTrend flips from downtrend to uptrend
- Momentum (AF) is positive (optional filter)
- The market is trending and not excessively choppy (optional filter)
A short signal triggers under the symmetrical conditions.
Filtered signals are visually marked with subtle “X” markers so traders can understand when a raw SuperTrend flip was rejected by the filters.
The indicator also includes:
Enhanced styling for better visibility
Colored bars during valid signals
Optional background highlight during choppy periods
🎯 What This Indicator Is Designed For
This tool aims to:
- Improve the quality of SuperTrend entries
- Remove many low-probability signals
- Help traders visually identify when the market has the momentum and structure required for cleaner trend continuation
It is not intended to predict markets or guarantee accuracy; rather, it provides structure and clarity for decision-making based on technical rules.
⚙️ Inputs
- ATR Length & Factor (SuperTrend)
- Average Force Period & Smoothing
- Choppiness Length & Threshold
- Option to enable/disable each filter individually
📘 Credits
This script includes an adapted version of an open-source “Average Force” function originally published on TradingView by its author, racer8.
SuperTrend and Choppiness Index components are derived from classical, public-domain formulas.
📌 Important Notes
This indicator is not a strategy and does not guarantee performance.
Signals are based on historical calculations only and do not use lookahead.
Past performance does not guarantee future results.
Always test different assets and timeframes before using in live conditions.
👍 Recommended Usage
For a clean experience:
- Use on standard candlestick charts
- Avoid non-standard chart types (Renko, Heikin Ashi, Kagi, Range)
- Combine with your own risk management and trade planning






















