RSI Zones Background + Optional RSI PaneOverview
This Pine Script indicator does two things at once:
Colors the background of the main price chart whenever the RSI value is below a lower threshold (default 30) or above an upper threshold (default 70). This highlights oversold and overbought zones directly on the price chart itself.
Optionally displays a separate RSI panel with the RSI line and shaded region between the two threshold levels for reference.
The indicator is fully customizable through the settings panel—color choices, transparency, and whether to show the separate RSI pane can all be adjusted.
Key Parts of the Code
1. Inputs
src: The source price series for RSI calculation.
len: RSI lookback length (default 14).
lowerThr and upperThr: The lower and upper thresholds (defaults: 30 and 70).
lowColor and highColor: Colors for the background when RSI is below or above the thresholds.
bgTrans: Transparency level for the background shading.
showRSI: Boolean to toggle the optional RSI pane on or off.
2. RSI Calculation
rsi = ta.rsi(src, len)
This computes the RSI from the chosen price source.
3. Background Coloring on the Price Chart
bgCol = rsi <= lowerThr ? color.new(lowColor,bgTrans) :
rsi >= upperThr ? color.new(highColor,bgTrans) :
na
bgcolor(bgCol)
If RSI ≤ lower threshold: background turns lowColor (oversold zone).
If RSI ≥ upper threshold: background turns highColor (overbought zone).
Otherwise, no background color.
4. Optional RSI Pane
plot(showRSI ? rsi : na, display=display.pane)
Plots the RSI line in a separate pane when showRSI is true; otherwise hides it.
5. Horizontal Lines for Thresholds
hLower = hline(lowerThr, ...)
hUpper = hline(upperThr, ...)
Two horizontal lines at the lower and upper thresholds.
Because hline() can’t be wrapped inside if blocks, the script always creates them but makes them transparent (using na color) when the pane is hidden.
6. Filling Between Threshold Lines
fill(hLower, hUpper, color=showRSI ? color.new(color.gray,95) : na)
When the RSI pane is visible, the area between the two threshold lines is shaded in gray to create a “mid-zone” effect. This fill also switches off (becomes na) if the pane is hidden.
7. Alerts
The script also includes two alert conditions:
When RSI crosses below the lower threshold.
When RSI crosses above the upper threshold.
How It Works in Practice
On the price chart, you’ll see the background turn blue (or your chosen color) when RSI is ≤30, and red when RSI is ≥70.
If you enable “Show RSI” in the settings, a separate RSI pane will appear below the price chart, plotting the RSI line with two threshold lines and a shaded region in between.
You can fully adjust transparency and colors to suit your chart style.
Benefits
Quickly visualize overbought and oversold conditions without opening a separate RSI window.
Optional RSI pane provides context when needed.
Customizable colors and transparency make it easy to integrate with any chart theme.
Alerts give you automatic notifications when RSI crosses key levels.
------------------------------------------------------------------------------------------------------------------
개요
이 지표는 두 가지 기능을 동시에 수행합니다.
가격 차트 뒤 배경에 색상 표시
RSI 값이 설정한 하단 임계값(기본 30) 이하이거나 상단 임계값(기본 70) 이상일 때, 가격 차트 뒤쪽에 과매도·과매수 구간을 색으로 표시해줍니다.
선택적으로 RSI 보조창 표시
옵션을 켜면 별도의 RSI 패널이 나타나서 RSI 라인과 두 임계값(30, 70)을 연결한 구간을 음영 처리하여 보여줍니다.
설정 창에서 색상·투명도·보조창 표시 여부를 전부 조정할 수 있습니다.
코드 핵심 설명
1. 입력값
src: RSI 계산에 사용할 가격 소스(기본 종가).
len: RSI 기간(기본 14).
lowerThr / upperThr: RSI 하단·상단 임계값(기본 30, 70).
lowColor / highColor: RSI가 각각 하단 이하·상단 이상일 때 배경 색상.
bgTrans: 배경 투명도(0=불투명, 100=투명).
showRSI: RSI 보조창을 켜고 끌 수 있는 스위치.
2. RSI 계산
rsi = ta.rsi(src, len)
지정한 가격 소스를 기반으로 RSI를 계산합니다.
3. 가격 차트 배경 색칠
bgCol = rsi <= lowerThr ? color.new(lowColor,bgTrans) :
rsi >= upperThr ? color.new(highColor,bgTrans) :
na
bgcolor(bgCol)
RSI ≤ 하단 임계값 → lowColor(과매도 색)
RSI ≥ 상단 임계값 → highColor(과매수 색)
나머지 구간은 색상 없음.
4. 선택적 RSI 보조창
plot(showRSI ? rsi : na, display=display.pane)
showRSI가 켜져 있으면 RSI 라인을 보조창에 표시하고, 꺼져 있으면 숨깁니다.
5. 임계값 가로선
hLower = hline(lowerThr, ...)
hUpper = hline(upperThr, ...)
하단·상단 임계값을 가로선으로 표시합니다.
hline은 if 블록 안에서 쓸 수 없기 때문에 항상 그려지지만, 보조창이 꺼지면 색을 na로 처리해 안 보이게 합니다.
6. 임계값 사이 영역 음영 처리
fill(hLower, hUpper, color=showRSI ? color.new(color.gray,95) : na)
보조창이 켜져 있을 때만 두 가로선 사이를 회색으로 채워 “중립 구간”을 강조합니다.
7. 알림 조건
RSI가 하단 임계값을 아래로 돌파할 때 알림.
RSI가 상단 임계값을 위로 돌파할 때 알림.
실제 작동 모습
가격 차트 뒤쪽에 RSI ≤30이면 파란색, RSI ≥70이면 빨간색 배경이 나타납니다(색상은 설정에서 변경 가능).
RSI 보조창을 켜면, RSI 라인과 임계값 가로선, 그리고 그 사이 음영 영역이 함께 나타납니다.
투명도를 높이거나 낮추어 강조 정도를 조절할 수 있습니다.
장점
별도의 RSI창을 열지 않고도 가격 차트 배경만으로 과매수·과매도 상태를 직관적으로 확인 가능.
필요하면 보조창으로 RSI를 직접 확인하면서 임계값 가이드와 음영 영역을 함께 볼 수 있음.
색상·투명도를 자유롭게 조절할 수 있어 차트 스타일에 맞게 커스터마이징 가능.
RSI가 임계값을 돌파할 때 자동 알림을 받을 수 있음.
Recherche dans les scripts pour "rsi"
RSI of RSI Deviation (RoRD)RSI of RSI Deviation (RoRD) - Advanced Momentum Acceleration Analysis
What is RSI of RSI Deviation (RoRD)?
RSI of RSI Deviation (RoRD) is a insightful momentum indicator that transcends traditional oscillator analysis by measuring the acceleration of momentum through sophisticated mathematical layering. By calculating RSI on RSI itself (RSI²) and applying advanced statistical deviation analysis with T3 smoothing, RoRD reveals hidden market dynamics that single-layer indicators miss entirely.
This isn't just another RSI variant—it's a complete reimagining of how we measure and visualize momentum dynamics. Where traditional RSI shows momentum, RoRD shows momentum's rate of change . Where others show static overbought/oversold levels, RoRD reveals statistically significant deviations unique to each market's character.
Theoretical Foundation - The Mathematics of Momentum Acceleration
1. RSI² (RSI of RSI) - The Core Innovation
Traditional RSI measures price momentum. RoRD goes deeper:
Primary RSI (RSI₁) : Standard RSI calculation on price
Secondary RSI (RSI²) : RSI calculated on RSI₁ values
This creates a "momentum of momentum" indicator that leads price action
Mathematical Expression:
RSI₁ = 100 - (100 / (1 + RS₁))
RSI² = 100 - (100 / (1 + RS₂))
Where RS₂ = Average Gain of RSI₁ / Average Loss of RSI₁
2. T3 Smoothing - Lag-Free Response
The T3 Moving Average, developed by Tim Tillson, provides:
Superior smoothing with minimal lag
Adaptive response through volume factor (vFactor)
Noise reduction while preserving signal integrity
T3 Formula:
T3 = c1×e6 + c2×e5 + c3×e4 + c4×e3
Where e1...e6 are cascaded EMAs and c1...c4 are volume-factor-based coefficients
3. Statistical Z-Score Deviation
RoRD employs dual-layer Z-score normalization :
Initial Z-Score : (RSI² - SMA) / StDev
Final Z-Score : Z-score of the Z-score for refined extremity detection
This identifies statistically rare events relative to recent market behavior
4. Multi-Timeframe Confluence
Compares current timeframe Z-score with higher timeframe (HTF)
Provides directional confirmation across time horizons
Filters false signals through timeframe alignment
Why RoRD is Different & More Sophisticated
Beyond Traditional Indicators:
Acceleration vs. Velocity : While RSI measures momentum (velocity), RoRD measures momentum's rate of change (acceleration)
Adaptive Thresholds : Z-score analysis adapts to market conditions rather than using fixed 70/30 levels
Statistical Significance : Signals are based on mathematical rarity, not arbitrary levels
Leading Indicator : RSI² often turns before price, providing earlier signals
Reduced Whipsaws : T3 smoothing eliminates noise while maintaining responsiveness
Unique Signal Generation:
Quantum Orbs : Multi-layered visual signals for statistically extreme events
Divergence Detection : Automated identification of price/momentum divergences
Regime Backgrounds : Visual market state classification (Bullish/Bearish/Neutral)
Particle Effects : Dynamic visualization of momentum energy
Visual Design & Interpretation Guide
Color Coding System:
Yellow (#e1ff00) : Neutral/balanced momentum state
Red (#ff0000) : Overbought/extreme bullish acceleration
Green (#2fff00) : Oversold/extreme bearish acceleration
Orange : Z-score visualization
Blue : HTF Z-score comparison
Main Visual Elements:
RSI² Line with Glow Effect
Multi-layer glow creates depth and emphasis
Color dynamically shifts based on momentum state
Line thickness indicates signal strength
Quantum Signal Orbs
Green Orbs Below : Statistically rare oversold conditions
Red Orbs Above : Statistically rare overbought conditions
Multiple layers indicate signal strength
Only appear at Z-score extremes for high-conviction signals
Divergence Markers
Green Circles : Bullish divergence detected
Red Circles : Bearish divergence detected
Plotted at pivot points for precision
Background Regimes
Green Background : Bullish momentum regime
Grey Background : Bearish momentum regime
Blue Background : Neutral/transitioning regime
Particle Effects
Density indicates momentum energy
Color matches current RSI² state
Provides dynamic market "feel"
Dashboard Metrics - Deep Dive
RSI² ANALYSIS Section:
RSI² Value (0-100)
Current smoothed RSI of RSI reading
>70 : Strong bullish acceleration
<30 : Strong bearish acceleration
~50 : Neutral momentum state
RSI¹ Value
Traditional RSI for reference
Compare with RSI² for acceleration/deceleration insights
Z-Score Status
🔥 EXTREME HIGH : Z > threshold, statistically rare bullish
❄️ EXTREME LOW : Z < threshold, statistically rare bearish
📈 HIGH/📉 LOW : Elevated but not extreme
➡️ NEUTRAL : Normal statistical range
MOMENTUM Section:
Velocity Indicator
▲▲▲ : Strong positive acceleration
▼▼▼ : Strong negative acceleration
Shows rate of change in RSI²
Strength Bar
██████░░░░ : Visual power gauge
Filled bars indicate momentum strength
Based on deviation from center line
SIGNALS Section:
Divergence Status
🟢 BULLISH DIV : Price making lows, RSI² making highs
🔴 BEARISH DIV : Price making highs, RSI² making lows
⚪ NO DIVERGENCE : No divergence detected
HTF Comparison
🔥 HTF EXTREME : Higher timeframe confirms extremity
📊 HTF NORMAL : Higher timeframe is neutral
Critical for multi-timeframe confirmation
Trading Application & Strategy
Signal Hierarchy (Highest to Lowest Priority):
Quantum Orb + HTF Alignment + Divergence
Highest conviction reversal signal
Z-score extreme + timeframe confluence + divergence
Quantum Orb + HTF Alignment
Strong reversal signal
Wait for price confirmation
Divergence + Regime Change
Medium-term reversal signal
Monitor for orb confirmation
Threshold Crosses
Traditional overbought/oversold
Use as alert, not entry
Entry Strategies:
For Reversals:
Wait for Quantum Orb signal
Confirm with HTF Z-score direction
Enter on price structure break
Stop beyond recent extreme
For Continuations:
Trade with regime background color
Use RSI² pullbacks to center line
Avoid signals against HTF trend
For Scalping:
Focus on Z-score extremes
Quick entries on orb signals
Exit at center line cross
Risk Management:
Reduce position size when signals conflict with HTF
Avoid trades during regime transitions (blue background)
Tighten stops after divergence completion
Scale out at statistical mean reversion
Development & Uniqueness
RoRD represents months of research into momentum dynamics and statistical analysis. Unlike indicators that simply combine existing tools, RoRD introduces several genuine innovations :
True RSI² Implementation : Not a smoothed RSI, but actual RSI calculated on RSI values
Dual Z-Score Normalization : Unique approach to finding statistical extremes
T3 Integration : First RSI² implementation with T3 smoothing for optimal lag reduction
Quantum Orb Visualization : Revolutionary signal display method
Dynamic Regime Detection : Automatic market state classification
Statistical Adaptability : Thresholds adapt to market volatility
This indicator was built from first principles, with each component carefully selected for its mathematical properties and practical trading utility. The result is a professional-grade tool that provides insights unavailable through traditional momentum analysis.
Best Practices & Tips
Start with default settings - they're optimized for most markets
Always check HTF alignment before taking signals
Use divergences as early warning , orbs as confirmation
Respect regime backgrounds - trade with them, not against
Combine with price action - RoRD shows when, price shows where
Adjust Z-score thresholds based on market volatility
Monitor dashboard metrics for complete market context
Conclusion
RoRD isn't just another indicator—it's a complete momentum analysis system that reveals market dynamics invisible to traditional tools. By combining momentum acceleration, statistical analysis, and multi-timeframe confluence with intuitive visualization, RoRD provides traders with a sophisticated edge in any market condition.
Whether you're scalping rapid reversals or positioning for major trend changes, RoRD's unique approach to momentum analysis will transform how you see and trade market dynamics.
See momentum's future. Trade with statistical edge.
Trade with insight. Trade with anticipation.
— Dskyz, for DAFE Trading Systems
RSI Shifting Band Oscillator | QuantMAC📊 RSI Shifting Band Oscillator | QuantMAC
🎯 Overview
The RSI Shifting Band Oscillator represents a breakthrough in adaptive technical analysis, combining the innovative dual-stage RSI processing with dynamic volatility bands to create an oscillator that automatically adjusts to changing market momentum conditions. This cutting-edge indicator goes beyond traditional static approaches by using smoothed RSI to dynamically shift band width based on momentum transitions, providing superior signal accuracy across different market regimes.
🔧 Key Features
Revolutionary Dual RSI Technology: Proprietary two-stage RSI calculation with exponential smoothing that measures momentum transitions in real-time
Dynamic Adaptive Bands: Self-adjusting volatility bands that expand and contract based on RSI distance from equilibrium
Dual Trading Modes: Flexible Long/Short or Long/Cash strategies for different trading preferences
Advanced Performance Analytics: Comprehensive metrics including Sharpe, Sortino, and Omega ratios
Smart Visual System: Dynamic color coding with 9 professional color schemes
Precision Backtesting: Date range filtering with detailed historical performance analysis
Real-time Signal Generation: Clear entry/exit signals with customizable threshold sensitivity
Position Sizing Intelligence: Half Kelly criterion for optimal risk management
📈 How The Dual RSI Technology Works
The Dual RSI system is the heart of this indicator's innovation. Unlike traditional RSI implementations, this approach analyzes the smoothed momentum transitions between different RSI states, providing early warning signals for momentum regime changes.
RSI Calculation Process:
Calculate traditional RSI using specified length and price source
Apply exponential moving average smoothing to reduce noise
Measure RSI distance from neutral 50 level to determine momentum strength
Use RSI deviation to dynamically adjust standard deviation multipliers
Create adaptive bands that respond to momentum conditions
Generate normalized oscillator values for clear signal interpretation
The genius of this dual RSI approach lies in its ability to detect when markets are transitioning between momentum and consolidation periods before traditional indicators catch up. This provides traders with a significant edge in timing entries and exits.
⚙️ Comprehensive Parameter Control
RSI Settings:
RSI Length: Controls the lookback period for momentum analysis (default: 14)
RSI Smoothing: Reduces noise in RSI calculations using EMA (default: 20)
Source: Price input selection (close, open, high, low, etc.)
Oscillator Settings:
Base Length: Foundation moving average for band calculations (default: 40)
Standard Deviation Length: Period for volatility measurement (default: 26)
SD Multiplier: Base band width adjustment (default: 2.7)
Oscillator Multiplier: Scaling factor for oscillator values (default: 100)
Signal Thresholds:
Long Threshold: Bullish signal trigger level (default: 90)
Short Threshold: Bearish signal trigger level (default: 56)
🎨 Advanced Visual System
Main Chart Elements:
Dynamic Shifting Bands: Upper and lower bands that automatically adjust width based on RSI momentum
Adaptive Fill Zone: Color-coded area between bands showing current market state
Basis Line: Moving average foundation displayed as subtle reference points
Smart Bar Coloring: Candles change color based on oscillator state for instant visual feedback
Oscillator Pane:
Normalized RSI Oscillator: Main signal line centered around zero with dynamic coloring
Threshold Lines: Horizontal reference lines for entry/exit levels
Zero Line: Central reference for oscillator neutrality
Color State Indication: Line colors change based on bullish/bearish conditions
📊 Professional Performance Metrics
The built-in analytics suite provides institutional-grade performance measurement:
Net Profit %: Total strategy return percentage
Maximum Drawdown %: Worst peak-to-trough decline
Win Rate %: Percentage of profitable trades
Profit Factor: Ratio of gross profits to gross losses
Sharpe Ratio: Risk-adjusted return measurement
Sortino Ratio: Downside-focused risk adjustment
Omega Ratio: Probability-weighted performance ratio
Half Kelly %: Optimal position sizing recommendation
Total Trades: Complete transaction count
🎯 Strategic Trading Applications
Long/Short Mode: ⚡
Maximizes profit potential by capturing both upward and downward price movements. The dual RSI technology helps identify when momentum is strengthening or weakening, allowing for optimal position switches between long and short.
Long/Cash Mode: 🛡️
Conservative approach ideal for retirement accounts or risk-averse traders. The indicator's adaptive nature helps identify the best times to be invested versus sitting in cash, protecting capital during adverse market conditions.
🚀 Unique Advantages
Traditional Indicators vs RSI Shifting Bands:
Static vs Dynamic: While most indicators use fixed parameters, RSI bands adapt in real-time
Lagging vs Leading: Dual RSI detects momentum transitions before they fully manifest
One-Size vs Adaptive: The same settings work across different market conditions
Simple vs Intelligent: Advanced momentum analysis provides superior market insight
💡 Professional Setup Guide
For Day Trading (Short-term):
RSI Length: 10-12
RSI Smoothing: 15-18
Base Length: 25-30
Thresholds: Long 85, Short 60
For Swing Trading (Medium-term):
RSI Length: 14-16 (default range)
RSI Smoothing: 20-25
Base Length: 40-50
Thresholds: Long 90, Short 56 (defaults)
For Position Trading (Long-term):
RSI Length: 18-21
RSI Smoothing: 25-30
Base Length: 60-80
Thresholds: Long 92, Short 50
🧠 Advanced Trading Techniques
RSI Divergence Analysis:
Watch for divergences between price action and smoothed RSI readings. When price makes new highs/lows but RSI doesn't confirm, it often signals upcoming reversals.
Band Width Interpretation:
Expanding Bands: Increasing momentum, expect larger price moves
Contracting Bands: Decreasing momentum, prepare for potential breakouts
Band Touches: Price touching outer bands often signals reversal opportunities
Multi-Timeframe Analysis:
Use RSI oscillator on higher timeframes for trend direction and lower timeframes for precise entry timing.
⚠️ Important Risk Disclaimers
Past performance is not indicative of future results. This indicator represents advanced technical analysis but should never be used as the sole basis for trading decisions.
Critical Risk Factors:
Market Conditions: No indicator performs equally well in all market environments
Backtesting Limitations: Historical performance may not reflect future market behavior
Momentum Risk: Adaptive indicators can be sensitive to extreme momentum conditions
Parameter Sensitivity: Different settings may produce significantly different results
Capital Risk: Always use appropriate position sizing and stop-loss protection
📚 Educational Benefits
This indicator provides exceptional learning opportunities for understanding:
Advanced RSI analysis and momentum measurement techniques
Adaptive indicator design and implementation
The relationship between momentum transitions and price movements
Professional risk management using Kelly Criterion principles
Modern oscillator interpretation and signal generation
🔍 Market Applications
The RSI Shifting Band Oscillator works across various markets:
Forex: Excellent for currency pair momentum analysis
Stocks: Individual equity and index trading
Commodities: Adaptive to commodity market momentum cycles
Cryptocurrencies: Handles extreme momentum variations effectively
Futures: Professional derivatives trading applications
🔧 Technical Innovation
The RSI Shifting Band Oscillator represents years of research into adaptive technical analysis. The proprietary dual RSI calculation method has been optimized for:
Computational Efficiency: Fast calculation even on high-frequency data
Noise Reduction: Advanced smoothing without excessive lag
Market Adaptability: Automatic adjustment to changing conditions
Signal Clarity: Clear, actionable trading signals
🔔 Updates and Evolution
The RSI Shifting Band Oscillator | QuantMAC continues to evolve with regular updates incorporating the latest research in adaptive technical analysis. The code is thoroughly documented for transparency and educational purposes.
Trading Notice: Financial markets involve substantial risk of loss. The RSI Shifting Band Oscillator is a sophisticated technical analysis tool designed to assist in trading decisions but cannot guarantee profitable outcomes.
---
Master The Markets With Adaptive Intelligence! 🎯📈
RSI Pro Suite (Zeiierman)█ Overview
RSI Pro Suite (Zeiierman) is a complete RSI ecosystem built on an Efficient Price foundation. Instead of feeding RSI with the standard close, the script first converts price into an adaptive, efficiency-weighted trajectory known as Efficient Price. All major components of the tool, including the Efficient Price RSI, Significant RSI Moves, the divergence engine, the inefficiency layer, the momentum impulse system, and the multi-timeframe dashboard, are built on top of this refined data stream.
The result is an RSI that looks and behaves like a familiar oscillator while reflecting deeper qualities of the market, such as regime stability, volatility behavior, and directional consistency. It supports both discretionary and systematic workflows, whether you rely on classic overbought and oversold readings or more advanced interpretations such as significant internal RSI pressure, inefficiency clusters, divergence structures, and momentum bursts.
⚪ Why This One Is Unique
RSI Pro Suite does not treat RSI as a simple calculation on price. It embeds RSI inside a two-stage Efficient Price framework that reshapes how trend, rotation, and reversal pressure are interpreted. The chosen EP source (Close, Mean-reversion, or Trend) is first processed through an adaptive efficiency model that filters noise and enhances structural meaning. A second refinement pass produces the foundation for the EP-RSI, giving it a cleaner and more context-aware behavior than standard RSI.
Around this core, the script layers several specialized systems. Significant RSI Moves identify internal pressure zones where momentum stretches, revealing shifts that often occur before they appear on price.
█ Main Features
⚪ EP- Based RSI
The core of RSI Pro Suite is an RSI built on a refined Efficient Price rather than raw price, providing a cleaner and more structurally meaningful oscillator. It maintains the classic RSI visual style with 70/30 bands, a 50 midline, and soft gradient fills that express overbought and oversold tension. A smoothing layer allows several moving-average options for the RSI. This creates an intuitive environment for reading trend strength, exhaustion, and mean-reversion with far greater clarity than a standard RSI.
The Efficient Price engine can be driven by three behavioral modes that reshape the character of the RSI, allowing the indicator to adapt to different market conditions and trading styles.
Close
This mode follows price action directly, mirroring the natural rhythm of the market. It is the most general-purpose option and provides a balanced read of both trend and rotation, making it suitable for the majority of market environments.
Mean-reversion
Mean-reversion mode focuses on swing turns and snap-back behavior, emphasizing RSI-based cyclical reversals. It highlights oscillatory structures, swing reactions, and fading opportunities, making it highly effective for traders who target reversal setups or rotational markets.
Trend
The Trend mode uses a trend-smoothed input that emphasizes directional drift and sustained momentum. It provides clearer insight into trend continuation, trend maturity, and structural strength, helping traders stay aligned with broader directional moves.
⚪ Significant RSI Moves
RSI Pro Suite detects when RSI trades within its most important internal zones—areas where price has historically shown elevated reaction potential. The system continuously evaluates the structure of the RSI range and identifies moments when internal pressure becomes meaningful. When these conditions align, the indicator highlights Significant RSI Movements, revealing subtle but powerful structural shifts before they appear on price itself.
⚪ Divergence Detection
The suite includes regular bullish and bearish divergence detection between EP-RSI and price. It identifies clear pivot structures, marks them directly on the RSI pane, and labels each as Bull or Bear. Because divergences are evaluated using the Efficient Price RSI, the signals appear cleaner and less noisy, making them more reliable during both trend reversals and continuation setups.
⚪ Impulse
Momentum impulses appear when the RSI and Price exhibits unusually strong acceleration. Green circles near the upper region indicate sharp upside bursts, while red circles near the lower region reveal powerful downside surges. These impulses highlight moments of expansion, exhaustion, or sudden strength that stand out from typical RSI behavior.
⚪ Inefficiency Diamonds
Whenever the internal logic detects an inefficiency regime, the indicator plots blue diamonds on the mid-level. These diamonds mark structurally imbalanced or spiky conditions that often precede reaction swings, failed pushes, or key turning points in momentum.
⚪ Visual Multi-Timeframe Dashboard
A right-side dashboard provides a compact real-time overview of multiple structural signals across 5M, 15M, 1H, 2H, 4H, and 1D timeframes:
Directional Signals (up or down arrow)
OB/OS flags
Divergence state
Impulse activity
Inefficiency state
Explosive conditions
█ How to Use
⚪ Classic RSI Trading
Interpreting it is similar to a classic RSI but with structurally cleaner input. Sustained movement above the 50 midline reflects a bullish regime in the Efficient Price environment; persistent movement below 50 reflects a bearish regime. When EP-RSI repeatedly leans against the upper band near 70 while its smoothing line rises, it indicates strong upside control; repeated engagement with the lower band near 30 with a falling smoother indicates strong downside control.
⚪ Trend Trading
Use the Trend EP mode to smooth the RSI and track directional movement more clearly. When the RSI holds above the midline during an uptrend or below it during a downtrend, stay aligned with the direction. The multi-timeframe dashboard helps confirm trend strength by showing whether higher-timeframe signals agree with your chart.
Look for impulse markers and clean directional signals as continuation cues, and use inefficiency or weakening impulses as early signs to scale out or tighten stops.
⚪ Pullback Trading
Enable Trend mode and increase the length to 20 or higher. Then enable the Standard RSI and set it to 7. This configuration helps you track broader trends with the EP-RSI while using the shorter-period standard RSI to identify pullback opportunities within that trend.
When the EP-RSI is clearly green or red, indicating an established trend, begin watching the standard RSI for oversold or overbought conditions. These signals often mark clean pullbacks within the larger move. Entering during these moments allows you to participate in the continuation of the trend with improved timing and reduced risk.
⚪ Overbought/Oversold Trading
Treat the 70/30 regions as pressure zones, not automatic reversal signals. Use OB/OS flags on the dashboard to check whether multiple timeframes are stretched in the same direction. When price enters an overextended area, watch for Significant RSI Moves or impulse exhaustion markers to time entries or exits more precisely. This approach helps you avoid fading strong trends and instead focus on moments where reactions or pauses are more likely.
⚪ Mean-reversion Trading
Switch to Mean-reversion mode when focusing on turning points. This mode emphasizes snap-back behavior and makes reversal zones clearer. Combine reversal attempts with divergence signals, Significant RSI Moves, and impulse exhaustion markers. When several of these appear at once, especially across multiple timeframes on the dashboard, you have a stronger reversal setup.
⚪ Divergence Trading
Enable divergence detection when you want to focus on turning points rather than trend following. Bullish divergence occurs when price prints a lower low but the EP-RSI prints a higher low at a labeled pivot; bearish divergence occurs when price prints a higher high but the EP-RSI prints a lower high.
These divergences are most effective when they form near the 30 and 70 regions or after extended runs. A bullish divergence emerging from an oversold region can be used as confirmation to scale into long ideas; a bearish divergence near overbought regions can support profit-taking or contrarian short setups.
⚪ Breakout Trading
In breakout conditions, Significant RSI Moves and impulse markers work together as confirmation tools. When price pushes through a resistance level and the RSI prints a Significant RSI Move at the same time, it shows that internal momentum has shifted decisively in favor of the breakout. If this move is supported by green upper impulse markers, it strengthens the case that buyers are driving the move with conviction rather than the breakout occurring on weak momentum.
During a retest of the breakout zone, these signals become even more valuable. A Significant RSI Move forming at the retest, especially when paired with a fresh impulse burst, often marks strong rejection from the level and signals that the breakout structure is holding. This combination highlights areas where buyers are stepping in aggressively to defend the level.
The same concepts apply in reverse during breakdowns. A Significant RSI Move occurring at support alongside red downside impulses confirms heavy selling pressure and adds confidence to continuation entries. If such signals appear after an extended move, they can also highlight capitulation points that precede sharp reversals.
This makes Significant RSI Moves and impulse markers highly effective for validating breakouts, evaluating retests, and timing continuation or rejection trades with much greater precision.
⚪ Reversal Trading
Use contrarian signals to identify areas that may offer attractive reversal opportunities. These signals highlight moments when the market is stretched and showing signs of exhaustion, which can develop into a broader shift in direction. Combine them with Significant RSI Moves and impulse markers to gauge the strength and credibility of the potential reversal, especially around key levels or after extended trends.
⚪ Interpreting Inefficiency Regime
Watch the diamonds associated with the inefficiency regime as contextual signals. When they cluster following a smooth, steady trend, they often mark zones where the process shifts from “clean trend” to “noisy” or “imbalanced” behavior. Combined with EP-RSI rolling over from an extreme or divergence labels appearing nearby, such clusters can highlight high-value inflection areas.
⚪ Overview Panel
Use the right-hand dashboard as a quick alignment guide rather than a direct signal generator. Each row represents a different structural component of the market, and each column represents a timeframe from 5M to 1D. The Signals row shows immediate directional bias, OB/OS highlights stretched conditions, Divergence marks structural disagreement, Impulse reveals bursts of momentum, Inefficiency identifies unstable movement and Explosive highlights higher-timeframe volatility conditions.
The panel is most useful as a mental checklist. When several timeframes show similar characteristics, such as multiple signals pointing in the same direction or impulses aligning across the lower timeframes, the context for the trade becomes stronger. Mixed readings indicate hesitation or imbalance in the market, helping you avoid forcing trades during unclear conditions.
With coverage across 5M, 15M, 1H, 2H, 4H and 1D, the dashboard gives you an instant sense of whether momentum, pressure and structure are working together or pushing against each other, allowing you to judge at a glance whether the environment favors continuation, rotation or caution.
█ How It Works
⚪ EP Source and Pre-EP Layer
The system begins by selecting a core behavioral driver such as Close, Mean-Reversion, or Trend. This source is transformed into a stability-aware stream that evaluates how consistently the price is moving relative to its own volatility environment. Each movement is weighted by its structural quality rather than raw magnitude, producing a preliminary Efficient Price that reflects directional reliability instead of noise.
Calculation: Applies efficiency-based weighting and volatility normalization to the raw source, accumulating the results into a first-stage Efficient Price that represents structural strength and directional quality.
⚪ Main EP Engine and Adaptive Refinement
This first-stage Efficient Price is processed again through a second refinement pass, smoothing irregularities and further aligning the trajectory with coherent directional flow. The result is a fully refined Efficient Price that responds to meaningful structural shifts while avoiding the instability of raw price oscillation.
Calculation: Uses a second adaptive efficiency pass with volatility moderation, cumulative weighting, and slope extraction. This acts as a two-layer filter, favoring persistent movement while remaining sensitive to regime changes.
⚪ Inefficiency–Trend Blending
This component evaluates the EP-RSI through two behavioral lenses: inefficiency and trend. Inefficiency highlights spike-driven, imbalanced movement, while the trend component captures underlying directional slope and stability. A smooth blending mechanism transitions between these modes depending on where the system sits within efficiency space.
Calculation: Computes an inefficiency score from ER deviation and a trend score from normalized regression slope. A smoothstep transition blends them, and diamond markers appear when the oscillator confirms it is inside an inefficiency regime.
⚪ Momentum Impulse Modeling
Momentum impulses isolate moments when acceleration becomes unusually strong. The system exaggerates extreme RSI deviations while muting ordinary fluctuations, allowing only the sharpest bursts to stand out. A small clustering check eliminates transient noise, marking impulses only when structurally meaningful.
Calculation: Runs RSI through chained non-linear transforms, compares outputs against their own historical envelopes, evaluates local dominance, and emits impulse markers when deviations exceed cluster thresholds.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
RSI Divergence & Momentum Color//@version=5
// هذا مؤشر موحد يحدد الدايفرجنس (العادي والمخفي) ويقوم بتلوين الشموع حسب زخم RSI.
indicator(title="RSI Divergence & Momentum Color", shorttitle="RSI Divergence & MOM", overlay=true)
// --- 1. الإعدادات والمتغيرات (Inputs) ---
// إعدادات RSI
rsiLength = input.int(14, title="RSI Length", minval=1)
// إعدادات تحديد القمم والقيعان (Pivots)
pivotLeft = input.int(5, title="Pivot Lookback Left", minval=1)
pivotRight = input.int(5, title="Pivot Lookback Right", minval=1)
// --- 2. حساب مؤشر القوة النسبية (RSI Calculation) ---
rsi = ta.rsi(close, rsiLength)
// --- 3. تلوين الشموع حسب الزخم (RSI Momentum Color) ---
// فحص: هل RSI الحالي أكبر من RSI السابق؟
isRSIUp = rsi > rsi
// تحديد اللون بناءً على الشرط
var color colorRSI = na
// تلوين الشمعة باللون الأخضر إذا كان RSI صاعداً، وبالأحمر إذا كان هابطاً
if isRSIUp
colorRSI := color.new(color.green, 60) // أخضر فاتح
else
colorRSI := color.new(color.red, 60) // أحمر فاتح
// تطبيق تلوين الشمعة على الشارت الرئيسي
barcolor(colorRSI)
// --- 4. تحديد الدايفرجنس (Divergence Detection) ---
// تحديد القمم والقيعان على السعر
price_high_pivot = ta.pivothigh(high, pivotLeft, pivotRight)
price_low_pivot = ta.pivotlow(low, pivotLeft, pivotRight)
// تحديد القمم والقيعان على RSI
rsi_high_pivot = ta.pivothigh(rsi, pivotLeft, pivotRight)
rsi_low_pivot = ta.pivotlow(rsi, pivotLeft, pivotRight)
// *** المنطق المباشر للدايفرجنس (تظهر الإشارة عند القمة/القاع المكتملة) ***
// 🔵 الدايفرجنس العادي الصعودي (Regular Bullish Div)
isRegBull = price_low_pivot and rsi_low_pivot and low < low and rsi > rsi
// 🔴 الدايفرجنس العادي الهبوطي (Regular Bearish Div)
isRegBear = price_high_pivot and rsi_high_pivot and high > high and rsi < rsi
// 🟪 الدايفرجنس المخفي الصعودي (Hidden Bullish Div)
isHiddenBull = price_low_pivot and rsi_low_pivot and low > low and rsi < rsi
// 🟧 الدايفرجنس المخفي الهبوطي (Hidden Bearish Div)
isHiddenBear = price_high_pivot and rsi_high_pivot and high < high and rsi > rsi
// --- 5. رسم إشارات الدايفرجنس على السعر (Plotting Shapes) ---
// رسم الإشارات على الشارت الرئيسي (لتحديد مناطق الانعكاس/الاستمرار)
// 1. عادي صعودي (انعكاس)
plotshape(isRegBull, title="Regular Bullish Div", location=location.belowbar, style=shape.triangleup, color=color.green, size=size.small)
// 2. عادي هبوطي (انعكاس)
plotshape(isRegBear, title="Regular Bearish Div", location=location.abovebar, style=shape.triangledown, color=color.red, size=size.small)
// 3. مخفي صعودي (استمرار)
plotshape(isHiddenBull, title="Hidden Bullish Div", location=location.belowbar, style=shape.diamond, color=color.blue, size=size.small)
// 4. مخفي هبوطي (استمرار)
plotshape(isHiddenBear, title="Hidden Bearish Div", location=location.abovebar, style=shape.diamond, color=color.orange, size=size.small)
// --- 6. عرض مؤشر RSI في نافذة فرعية (Sub-Window) ---
// يجب إضافة مؤشر RSI بشكل منفصل لترى الدايفرجنس على منحنى RSI
// لكي تظهر الخطوط على منحنى RSI، يجب عليك إضافة كود المؤشر السابق (RSI Divergence Detector (Full))
// على نافذة RSI، ولكن هذا يتعارض مع طلبك دمج كل شيء.
// أفضل طريقة هي: قم بإضافة هذا المؤشر إلى الشارت، ثم أضف مؤشر RSI الافتراضي إلى نافذة جديدة.
// أو يمكنك إنشاء مؤشر RSI منفصل خاص بك في نافذة فرعية:
plot(rsi, title="RSI Value", color=color.rgb(100, 150, 200), display=display.none) // لا تعرض في الشارت الرئيسي
// لعرض RSI في نافذة فرعية، قم بإنشاء مؤشر جديد واضبط overlay=false
// أو استخدم المؤشر التالي (بما أن هذا المؤشر يحتوي على overlay=true، لن يرسم RSI أسفل الشارت).
// --- ملاحظة أخيرة: لرسم الخطوط على RSI أسفل الشارت ---
// لتحقيق ذلك بالضبط، يجب كتابة مؤشر ثانٍ بـ (overlay=false)
// يحتوي على نفس منطق الدايفرجنس. لتجنب ذلك، يكتفي هذا الكود برسم الإشارات
// على السعر (overlay=true) وتلوين الشموع.
RSI Pivot Breaks█ OVERVIEW
RSI Pivot Breaks is an RSI-based indicator that detects breakout events on oscillator-based pivot levels (RSI or MA RSI).
The tool automatically plots pivot levels, tracks their breakouts, highlights momentum shifts, and generates alerts for key events (pivot breaks and OB/OS crosses).
The indicator is designed primarily for momentum strategies — pivot breakouts often precede directional price moves, making RSI Pivot Breaks a powerful tool for identifying accelerations and changes in strength.
█ CONCEPTS
The indicator analyzes local RSI extremes and transforms them into dynamic support/resistance levels.
When RSI or MA RSI breaks the last pivot, it signals a shift in momentum balance, often leading to an impulse move.
Key concepts:
- pivot highs/lows detected on RSI or MA RSI,
- pivot lines extend forward until broken,
- pivot filters restrict pivot detection to specific RSI zones,
- OB/OS levels provide contextual momentum thresholds.
█ FEATURES
Pivot Detection & Breakouts
- Detection of pivot highs and lows on RSI or MA RSI.
- Pivot filters allow you to limit pivot detection to specific RSI ranges (e.g., only bullish pivots below 50 or bearish pivots above 50).
- Pivot lines update automatically after breakout.
Background highlights:
- green on pivot-high breakouts,
- red on pivot-low breakouts.
RSI & MA RSI
- Dynamic RSI colors based on momentum direction.
- Optional MA RSI line (SMA/EMA/RMA/WMA) usable as a smoother pivot source.
OB / OS Zones
- Fully adjustable overbought/oversold levels.
- Dedicated OB/OS colors.
- Optional gradient backgrounds.
Highlights
- Instant identification of moments when RSI breaks a key pivot level.
Alerts:
- pivot high breakouts.
- pivot low breakouts.
- OB crosses.
- OS crosses.
█ HOW TO USE
Add the indicator:
Indicators → RSI Pivot Breaks.
RSI Settings
- RSI Length – core RSI period.
- RSI MA Length & Type – MA RSI smoothing parameters.
Pivot Settings
- Pivot Left / Pivot Right – number of bars required to form a pivot and also the number of bars of delay before the pivot becomes confirmed.
(Higher values produce more reliable but slower pivots.)
Pivot Filters
- Minimum/maximum allowed RSI levels for pivot Highs and Lows.
- Examples:
- detect only pivot Highs at low RSI values.
- ignore pivots during extreme momentum.
- allow only mid-range pivot detection depending on strategy.
Visualization
- Toggles for RSI and MA RSI visibility.
- Optional gradients.
- Full color and transparency customization.
OB/OS Levels
- Adjustable thresholds depending on instrument volatility and strategy style.
█ SIGNAL INTERPRETATION
BUY
- RSI breaks the latest pivot high.
- RSI crosses upward out of OS.
- Context example: pivot lows forming a rising sequence.
SELL
- RSI breaks the latest pivot low.
- RSI drops downward from OB.
- Context example: pivot highs forming a declining sequence.
Trend / Momentum
- Pivot breakouts indicate acceleration or continuation of momentum.
- MA-based pivots provide smoother and more stable momentum structure.
█ APPLICATIONS
- Momentum Trading – pivot breaks as early acceleration signals.
- Scalping & Intraday – fast RSI pivots react quickly to short-term shifts.
- Swing Trading – smoother pivots using MA RSI for higher-timeframe structure.
- Divergence Detection – pivot behavior helps reveal divergence patterns, e.g.:
- RSI pivots rising while price is falling → potential early momentum reversal.
- Custom Filtering – pivot filters allow, for example:
- blocking bullish signals near OB.
- blocking bearish signals near OS.
- detecting pivots only above/below mid-range during strong trends,
depending entirely on strategy design.
█ NOTES
- Pivot detection includes natural delay equal to the Left/Right parameters.
- Pivot filters significantly change the character of signals, allowing fine-tuning of aggressiveness for any strategy.
RSI Multi Levels kiawosch [TradingFinder] 7-14-42 Consolidation🔵 Introduction
The Relative Strength Index or RSI is a tool used to measure the speed and intensity of price movement, oscillating between zero and one hundred. It is commonly applied to identify strength or weakness in market momentum across different time intervals. Despite its simple formula and wide usage, the behavior of RSI within specific ranges often provides more precise information than traditional overbought and oversold levels.
The Multi RSI layout displays three RSI values with periods 7, 14 and 42. The seven period RSI plays the primary role in short term analysis. When this value enters predefined ranges, it shows highly consistent and interpretable behavior that can signal trend continuation, corrections or the start of a range structure. The other two values, RSI 14 and RSI 42, help reveal higher timeframe momentum and provide context for the depth and quality of price movement.
Three potential zones are defined, each representing a behavioral range. The position zones forms the basis for signal interpretation :
High Potential : 78 to 85 & 22 to 15
Mid Potential : 70 to 78 & 30 to 22
Low Potential : 58 to 62 & 42 to 38
These zones highlight areas where RSI reacts in specific ways to price movement. Entering the High Potential range usually aligns with new highs or lows in price and often precedes continuation after a correction. In contrast, reactions inside the Mid Potential range frequently appear during clean ranges or channel structures. This approach focuses on momentum quality and structural behavior rather than classic overbought and oversold thresholds.
In summary, the logic behind the signals follows three principles :
Trend continuation, When RSI 7 enters the High Potential zone and price prints a new high or low, continuation after a correction becomes the most likely outcome.
Reversal or slowdown, When RSI exits the High Potential zone while price is reaching a previous high or low, the probability of a short term reversal increases.
Range behavior, In clean ranges or channel structures, RSI 7 typically reacts inside the Mid Potential zone and produces consistent swing responses.
🔵 How to Use
This method is based on observing the repeating behavior of RSI within momentum zones and identifying moments when price continues after a shallow correction or, conversely, when signs of slowing and reversal appear. RSI 7 plays the main role since it gives the most sensitive response to short term price changes. Its entry into or exit from a potential zone, combined with the position of price relative to recent highs and lows, forms the core of the signal logic. RSI 14 and RSI 42 provide higher timeframe confirmation and help evaluate the broader strength or weakness behind each movement.
🟣 Trend continuation after entering the High Potential zone
When RSI 7 reaches the High Potential zone while price forms a new high or low, the probability of continuation becomes very high. The typical sequence includes a short correction in price and a retreat of RSI toward the Mid Potential zone. As long as price structure remains intact and RSI turns upward again, continuation becomes the most likely scenario. As shown in the charts, price often expands strongly after this type of correction and breaks the previous high.
🟣 Reversal or slowdown after exiting the High Potential zone
If RSI 7 enters the High Potential zone but then exits while price is interacting with a previous high or low, conditions for a short term reversal appear. This behavior is clear in the charts, where price hits a supply or demand area and RSI can no longer return to the upper zone. The drop in RSI reflects weakening momentum and, when accompanied by a confirming candle, increases the chance of a reversal or at least a temporary pause.
🟣 Strong reversal after hitting the Mid Potential zone during deeper corrections
Sometimes price enters a deeper corrective phase and RSI 7 moves into or through the Mid Potential zone. When this occurs near a previous low, it can mark the start of a significant reversal. The charts show this pattern clearly, where RSI turns upward while price reacts to support. If the other RSI values show relative alignment, the probability of a strong rebound increases. This signal is often seen after fast declines and can mark the beginning of a recovery wave.
🟣 Range structure and repetitive reactions inside the Mid Potential zone
When price enters a clean range or channel, the behavior of RSI 7 changes completely. In such conditions, RSI repeatedly reacts inside the Mid Potential zone. Each time price touches the upper or lower boundary of the range, RSI approaches the upper or lower part of this zone as well. The result is a sequence of predictable swing reactions, perfectly suitable for mean reversion strategies. Breakouts in these environments also tend to show higher failure rates.
🟣 Sharp reactions and fast reversals at extreme levels (RSI near 90 or below 10)
Although this approach is not based on classic overbought and oversold logic, extremely high or low RSI readings such as ninety often produce strong immediate reactions in price. These conditions usually occur after sudden spikes or emotional breakouts. As visible in the charts, RSI collapses quickly after reaching such extremes and price often reverses sharply. While not a core signal, these moments add meaningful context to momentum interpretation.
🔵 Settings
RSI Setting : This section allows enabling or disabling the three RSI values, adjusting their calculation length and customizing their colors. It is designed to help separate short, medium and longer term momentum visually on the chart.
Zones Setting : This section controls the display of momentum zones and the color applied to each area. Adjusting these colors or toggling them on and off helps the trader visually track the intensity and structure of momentum.
Levels Setting : This section allows editing the numeric boundaries of the levels or showing and hiding each one individually. These levels form the visual framework for interpreting RSI behavior within the defined momentum zones.
🔵 Conclusion
Examining RSI behavior across different momentum zones shows that entering these ranges creates relatively consistent patterns in price movement. Reaching the High Potential zone often corresponds to later stages of a trend, where price has the strength to continue after a brief correction and structure remains intact. In contrast, reactions within the Mid Potential zone occur more frequently when the market transitions into a range or a limited movement phase, where repetitive oscillations dominate.
Overall, observing RSI inside these zones helps distinguish between trending movement, corrective phases and range conditions with greater clarity. Entry or exit from each zone provides insight into the underlying strength or weakness of momentum and reveals where the market is positioned within its movement cycle. This perspective, based on momentum regions rather than traditional values alone, offers a more refined understanding of price behavior and highlights the likely direction of the next move.
RSI Analytic Volume Matrix [RAVM] Overview
RSI Analytic Volume Matrix is an overlay indicator that turns classic RSI into a multi-layered market-reading engine. Instead of treating RSI 30 and 70 as simple buy/sell lines, RAVM combines RSI geometry (angle and acceleration), statistical volume analysis, and a 5×5 VSA-inspired matrix to describe what is really happening inside each candle.
The script is designed as an educational and analytical tool. It does not generate trading signals. Instead, it helps you read the market context, understand where the pressure is coming from (buyers vs. sellers), and see how price, momentum, and volume interact in real time.
Concept & Philosophy
RAVM is built around a hierarchical logic and a few core ideas:
• Hierarchical State Machine: First, RSI defines a context (where we are in the 0–100 range). Then the geometric engine evaluates the angle-of-turn of RSI using a Z-Score. Only after a meaningful geometric event is detected does the system promote a bar to a potential setup (warning vs. confirmed).
• Geometric Primacy: The angle and acceleration of RSI (RSI geometry) are more important than the raw RSI level itself. RAVM uses a geometric veto: if the geometric trigger is not confirmed, the confidence score is capped below 50%, even if volume looks interesting.
• RSI Beyond 30 and 70: Being above 70 or below 30 is not treated as an automatic overbought/oversold signal. RAVM treats those zones as contextual factors that contribute only a partial portion of the final score, alongside geometry, total volume expansion, buy/sell balance, and delta power.
• Volume Decomposition: Volume is decomposed into total, buy-side, sell-side, and delta components. Each of these is normalized with a Z-Score over a shared statistical window, so RSI geometry and volume live in the same statistical context.
• Educational Scoring Pipeline: RAVM builds a 0–100 "Quantum Score" for each detected setup. The score expresses how strong the story is across four dimensions: geometry (RSI angle-of-turn), total volume expansion, which side is driving that volume (buyers vs. sellers), and the power of delta. The score is designed for learning and weighting, not for mechanical trade entries.
• VSA Matrix Engine: A 5×5 matrix combines momentum states and volume dynamics. Each cell corresponds to an interpreted VSA-style scenario (Absorption, Distribution, No Demand, Stopping Volume, Strong Reversal, etc.), shown both as text and as a heatmap dashboard on the chart.
How RAVM Works
1. RSI Context & Geometry
RAVM starts with a classic RSI, but it does not stop at simple level checks. It computes the velocity and acceleration of RSI and normalizes them via a Z-Score to produce an Angle-of-Turn metric (Z-AoT). This Z-AoT is then mapped into a 0–1 intensity value called MSI (Momentum Shift Intensity).
The script monitors both classic RSI zones (around 30 and 70) and geometric triggers. Entering the lower or upper zone is treated as a contextual event only. A setup becomes "confirmed" when a significant geometric turn is detected (based on Z-AoT thresholds). Otherwise, the bar is at most a warning.
2. Volume & Statistical Engine
The volume engine can work in two modes: a geometric approximation (based on candle structure) or a more precise intrabar mode using up/down volume requests. In both cases, RAVM builds a volume packet consisting of:
• Total volume
• Buy-side volume
• Sell-side volume
• Delta (buy – sell)
Each of these series is normalized using a Z-Score over the same statistical window that is used for RSI geometry. This allows RAVM to answer questions such as: Is total volume exceptional on this bar? Is the expansion mostly coming from buyers or from sellers? Is delta unusually strong or weak compared to recent history?
3. Scoring System (Quantum Score)
For each bar where a setup is active, RAVM computes a 0–100 score intended as an educational confidence measure. The scoring pipeline follows this sequence:
A. RSI Geometry (MSI): Measures the strength of the RSI angle-of-turn via Z-AoT. This has geometric primacy over simple level checks.
B. RSI Zone Context: Being below 30 or above 70 contributes only a partial bonus to the score, reflecting the idea that these zones are context, not automatic signals. Mildly supportive zones (e.g., RSI below 50 for bullish contexts) can also contribute with lower weight.
C. Total Volume Expansion: A normalized Volume Power term expresses how exceptional the total volume is relative to its recent distribution. If there is no meaningful volume expansion, the score remains modest even if RSI geometry looks interesting.
D. Which Side Is Driving the Volume: RAVM then checks whether the expansion is primarily on the buy side or the sell side, using Z-Score statistics for buy and sell volume separately. This stage does not yet rely on delta as a power metric; it simply answers the question: "Is this expansion mostly driven by buyers, sellers, or both?"
E. Delta as Final Power: Only at the final stage does the script bring in delta and its Z-Score as a measure of how one-sided the pressure really is. A strong negative delta during a bullish context, for example, can highlight absorption, while a strong positive delta against a bearish context can highlight distribution or a buying climax.
If a setup is not geometrically confirmed (for example, a simple entry into RSI 30/70 without a strong geometric turn), RAVM caps the final score below 50%. This "Geometric Veto" enforces the idea that RSI geometry must confirm before a scenario can be considered high-confidence.
4. Overlay UI & Smart Labels
RAVM is an overlay indicator: all information is drawn directly on the price chart, not in a separate pane. When a setup is active, a smart label is attached to the bar, together with a vertical connector line. Each label shows:
• Direction of the setup (bullish or bearish)
• Trigger type (classic OS/OB vs. geometric/hidden)
• Status (warning vs. confirmed)
• Quantum Score as a percentage
Confirmed setups use stronger colors and solid connectors, while warnings use softer colors and dotted connectors. The script also manages label placement to avoid overlap, keeping the chart clean and readable.
In addition to labels, a dashboard table is drawn on the chart. It displays the currently active matrix scenario, the dominant bias, a short textual interpretation, the full 5×5 heatmap, and summary metrics such as RSI, MSI, and Volume Power.
RSI Is Not Just 30 and 70
One of the central design decisions in RAVM is to treat RSI 30 and 70 as context, not as fixed buy/sell buttons. Many traders mechanically assume that RSI below 30 means "buy" and RSI above 70 means "sell". RAVM explicitly rejects this simplification.
Instead, the script asks a series of deeper questions: How sharp is the angle-of-turn of RSI right now? Is total volume expanding or contracting? Is that expansion dominated by buyers or sellers? Is delta confirming the move, or is there a hidden absorption or distribution taking place?
In the scoring logic, being in a lower or upper RSI zone contributes only part of the final score. Geometry, volume expansion, the buy/sell split, and delta power all have to align before a high-confidence scenario emerges. This makes RAVM much closer to a structured market-reading tool than a classic overbought/oversold indicator.
Matrix User Manual – Reading the 5×5 Grid
The heart of RAVM is its 5×5 matrix, where the vertical axis represents momentum states (M1–M5) and the horizontal axis represents volume dynamics (V1–V5). Each cell in this grid corresponds to a VSA-style scenario. The dashboard highlights the currently active cell and prints a textual description so you can read the story at a glance.
1. Confirmation Scenarios
These scenarios occur when momentum direction and volume expansion are aligned:
• Bullish Confirmation / Strong Reversal: Momentum is shifting strongly upward (often from a depressed RSI context), and expanded volume is driven mainly by buyers. Often seen as a strong bullish reversal or continuation signal from a VSA perspective.
• Bearish Confirmation / Strong Drop: Momentum is turning decisively downward, and expanded volume is driven mainly by sellers. This maps to strong bearish continuation or sharp reversal patterns.
2. Absorption & Stopping Volume
• Absorption: Total volume expands, but the dominant flow is opposite to the recent price move or the geometric bias. For example, heavy selling volume while the geometric context is bullish. This can indicate smart money quietly absorbing orders from the crowd.
• Stopping Volume: Exceptionally high volume appears near the end of an extended move, while momentum begins to decelerate. Price may still print new extremes, but the effort vs. result relationship signals potential exhaustion and the possibility of a turn.
3. Distribution & Buying Climax
• Distribution: Heavy buying volume appears within a bearish or topping context. Rather than healthy accumulation, this often represents larger players offloading inventory to late buyers. The matrix will typically flag this as a bearish-leaning scenario despite strong upside prints.
• Buying Climax: A surge of buy-side volume near the end of a strong uptrend, with momentum starting to weaken. From a VSA point of view, this is often the last push where retail aggressively buys what smart money is selling.
4. No Demand & No Supply
• No Demand: Price attempts to rise but does so on low, non-expansive volume. The market is not interested in following the move, and the lack of participation often precedes weakness or sideways action.
• No Supply: Price tries to push lower on thin volume. Selling pressure is limited, and the lack of supply can precede stabilization or recovery if buyers step back in.
5. Trend Exhaustion
• Uptrend Exhaustion: Momentum remains nominally bullish, but the quality of volume deteriorates (e.g., more effort, less net result). The matrix marks this as an uptrend losing internal strength, often after a series of aggressive moves.
• Downtrend Exhaustion: Similar logic in the opposite direction: strong prior downtrend, but increasingly inefficient downside progress relative to the volume invested. This can precede accumulation or a relief rally.
6. Effort vs. Result Scenarios
• Bullish Effort, Little Result: Buyers invest notable volume, but price progress is limited. This may reveal hidden selling into strength or a lack of follow-through from the broader market.
• Bearish Effort, Little Result: Sellers push volume, but price does not decline proportionally. This can indicate absorption of selling pressure and potential underlying demand.
7. Neutral, Churn & Thin Markets
• Neutral / Thin Market: Momentum and volume both remain muted. RAVM marks these as neutral cells where aggressive decision-making is usually less attractive and observing the broader structure is more important.
• High Volume Churn / Volatility: Both sides are active with high volume but limited directional progress. This can correspond to battle zones, local ranges, or high volatility rotations where the main message is conflict rather than clear trend.
Inputs & Options
RAVM includes several input groups to adapt the tool to your preferences:
• Localization: Multiple language options for all labels and dashboard text (e.g., English, Farsi, Turkish, Russian).
• RSI Core Settings: RSI length, source, and upper/lower contextual zones (typically around 30 and 70).
• Geometric Engine: Z-AoT sigma thresholds, confirmation ratios, and normalization window multiplier. These control how sensitive the script is to RSI angle-of-turn events.
• Volume Engine: Choice between geometric approximation and intrabar up/down volume, Z-Score thresholds for volume expansion, and related parameters.
• Visual Interface: Toggles for smart labels, dashboard table, font sizes, dashboard position, and color themes for bullish, bearish, and warning states.
Disclaimer
RSI Analytic Volume Matrix is provided for educational and research purposes only. It does not constitute financial advice and is not a signal generator. Any trading decisions you make based on this tool, or any other, are entirely your own responsibility. Always consider your own risk management rules and conduct your own analysis.
RSI + BB + RSI Advanced MTF Panel//@version=6
indicator(title="RSI + BB + RSI Advanced MTF Panel", shorttitle="RSI + BB + RSI Advance MTF Panel", format=format.price, precision=2, overlay=false)
bb_group = "BB (Price Overlay)"
bb_length = input.int(50, minval=1, group = bb_group)
bb_maType = input.string("SMA", "Basis MA Type", options = , group = bb_group)
bb_src = input.source(close, title="Source", group = bb_group)
bb_mult = input.float(0.2, minval=0.001, maxval=50, title="StdDev", group = bb_group)
BasisColor = input.color(color.rgb(163, 41, 245), "Basis Color", group = bb_group, display = display.none)
UpperColor = input.color(color.rgb(120, 156, 202,100), "Upper Color", group = bb_group, display = display.none)
LowerColor = input.color(color.rgb(120, 156, 202,100), "Lower Color", group = bb_group, display = display.none)
offset = input.int(0, "Offset", minval = -500, maxval = 500, display = display.data_window, group = bb_group)
ma(source, bb_length, _type) =>
switch _type
"SMA" => ta.sma(source, bb_length)
"EMA" => ta.ema(source, bb_length)
"SMMA (RMA)" => ta.rma(source, bb_length)
"WMA" => ta.wma(source, bb_length)
"VWMA" => ta.vwma(source, bb_length)
basis = ma(bb_src, bb_length, bb_maType)
dev = bb_mult * ta.stdev(bb_src, bb_length)
upper = basis + dev
lower = basis - dev
plot(basis, "Basis", color=BasisColor, offset = offset, force_overlay = true)
p1 = plot(upper, "Upper", color=UpperColor, offset = offset, force_overlay = true)
p2 = plot(lower, "Lower", color=LowerColor, offset = offset, force_overlay = true)
fill(p1, p2, title = "Background", color=color.rgb(163, 41, 245, 90))
rsiLengthInput = input.int(30, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display = display.data_window, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
SignalDot = input.bool(false, title="Signal Dot", group="Smoothing", display = display.data_window, tooltip = "Signal for possible entry")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiPlot = plot(rsi, "RSI", color= rsi >= 51 ? color.rgb(13, 197, 230) : color.red)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = color.new(color.green, 0), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 0), title = "Oversold Gradient Fill")
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options = , group = GRP, display = display.data_window)
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
smoothma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
smoothingMA = enableMA ? smoothma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_calcBarsSince(cond) =>
ta.barssince(cond)
rsiLBR = rsi
// 1. Calculate Pivots Unconditionally
plFound = not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
phFound = not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
// 2. Calculate History Unconditionally
barsSincePL = _calcBarsSince(plFound )
barsSincePH = _calcBarsSince(phFound )
// 3. Check Ranges Unconditionally
inRangePL = rangeLower <= barsSincePL and barsSincePL <= rangeUpper
inRangePH = rangeLower <= barsSincePH and barsSincePH <= rangeUpper
// 4. Calculate Conditions
var bool bullCond = false
var bool bearCond = false
if calculateDivergence
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and inRangePL
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and inRangePH
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
else
bullCond := false
bearCond := false
plot(plFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish", linewidth = 2, color = (bullCond ? bullColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bullCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish Label", text = " Bull ", style = shape.labelup, location = location.absolute, color = bullColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
plot(phFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish", linewidth = 2, color = (bearCond ? bearColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bearCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish Label", text = " Bear ", style = shape.labeldown, location = location.absolute, color = bearColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence.')
// --- Panel Options (General) ---
g_panel = 'MTF Panel Options'
i_orientation = input.string('Vertical', 'Orientation', options = , group = g_panel)
i_position = input.string('Bottom Right', 'Position', options = , group = g_panel)
i_border_width = input.int(1, 'Border Width', minval = 0, maxval = 10, group = g_panel, inline = 'border')
i_color_border = input.color(#000000, '', group = g_panel, inline = 'border')
i_showHeaders = input.bool(true, 'Show Headers', group = g_panel)
i_color_header_bg = input.color(#5d606b, 'Headers Background', group = g_panel, inline = 'header')
i_color_header_text = input.color(color.white, 'Text', group = g_panel, inline = 'header')
i_color_tf_bg = input.color(#2a2e39, 'Timeframe Background', group = g_panel, inline = 'tf')
i_color_tf_text = input.color(color.white, 'Text', group = g_panel, inline = 'tf')
i_debug = input.bool(false, 'Display colors palette (debug)', group = g_panel)
// --- RSI Colors (Conditional Formatting) ---
g_rsi = 'MTF RSI Colors'
i_threshold_ob = input.int(70, 'Overbought Threshold', minval=51, maxval=100, group = g_rsi)
i_color_ob = input.color(#128416, 'Overbought Background', inline = 'ob', group = g_rsi)
i_tcolor_ob = input.color(color.white, 'Text', inline = 'ob', group = g_rsi)
i_threshold_uptrend = input.int(60, 'Uptrend Threshold', minval=51, maxval=100, group = g_rsi)
i_color_uptrend = input.color(#2d472e, 'Uptrend Background', inline = 'up', group = g_rsi)
i_tcolor_uptrend = input.color(color.white, 'Text', inline = 'up', group = g_rsi)
i_color_mid = input.color(#131722, 'No Trend Background', group = g_rsi, inline = 'mid')
i_tcolor_mid = input.color(#b2b5be, 'Text', group = g_rsi, inline = 'mid')
i_threshold_downtrend = input.int(40, 'Downtrend Threshold', group = g_rsi, minval=0, maxval=49)
i_color_downtrend = input.color(#5b2e2e, 'Downtrend Background', group = g_rsi, inline = 'down')
i_tcolor_downtrend = input.color(color.white, 'Text', group = g_rsi, inline = 'down')
i_threshold_os = input.int(30, 'Oversold Threshold', minval=0, maxval=49, group = g_rsi)
i_color_os = input.color(#db3240, 'Oversold Background', group = g_rsi, inline = 'os')
i_tcolor_os = input.color(color.white, 'Text', group = g_rsi, inline = 'os')
// --- Individual RSI Settings (MTF Sources) ---
g_rsi1 = 'RSI #1'
i_rsi1_enabled = input.bool(true, title = 'Enabled', group = g_rsi1)
i_rsi1_tf = input.timeframe('5', 'Timeframe', group = g_rsi1)
i_rsi1_len = input.int(30, 'Length', minval = 1, group = g_rsi1)
i_rsi1_src = input.source(close, 'Source', group = g_rsi1) * 10000
v_rsi1 = i_rsi1_enabled ? request.security(syminfo.tickerid, i_rsi1_tf, ta.rsi(i_rsi1_src, i_rsi1_len)) : na
g_rsi2 = 'RSI #2'
i_rsi2_enabled = input.bool(true, title = 'Enabled', group = g_rsi2)
i_rsi2_tf = input.timeframe('15', 'Timeframe', group = g_rsi2)
i_rsi2_len = input.int(30, 'Length', minval = 1, group = g_rsi2)
i_rsi2_src = input.source(close, 'Source', group = g_rsi2) * 10000
v_rsi2 = i_rsi2_enabled ? request.security(syminfo.tickerid, i_rsi2_tf, ta.rsi(i_rsi2_src, i_rsi2_len)) : na
g_rsi3 = 'RSI #3'
i_rsi3_enabled = input.bool(true, title = 'Enabled', group = g_rsi3)
i_rsi3_tf = input.timeframe('60', 'Timeframe', group = g_rsi3)
i_rsi3_len = input.int(30, 'Length', minval = 1, group = g_rsi3)
i_rsi3_src = input.source(close, 'Source', group = g_rsi3) * 10000
v_rsi3 = i_rsi3_enabled ? request.security(syminfo.tickerid, i_rsi3_tf, ta.rsi(i_rsi3_src, i_rsi3_len)) : na
g_rsi4 = 'RSI #4'
i_rsi4_enabled = input.bool(true, title = 'Enabled', group = g_rsi4)
i_rsi4_tf = input.timeframe('240', 'Timeframe', group = g_rsi4)
i_rsi4_len = input.int(30, 'Length', minval = 1, group = g_rsi4)
i_rsi4_src = input.source(close, 'Source', group = g_rsi4) * 10000
v_rsi4 = i_rsi4_enabled ? request.security(syminfo.tickerid, i_rsi4_tf, ta.rsi(i_rsi4_src, i_rsi4_len)) : na
g_rsi5 = 'RSI #5'
i_rsi5_enabled = input.bool(true, title = 'Enabled', group = g_rsi5)
i_rsi5_tf = input.timeframe('D', 'Timeframe', group = g_rsi5)
i_rsi5_len = input.int(30, 'Length', minval = 1, group = g_rsi5)
i_rsi5_src = input.source(close, 'Source', group = g_rsi5) * 10000
v_rsi5 = i_rsi5_enabled ? request.security(syminfo.tickerid, i_rsi5_tf, ta.rsi(i_rsi5_src, i_rsi5_len)) : na
g_rsi6 = 'RSI #6'
i_rsi6_enabled = input.bool(true, title = 'Enabled', group = g_rsi6)
i_rsi6_tf = input.timeframe('W', 'Timeframe', group = g_rsi6)
i_rsi6_len = input.int(30, 'Length', minval = 1, group = g_rsi6)
i_rsi6_src = input.source(close, 'Source', group = g_rsi6) * 10000
v_rsi6 = i_rsi6_enabled ? request.security(syminfo.tickerid, i_rsi6_tf, ta.rsi(i_rsi6_src, i_rsi6_len)) : na
g_rsi7 = 'RSI #7'
i_rsi7_enabled = input.bool(false, title = 'Enabled', group = g_rsi7)
i_rsi7_tf = input.timeframe('W', 'Timeframe', group = g_rsi7)
i_rsi7_len = input.int(30, 'Length', minval = 1, group = g_rsi7)
i_rsi7_src = input.source(close, 'Source', group = g_rsi7) * 10000
v_rsi7 = i_rsi7_enabled ? request.security(syminfo.tickerid, i_rsi7_tf, ta.rsi(i_rsi7_src, i_rsi7_len)) : na
g_rsi8 = 'RSI #8'
i_rsi8_enabled = input.bool(false, title = 'Enabled', group = g_rsi8)
i_rsi8_tf = input.timeframe('W', 'Timeframe', group = g_rsi8)
i_rsi8_len = input.int(30, 'Length', minval = 1, group = g_rsi8)
i_rsi8_src = input.source(close, 'Source', group = g_rsi8) * 10000
v_rsi8 = i_rsi8_enabled ? request.security(syminfo.tickerid, i_rsi8_tf, ta.rsi(i_rsi8_src, i_rsi8_len)) : na
g_rsi9 = 'RSI #9'
i_rsi9_enabled = input.bool(false, title = 'Enabled', group = g_rsi9)
i_rsi9_tf = input.timeframe('W', 'Timeframe', group = g_rsi9)
i_rsi9_len = input.int(30, 'Length', minval = 1, group = g_rsi9)
i_rsi9_src = input.source(close, 'Source', group = g_rsi9) * 10000
v_rsi9 = i_rsi9_enabled ? request.security(syminfo.tickerid, i_rsi9_tf, ta.rsi(i_rsi9_src, i_rsi9_len)) : na
g_rsi10 = 'RSI #10'
i_rsi10_enabled = input.bool(false, title = 'Enabled', group = g_rsi10)
i_rsi10_tf = input.timeframe('W', 'Timeframe', group = g_rsi10)
i_rsi10_len = input.int(30, 'Length', minval = 1, group = g_rsi10)
i_rsi10_src = input.source(close, 'Source', group = g_rsi10) * 10000
v_rsi10 = i_rsi10_enabled ? request.security(syminfo.tickerid, i_rsi10_tf, ta.rsi(i_rsi10_src, i_rsi10_len)) : na
// --- Panel Helper Functions ---
// Function 4: String Position to Constant (Indentation cleaned)
f_StrPositionToConst(_p) =>
switch _p
'Top Left' => position.top_left
'Top Right' => position.top_right
'Top Center' => position.top_center
'Middle Left' => position.middle_left
'Middle Right' => position.middle_right
'Middle Center' => position.middle_center
'Bottom Left' => position.bottom_left
'Bottom Right' => position.bottom_right
'Bottom Center' => position.bottom_center
=> position.bottom_right
// Function 5: Timeframe to Human Readable (Indentation cleaned)
f_timeframeToHuman(_tf) =>
seconds = timeframe.in_seconds(_tf)
if seconds < 60
_tf
else if seconds < 3600
str.tostring(seconds / 60) + 'm'
else if seconds < 86400
str.tostring(seconds / 60 / 60) + 'h'
else
switch _tf
"1D" => "D"
"1W" => "W"
"1M" => "M"
=> str.tostring(_tf)
type TPanel
table src = na
bool vertical_orientation = true
int row = 0
int col = 0
// Method 1: Increment Column (Indentation cleaned)
method incCol(TPanel _panel) =>
if _panel.vertical_orientation
_panel.col += 1
else
_panel.row += 1
// Method 2: Increment Row (Indentation cleaned)
method incRow(TPanel _panel) =>
if not _panel.vertical_orientation
_panel.col += 1
_panel.row := 0
else
_panel.row += 1
_panel.col := 0
// Method 3: Add Cell (Indentation cleaned)
method add(TPanel _panel, string _v1, color _bg1, color _ctext1, string _v2, color _bg2, color _ctext2) =>
table.cell(_panel.src, _panel.col, _panel.row, _v1, text_color = _ctext1, bgcolor = _bg1)
_panel.incCol()
table.cell(_panel.src, _panel.col, _panel.row, _v2, text_color = _ctext2, bgcolor = _bg2)
_panel.incRow()
// Function 6: Background Color
f_bg(_rsi) =>
c_line = na(_rsi) ? i_color_mid :
_rsi >= i_threshold_ob ? i_color_ob :
_rsi >= i_threshold_uptrend ? i_color_uptrend :
_rsi <= i_threshold_os ? i_color_os :
_rsi <= i_threshold_downtrend ? i_color_downtrend :
i_color_mid
// Function 7: Text Color
f_rsi_text_color(_rsi) =>
c_line = na(_rsi) ? i_tcolor_mid :
_rsi >= i_threshold_ob ? i_tcolor_ob :
_rsi >= i_threshold_uptrend ? i_tcolor_uptrend :
_rsi <= i_threshold_os ? i_tcolor_os :
_rsi <= i_threshold_downtrend ? i_tcolor_downtrend :
i_tcolor_mid
f_formatRsi(_rsi) => na(_rsi) ? 'N/A' : str.tostring(_rsi, '0.00')
// --- Panel Execution Logic ---
if barstate.islast
v_panel = TPanel.new(vertical_orientation = i_orientation == 'Vertical')
v_max_rows = 20
v_panel.src := table.new(f_StrPositionToConst(i_position), v_max_rows, v_max_rows, border_width = i_border_width, border_color = i_color_border)
if i_showHeaders
v_panel.add('TF', i_color_header_bg, i_color_header_text, 'RSI', i_color_header_bg, i_color_header_text)
if i_rsi1_enabled
v_panel.add(f_timeframeToHuman(i_rsi1_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi1), f_bg(v_rsi1), f_rsi_text_color(v_rsi1))
if i_rsi2_enabled
v_panel.add(f_timeframeToHuman(i_rsi2_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi2), f_bg(v_rsi2), f_rsi_text_color(v_rsi2))
if i_rsi3_enabled
v_panel.add(f_timeframeToHuman(i_rsi3_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi3), f_bg(v_rsi3), f_rsi_text_color(v_rsi3))
if i_rsi4_enabled
v_panel.add(f_timeframeToHuman(i_rsi4_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi4), f_bg(v_rsi4), f_rsi_text_color(v_rsi4))
if i_rsi5_enabled
v_panel.add(f_timeframeToHuman(i_rsi5_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi5), f_bg(v_rsi5), f_rsi_text_color(v_rsi5))
if i_rsi6_enabled
v_panel.add(f_timeframeToHuman(i_rsi6_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi6), f_bg(v_rsi6), f_rsi_text_color(v_rsi6))
if i_rsi7_enabled
v_panel.add(f_timeframeToHuman(i_rsi7_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi7), f_bg(v_rsi7), f_rsi_text_color(v_rsi7))
if i_rsi8_enabled
v_panel.add(f_timeframeToHuman(i_rsi8_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi8), f_bg(v_rsi8), f_rsi_text_color(v_rsi8))
if i_rsi9_enabled
v_panel.add(f_timeframeToHuman(i_rsi9_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi9), f_bg(v_rsi9), f_rsi_text_color(v_rsi9))
if i_rsi10_enabled
v_panel.add(f_timeframeToHuman(i_rsi10_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi10), f_bg(v_rsi10), f_rsi_text_color(v_rsi10))
if i_debug
t = table.new(position.middle_center, 21, 20, border_width = i_border_width, border_color = i_color_border)
v_panel2 = TPanel.new(t, vertical_orientation = i_orientation == 'Vertical')
v_panel2.add('Debug', i_color_header_bg, i_color_header_text, 'Colors', i_color_header_bg, i_color_header_text)
// Using a tuple array for debugging colors demo
// Final Syntax Correction: Use array.new() and array.set() to avoid 'tuple()' function reference error
v_rows = 5 // We know we have 5 elements
demo = array.new(v_rows, '') // Initialize array with 5 string elements, will hold string representation of the tuple
// We will push the elements as a *string* representation of the tuple, as Pine v6 allows
// and then parse them inside the loop if necessary.
// To preserve the structure (string, float) without the tuple() function:
// We must define two separate arrays if the 'tuple' function is truly unavailable.
tf_array = array.new(v_rows)
rsi_array = array.new(v_rows)
// Populate the arrays
array.set(tf_array, 0, 'Overbought')
array.set(rsi_array, 0, float(i_threshold_ob))
array.set(tf_array, 1, 'Uptrend')
array.set(rsi_array, 1, float(i_threshold_uptrend))
array.set(tf_array, 2, 'No Trend')
array.set(rsi_array, 2, 50.0)
array.set(tf_array, 3, 'Downtrend')
array.set(rsi_array, 3, float(i_threshold_downtrend))
array.set(tf_array, 4, 'Oversold')
array.set(rsi_array, 4, float(i_threshold_os))
// Iterate over the arrays using a simple index
for i = 0 to v_rows - 1
tf = array.get(tf_array, i)
rsi = array.get(rsi_array, i)
v_panel2.add(tf, i_color_tf_bg, i_color_tf_text, f_formatRsi(rsi), f_bg(rsi), f_rsi_text_color(rsi))
RSI HTF Hardcoded (A/B Presets) + Regimes [CHE]RSI HTF Hardcoded (A/B Presets) + Regimes — Higher-timeframe RSI emulation with acceptance-based regime filter and on-chart diagnostics
Summary
This indicator emulates a higher-timeframe RSI on the current chart by resolving hardcoded “HTF-like” lengths from a time-bucket mapping, avoiding cross-timeframe requests. It computes RSI on a resolved length, smooths it with a resolved moving average, and derives a histogram-style difference (RSI minus its smoother). A four-state regime classifier is gated by a dead-band and an acceptance filter requiring consecutive bars before a regime is considered valid. An on-chart table reports the active preset, resolved mapping tag, resolved lengths, and the current filtered regime.
Pine version: v6
Overlay: false
Primary outputs: RSI line, SMA(RSI) line, RSI–SMA histogram columns, reference levels (30/50/70), regime-change alert, info table
Motivation
Cross-timeframe RSI implementations often rely on `request.security`, which can introduce repaint pathways and additional update latency. This design uses deterministic, on-series computation: it infers a coarse target bucket (or uses a forced bucket) and resolves lengths accordingly. The dead-band reduces noise at the decision boundaries (around RSI 50 and around the RSI–SMA difference), while the acceptance filter suppresses rapid flip-flops by requiring sustained agreement across bars.
Differences
Baseline: Standard RSI with a user-selected length on the same timeframe, or HTF RSI via cross-timeframe requests.
Key differences:
Hardcoded preset families and a bucket-based mapping to resolve “HTF-like” lengths on the current chart.
No `request.security`; all calculations run on the chart’s own series.
Regime classification uses two independent signals (RSI relative to 50 and RSI–SMA difference), gated by a configurable dead-band and an acceptance counter.
Always-on diagnostics via a persistent table (optional), showing preset, mapping tag, resolved lengths, and filtered regime.
Practical effect: The oscillator behaves like a slower, higher-timeframe variant with more stable regime transitions, at the cost of delayed recognition around sharp turns (by design).
How it works
1. Bucket selection: The script derives a coarse “target bucket” from the chart timeframe (Auto) or uses a user-forced bucket.
2. Length resolution: A chosen preset defines base lengths (RSI length and smoothing length). A bucket/timeframe mapping resolves a multiplier, producing final lengths used for RSI and smoothing.
3. Oscillator construction: RSI is computed on the resolved RSI length. A moving average of RSI is computed on the resolved smoothing length. The difference (RSI minus its smoother) is used as the histogram series.
4. Regime classification: Four regimes are defined from:
RSI relative to 50 (bullish above, bearish below), with a dead-band around 50
Difference relative to 0 (positive/negative), with a dead-band around 0
These two axes produce strong/weak bull and bear states, plus a neutral state when inside the dead-band(s).
5. Acceptance filter: The raw regime must persist for `n` consecutive bars before it becomes the filtered regime. The alert triggers when the filtered regime changes.
6. Diagnostics and visualization: Histogram columns change shade based on sign and whether the difference is rising/falling. The table displays preset, mapping tag, resolved lengths, and the filtered regime description.
Parameter Guide
Source — Input series for RSI — Default: Close — Smoother sources reduce noise but add lag.
Preset — Base lengths family — Default: A(14/14) — Switch presets to change RSI and smoothing responsiveness.
Target Bucket — Auto or forced bucket — Default: Auto — Force a bucket to lock behavior across chart timeframe changes.
Table X / Table Y — Table anchor — Default: right / top — Move to avoid covering content.
Table Size — Table text size — Default: normal — Increase for presentations, decrease for dense layouts.
Dark Mode — Table theme — Default: enabled — Match chart background for readability.
Show Table — Toggle diagnostics table — Default: enabled — Disable for a cleaner pane.
Epsilon (dead-band) — Noise gate for decisions — Default: 1.0 — Raise to reduce flips near boundaries; lower to react faster.
Acceptance bars (n) — Bars required to confirm a regime — Default: 3 — Higher reduces whipsaw; lower increases reactivity.
Reading
Histogram (RSI–SMA):
Above zero indicates RSI is above its smoother (positive momentum bias).
Below zero indicates RSI is below its smoother (negative momentum bias).
Darker/lighter shading indicates whether the difference is increasing or decreasing versus the previous bar.
RSI vs SMA(RSI):
RSI’s position relative to 50 provides broad directional bias.
RSI’s position relative to its smoother provides momentum confirmation/contra-signal.
Regimes:
Strong bull: RSI meaningfully above 50 and difference meaningfully above 0.
Weak bull: RSI above 50 but difference below 0 (pullback/transition).
Strong bear: RSI meaningfully below 50 and difference meaningfully below 0.
Weak bear: RSI below 50 but difference above 0 (pullback/transition).
Neutral: inside the dead-band(s).
Table:
Use it to validate the active preset, the mapping tag, the resolved lengths, and the filtered regime output.
Workflows
Trend confirmation:
Favor long bias when strong bull is active; favor short bias when strong bear is active.
Treat weak regimes as pullback/transition context rather than immediate reversals, especially with higher acceptance.
Structure + oscillator:
Combine regimes with swing structure, breakouts, or a baseline trend filter to avoid trading against dominant structure.
Use regime change alerts as a “state change” notification, not as a standalone entry.
Multi-asset consistency:
The bucket mapping helps keep a consistent “feel” across different chart timeframes without relying on external timeframe series.
Behavior/Constraints
Intrabar behavior:
No cross-timeframe requests are used; values can still evolve on the live bar and settle at close depending on your chart/update timing.
Warm-up requirements:
Large resolved lengths require sufficient history to seed RSI and smoothing. Expect a warm-up period after loading or switching symbols/timeframes.
Latency by design:
Dead-band and acceptance filtering reduce noise but can delay regime changes during sharp reversals.
Chart types:
Intended for standard time-based charts. Non-time-based or synthetic chart types (e.g., Heikin-Ashi, Renko, Kagi, Point-and-Figure, Range) can distort oscillator behavior and regime stability.
Tuning
Too many flips near decision boundaries:
Increase Epsilon and/or increase Acceptance bars.
Too sluggish in clean trends:
Reduce Acceptance bars by one, or choose a faster preset (shorter base lengths).
Too sensitive on lower timeframes:
Choose a slower preset (longer base lengths) or force a higher Target Bucket.
Want less clutter:
Disable the table and keep only the alert + plots you need.
What it is/isn’t
This indicator is a regime and visualization layer for RSI using higher-timeframe emulation and stability gates. It is not a complete trading system and does not provide position sizing, risk management, or execution rules. Use it alongside structure, liquidity/volatility context, and protective risk controls.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Best regards and happy trading
Chervolino.
RSI Divergence (Regular + Hidden, @darshakssc)This indicator detects regular and hidden divergence between price and RSI, using confirmed swing highs and swing lows (pivots) on both series. It is designed as a visual analysis tool, not as a signal generator or trading system.
The goal is to highlight moments where price action and RSI momentum move in different directions, which some traders study as potential early warnings of trend exhaustion or trend continuation. All divergence signals are only drawn after a pivot is fully confirmed, helping to avoid repainting.
The script supports four divergence types:
Regular Bullish Divergence
Regular Bearish Divergence
Hidden Bullish Divergence
Hidden Bearish Divergence
Each type is drawn with a different color and labeled clearly on the chart.
Core Concepts Used
1. RSI (Relative Strength Index)
The script uses standard RSI, calculated on a configurable input source (default: close) and length (default: 14).
RSI is treated purely as a momentum oscillator – the script does not enforce oversold/overbought interpretations.
2. Pivots / Swings
The indicator defines swing highs and swing lows using ta.pivothigh() and ta.pivotlow():
A swing high forms when a bar’s high is higher than a specified number of bars to the left and to the right.
A swing low forms when a bar’s low is lower than a specified number of bars to the left and to the right.
The same pivot logic is applied to both price and RSI.
Because pivots require “right side” bars to form, the indicator:
Waits for the full pivot to be confirmed (no forward-looking referencing beyond the rightBars parameter).
Only then considers that pivot for divergence detection.
This helps prevent repainting of divergence signals.
How Divergence Is Detected
The script always uses the two most recent confirmed pivots for both price and RSI. It tracks:
Last two swing lows in price and RSI
Last two swing highs in price and RSI
Their pivot bar indexes and values
A basic minimum distance filter between the pivots (in bars) is also applied to reduce noise.
1. Regular Bullish Divergence
Condition:
Price makes a lower low (LL) between the last two lows
RSI makes a higher low (HL) over the same two pivot lows
The RSI difference between the two lows is greater than or equal to the user-defined minimum (Min RSI Difference)
The two low pivots are separated by at least Min Bars Between Swings
Interpretation:
Some traders view this as bearish momentum weakening while price prints a new low. The script only marks this structure; it does not assume any outcome.
On the chart:
Drawn between the previous and current price swing lows
Labeled: “Regular Bullish”
Color: Green (by default in the script)
2. Regular Bearish Divergence
Condition:
Price makes a higher high (HH) between the last two highs
RSI makes a lower high (LH) over the same two pivot highs
RSI difference exceeds Min RSI Difference
Pivots are separated by at least Min Bars Between Swings
Interpretation:
Some traders see this as bullish momentum weakening while price prints a new high. Again, the indicator simply highlights this divergence.
On the chart:
Drawn between the previous and current price swing highs
Labeled: “Regular Bearish”
Color: Red
3. Hidden Bullish Divergence
Condition:
Price makes a higher low (HL) between the last two lows
RSI makes a lower low (LL) over the same two lows
RSI difference exceeds Min RSI Difference
Pivots meet the minimum distance requirement
Interpretation:
Some traders interpret hidden bullish divergence as a potential trend continuation signal within an existing uptrend. The indicator does not classify trends; it just tags the pattern when price and RSI pivots meet the conditions.
On the chart:
Drawn between the previous and current price swing lows
Labeled: “Hidden Bullish”
Color: Teal
4. Hidden Bearish Divergence
Condition:
Price makes a lower high (LH) between the last two highs
RSI makes a higher high (HH) over those highs
RSI difference exceeds Min RSI Difference
Pivots meet the minimum distance filter
Interpretation:
Some traders associate hidden bearish divergence with potential downtrend continuation, but again, this script only visualizes the structure.
On the chart:
Drawn between the previous and current price swing highs
Labeled: “Hidden Bearish”
Color: Orange
Inputs and Settings
1. RSI Settings
RSI Source – Price source for RSI (default: close).
RSI Length – Period for RSI calculation (default: 14).
These control the responsiveness of the RSI. Shorter lengths may show more frequent divergence; longer lengths smooth the signal.
2. Swing / Pivot Settings
Left Swing Bars (leftBars)
Right Swing Bars (rightBars)
These define how strict the pivot detection is:
Higher values → fewer, more significant swings
Lower values → more swings, more signals
Because the script uses ta.pivothigh / ta.pivotlow, a pivot is only confirmed once rightBars candles have closed after the candidate bar. This is an intentional design to reduce repainting and make pivots stable.
3. Divergence Filters
Min Bars Between Swings (Min Bars Between Swings)
Requires a minimum bar distance between the two pivots used to form divergence.
Helps avoid clutter from pivots that are too close to each other.
Min RSI Difference (Min RSI Difference)
Requires a minimum absolute difference between RSI values at the two pivots.
Filters out very minor changes in RSI that may not be meaningful.
4. Visibility Toggles
Show Regular Divergence
Show Hidden Divergence
You can choose to display:
Both regular and hidden divergence, or
Only regular divergence, or
Only hidden divergence
This is useful if you prefer to focus on one type of structure.
5. Alerts
Enable Alerts
When enabled, the script exposes four alert conditions:
Regular Bullish Divergence Confirmed
Regular Bearish Divergence Confirmed
Hidden Bullish Divergence Confirmed
Hidden Bearish Divergence Confirmed
Each alert fires after the corresponding divergence has been fully confirmed based on the pivot and bar confirmation logic. The script does not issue rapid or intrabar signals; it uses confirmed historical conditions.
You can set these in the TradingView Alerts dialog by choosing this indicator and selecting the desired condition.
Visual Elements
On the main price chart, the indicator:
Draws a line between the two price pivots involved in the divergence.
Adds a small label at the latest pivot, describing the divergence type.
Colors are used to differentiate divergence categories (Green/Red/Teal/Orange).
This makes it easy to visually scan the chart for zones where price and RSI have diverged.
What to Look For (Analytical Use)
This indicator is intended as a visual helper, especially when:
You want to quickly see where price made new highs or lows while RSI did not confirm them in the same way.
You are studying momentum exhaustion, shifts, or continuation using RSI divergence as one of many tools.
You want to compare divergence occurrences across different timeframes or instruments.
Important:
The indicator does not tell you when to enter or exit trades.
It does not rank or validate the “quality” of a divergence.
Divergence can persist or fail; it is not a guarantee of reversal or continuation.
Many traders combine divergence analysis with:
Higher timeframe context
Trend filters (moving averages, structure)
Support/resistance zones or liquidity areas
Volume, structure breaks, or other confirmations
Disclaimer
This script is provided for educational and analytical purposes only.
It does not constitute financial advice, trading advice, or investment recommendations.
No part of this indicator is intended to suggest, encourage, or guarantee any specific trading outcome.
Users are solely responsible for their own decisions and risk management.
RSI Trendlines and Divergences█OVERVIEW
The "RSI Trendlines and Divergences" indicator is an advanced technical analysis tool that leverages the Relative Strength Index (RSI) to draw trendlines and detect divergences. Designed for traders seeking precise market signals, the indicator identifies key pivot points on the RSI chart, draws trendlines between pivots, and detects bullish and bearish divergences. It offers flexible settings, background coloring for breakout signals, and divergence labels, supported by alerts for key events. The indicator is universal and works across all markets (stocks, forex, cryptocurrencies) and timeframes.
█CONCEPTS
The indicator was developed to provide an alternative signal source for the RSI oscillator. Trendline breakouts and bounces off trendlines offer a broader perspective on potential price behavior. Combining these with traditional RSI signal interpretation can serve as a foundation for creating various trading strategies.
█FEATURES
- RSI and Pivot Calculation: Calculates RSI based on the selected source price (default: close) with a customizable period (default: 14). Identifies pivot points on RSI and price for trendlines and divergences.
- RSI Trendlines: Draws trendlines connecting RSI pivots (upper for downtrends, lower for uptrends) with optional extension (default: 30 bars). The trendline appears and generates a signal only after the first RSI crossover. Lines are colored (red for upper, green for lower).
- Trendline Fill: Widens the trendline with a tolerance margin expressed in RSI points, reducing signal noise and visually highlighting trend zones. Breaking this zone is a condition for generating signals, minimizing false signals. The tolerance margin can be increased or decreased.
- Divergence Detection: Identifies bullish and bearish divergences based on RSI and price pivots, displaying labels (“Bull” for bullish, “Bear” for bearish) with adjustable transparency. Divergence labels appear with a delay equal to the specified pivot length (default: 5). Higher values yield stronger signals but with greater delay.
- Breakout Signals: Generates signals when RSI crosses the trendline (bullish for upper lines, bearish for lower lines), with background coloring for signal confirmation.
- Alerts: Built-in alerts for:
Detection of bullish and bearish divergences.
Upper trendline crossover (bullish signal).
Lower trendline crossover (bearish signal).
- Customization: Allows adjustment of RSI length, pivot settings, line colors, fills, labels, and transparency of signals and background.
█HOW TO USE
Add the indicator to your TradingView chart via the Pine Editor or Indicators menu.
Configuring Settings.
RSI Settings
- RSI Length: Period for RSI calculation (default: 14).
- SMA Length: Period for RSI moving average (default: 9).
- Source: Source price for RSI (default: close).
Pivot Settings for Trend
- Left Bars for Pivot: Number of bars back for detecting pivots (default: 10).
- Right Bars for Pivot: Number of bars forward for confirming pivots (default: 10).
- Extension after Second Pivot: Number of bars to extend the trendline (default: 30, 0 = none). Extension increases the number of signals, while shortening reduces them.
- Tolerance: Deviation in RSI points to widen the breakout margin, reducing signal noise (default: 3.0).
Divergence Settings
- Enable Divergence Detection: Enables/disables divergence detection (default: enabled).
- Pivot Length for Divergence: Pivot period for divergences (default: 5).
Style Settings
- Upper Trendline Color: Color for downtrend lines (default: red).
- Upper Fill Color: Fill color for upper lines (default: red, transparency 70).
- Lower Trendline Color: Color for uptrend lines (default: green).
- Lower Fill Color: Fill color for lower lines (default: green, transparency 70).
- SMA Color: Color for RSI moving average (default: yellow).
- Bullish Divergence Color: Color for bullish labels (default: green).
- Bearish Divergence Color: Color for bearish labels (default: red).
- Text Color: Color for label text (default: white).
- Divergence Label Transparency: Transparency of labels (0-100, default: 40).
- Signal Background Transparency: Transparency of breakout signal background (0-100, default: 80).
Interpreting Signals
- Trendlines: Upper lines (red) indicate RSI downtrends, lower lines (green) indicate uptrends. The trendline appears and generates a signal only after the first RSI crossover. Trendline breakouts suggest potential trend reversals.
- Divergences: “Bull” labels indicate bullish divergence (potential rise), “Bear” labels indicate bearish divergence (potential decline), with a delay based on pivot length (default: 5). Divergences serve as confirmation or warning of trend reversal, not as standalone signals.
- Signal Background: Green background signals bullish breakouts, red background signals bearish breakouts.
- RSI Levels: Horizontal lines at 70 (overbought), 50 (midline), and 30 (oversold) help assess market zones.
- Alerts: Set up alerts in TradingView for divergences or trendline breakouts.
Combining with Other Tools: Use with support/resistance levels, Fibonacci levels, or other indicators for signal confirmation.
█APPLICATIONS
The "RSI Trendlines and Divergence" indicator is designed to identify trends and potential reversal points, supporting both trend-following and reversal strategies:
- Trend Confirmation: Trendlines indicate the RSI trend direction, with breakouts signaling potential reversals. The indicator is functional in traditional RSI usage, allowing classic RSI interpretation (e.g., returning from overbought/oversold zones). Combining trendline breakouts with RSI signal levels, such as a return from overbought or oversold zones paired with a trendline breakout, strengthens the signal.
- Divergence Detection: Divergences serve as confirmation or warning of trend reversal, not as standalone signals.
█NOTES
- Adjust settings (e.g., RSI length, pivots, tolerance) to suit your trading style and timeframe.
- Combine with other technical analysis tools to enhance signal accuracy.
RSI 3 Time FrameRSI 3 Time Frames Indicator
Overview
The RSI 3 Time Frames Indicator is designed to provide traders with a comprehensive view of the Relative Strength Index (RSI) across three different timeframes: Ripple (short-term), Wave (medium-term), and Tide (long-term). By combining insights from multiple timeframes on a single chart, traders can identify momentum, overbought/oversold conditions, and confluence zones for better decision-making.
This indicator is highly customizable, enabling you to adjust RSI timeframes, line colors, thickness, and reference levels such as oversold/overbought areas.
Features
Multi-Timeframe RSI Analysis:
Ripple RSI: Captures short-term momentum (default: 5-minute RSI) for quick entries and scalping.
Wave RSI: Provides medium-term RSI perspective (default: 15-minute RSI) for day trading setups.
Tide RSI: Gives broader trends and momentum shifts (default: 60-minute RSI) suitable for swing trading.
Key RSI Reference Levels:
Horizontal lines show critical RSI levels to help traders interpret conditions:
Oversold Zone:
20 (Oversold Extreme) → Green dotted line.
30 (Oversold) → Green dotted line.
Neutral Zone:
40 (Neutral Low) → Orange dotted line.
50 (Midpoint) → Black dotted line.
60 (Neutral High) → Orange dotted line.
Overbought Zone:
70 (Overbought) → Red dotted line.
80 (Overbought Extreme) → Red dotted line.
Customizable Options:
Adjust RSI line color, width, and timeframes to fit your trading needs.
Customize horizontal level line colors and styles (dotted, dashed, or solid).
Easy-to-Interpret Design:
All RSI lines and reference levels are visualized clearly to help you identify overbought/oversold zones, neutral levels, and overall market momentum across multiple perspectives.
Recommended Use Cases
Scalping:
Use Ripple RSI (default: 5-minute timeframe) for short-term insights into momentum-driven setups.
Day Trading:
Use Wave RSI (default: 15-minute timeframe) to analyze medium-term trends and spot entries/exits.
Swing Trading:
Use Tide RSI (default: 60-minute timeframe) for longer-term momentum shifts and confluence zones.
Multi-Timeframe Confirmation :
Look for alignment among RSI values across Ripple, Wave, and Tide to increase confidence in your trades.
How to Use the RSI 3 Time Frames Indicator
Add the Indicator to Your Chart: Import the RSI 3 Time Frames Indicator into TradingView.
Customize Settings:
Choose Ripple, Wave, and Tide RSI timeframes according to your strategy (e.g., 5-minute for short-term, 15-minute for medium-term).
Modify line colors, styles, and thickness for better clarity.
Enable/disable RSI lines or reference levels based on preference.
Interpret RSI Values Across Timeframes:
Identify overbought levels (above 70) for potential reversals.
Spot oversold levels (below 30) for buying opportunities.
Use the neutral midpoint (50) for balanced momentum, indicating neither buyers nor sellers dominate.
Combine with Other Tools:
Enhance your trading strategy by using RSI signals with price action tools like support/resistance zones, trendlines, and candlestick patterns.
Example Scenario
Let’s say you’re trading Bitcoin (BTC/USD):
Ripple RSI shows momentum building but nearing overbought (above 70).
Wave RSI confirms shorter momentum trends (above 60).
Tide RSI shows divergence as the longer timeframe RSI is falling toward oversold (below 40).
This alignment across timeframes helps you make informed decisions, such as waiting for Ripple RSI to cool off before entering a longer-term trade based on the Tide RSI oversold condition.
Disclaimer
The RSI 3 Time Frames Indicator is provided for educational and informational purposes only. It is not intended as financial advice or as a definitive trading signal. This tool should not be used in isolation for decision-making. Trading is inherently risky, and while RSI can offer valuable insights into market trends, traders should use proper risk management strategies and include other tools such as volume-based indicators, price action, fundamental research, and macroeconomic analysis in their decision-making process.
Always test any new strategies in a simulated or paper trading environment before applying them to real markets. Remember to consult with a licensed financial professional if you’re unsure whether trading is suitable for your financial situation.
Key Benefits
Enhanced flexibility with customizable RSI settings.
Clear visualization of momentum across short, medium, and long-term timeframes.
Helps traders avoid tunnel vision by providing a multi-timeframe perspective.
Final Note
The RSI 3 Time Frames Indicator is a powerful, easy-to-use tool for traders who want to leverage RSI across multiple timeframes to pinpoint high-probability setups. Customize the settings based on your strategy and use this as a companion tool for your overall trading system.
We hope you enjoy using this indicator to improve your trading and analysis! Happy trading! 😊
RSI Dynamic Bands█ OVERVIEW
The "RSI Dynamic Bands" indicator is a variant of the Relative Strength Index (RSI) oscillator that brings its signals directly onto the price chart. It displays dynamic bands around the price, adjusted based on RSI levels, enabling easy identification of potential overbought or oversold conditions. The indicator also integrates a multi-timeframe RSI table, facilitating the analysis of trend strength across different timeframes.
█ CONCEPTS
The "RSI Dynamic Bands" indicator is designed to simplify the interpretation of price levels in the context of support and resistance zones, which can be correlated with other technical indicators and RSI values. Since the price itself does not display RSI values, a table showing RSI for four selected timeframes has been added, allowing traders to quickly assess trend strength across different time intervals. The most effective approach is to combine the indicator with other technical analysis tools, such as Fibonacci levels or pivot points, to confirm signals when the price approaches the bands and RSI values indicate a potential reversal.
Band Calculation
The bands are calculated based on the current closing price and RSI values, incorporating dynamic scaling to better adapt to market conditions. The formulas for the bands are as follows:
• Upper Band: close + (rsiUpper - rsi) * scaleFactor, where rsiUpper is the upper RSI level (default: 70), and scaleFactor accounts for market volatility.
• Lower Band: close + (rsiLower - rsi) * scaleFactor, where rsiLower is the lower RSI level (default: 30).
• Midline: The arithmetic average of the upper and lower bands: (upperBand + lowerBand) / 2.
Why Scaling? Without scaling, the bands would be chaotic and jagged, making them difficult to interpret. Scaling smooths the bands, making them wider during periods of high volatility and narrower during consolidation, better reflecting potential support and resistance levels.
Indicator Features
• Dynamic Price Bands: The bands adapt to market conditions, facilitating the identification of key price levels.
• Multi-Timeframe RSI Table: Displays RSI values for four selected timeframes (default: 15m, 1h, 4h, Daily), enabling comparison of trend strength across different perspectives.
• Style Customization: Users can adjust band colors, line thickness, and toggle the visibility of bands, fills, and the table.
How to Set Up the Indicator
1 — Add the "RSI Dynamic Bands" indicator to your TradingView chart.
2 — Configure parameters in the settings, such as RSI length, upper/lower levels, and scaling multiplier, to match your trading style.
3 — Enable or disable the display of bands, fills, or the RSI table based on your needs.
4 — Adjust band and table colors in the input section and line thickness in the "Style" section to better align the indicator with your chart.
█ OTHER SECTIONS
FEATURES
• RSI Length: The period for calculating RSI (default: 14).
• RSI Levels: Thresholds for overbought (default: 70) and oversold (default: 30).
• Scaling Multiplier: Adjusts bands based on market volatility (default: 0.15).
• Table Timeframes: Select four timeframes for the RSI table (default: 15m, 1h, 4h, Daily).
• Style Options: Customize band colors, fills, table, and line thickness.
HOW TO USE
Add the indicator to your chart, configure the parameters, and observe price interactions with the bands to identify potential entry and exit points. The RSI table allows you to compare RSI values across different timeframes, aiding in trading decisions. The most effective approach is to combine the indicator with other technical analysis tools, such as Fibonacci levels or pivot points, to confirm signals when the price approaches the bands and RSI values indicate a potential reversal.
Trading Strategies:
• Scalping: Use lower timeframes (e.g., 5m, 15m) in the RSI table to quickly identify short-term lows and highs. Wait for the price to approach the lower band in the RSI oversold zone, with RSI on lower timeframes starting to rise, and other tools, such as Fibonacci levels (e.g., 38.2%) or pivot points, confirming support.
• Medium-Term Trading: Focus on 1h and 4h timeframes. Look for confirmation of a low on a lower timeframe (e.g., 1h), where RSI indicates oversold conditions or starts rising, then check if RSI on a higher timeframe (e.g., 4h) confirms the trend. Confirmation from other tools, such as a Fibonacci level (e.g., 50%) or pivot point near the bands, strengthens the signal.
• Long-Term Trading: Use Daily and higher timeframes (e.g., Weekly). Wait for all relevant timeframes to confirm a low (e.g., RSI near oversold and price at the lower band), with lower timeframes (e.g., 4h) showing rising RSI. Other tools, such as Fibonacci levels (e.g., 61.8%) or pivot points near the bands, can further confirm a trend reversal signal.
RSI WMA VWMA Divergence Indicator// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Kenndjk
//@version=6
indicator(title="RSI WMA VWMA Divergence Indicator", shorttitle="Kenndjk", format=format.price, precision=2)
oscType = input.string("RSI", "Oscillator Type", options = , group="General Settings")
// RSI Settings
rsiGroup = "RSI Settings"
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group=rsiGroup)
rsiSourceInput = input.source(close, "Source", group=rsiGroup)
// WMA VWMA
wmaLength = input.int(9, "WMA Length", minval=1, group="WMA Settings")
vwmaLength = input.int(3, "VWMA Length", minval=1, group="WMA Settings")
wma = ta.wma(close, wmaLength)
vwma = ta.vwma(close, vwmaLength)
useVWMA = input.bool(true, "Use VWMA for Divergence (when WMA + VWMA mode)", group="WMA Settings")
// Oscillator selection
rsi = ta.rsi(rsiSourceInput, rsiLengthInput) // Calculate RSI always, but use conditionally
osc = oscType == "RSI" ? rsi : useVWMA ? vwma : wma
// RSI plots (conditional)
isRSI = oscType == "RSI"
rsiPlot = plot(isRSI ? rsi : na, "RSI", color=isRSI ? #7E57C2 : na)
rsiUpperBand = hline(isRSI ? 70 : na, "RSI Upper Band", color=isRSI ? #787B86 : na)
midline = hline(isRSI ? 50 : na, "RSI Middle Band", color=isRSI ? color.new(#787B86, 50) : na)
rsiLowerBand = hline(isRSI ? 30 : na, "RSI Lower Band", color=isRSI ? #787B86 : na)
fill(rsiUpperBand, rsiLowerBand, color=isRSI ? color.rgb(126, 87, 194, 90) : na, title="RSI Background Fill")
midLinePlot = plot(isRSI ? 50 : na, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = isRSI ? color.new(color.green, 0) : na, bottom_color = isRSI ? color.new(color.green, 100) : na, title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = isRSI ? color.new(color.red, 100) : na, bottom_color = isRSI ? color.new(color.red, 0) : na, title = "Oversold Gradient Fill")
// WMA VWMA plots
wmaColor = oscType != "RSI" ? (useVWMA ? color.new(color.blue, 70) : color.blue) : na
wmaWidth = useVWMA ? 1 : 2
vwmaColor = oscType != "RSI" ? (useVWMA ? color.orange : color.new(color.orange, 70)) : na
vwmaWidth = useVWMA ? 2 : 1
plot(oscType != "RSI" ? wma : na, "WMA", color=wmaColor, linewidth=wmaWidth)
plot(oscType != "RSI" ? vwma : na, "VWMA", color=vwmaColor, linewidth=vwmaWidth)
// Smoothing MA inputs (only for RSI)
GRP = "Smoothing (RSI only)"
TT_BB = "Only applies when 'Show Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maLengthSMA = input.int(14, "SMA Length", minval=1, group=GRP, display=display.data_window)
maLengthEMA = input.int(14, "EMA Length", minval=1, group=GRP, display=display.data_window)
maLengthRMA = input.int(14, "SMMA (RMA) Length", minval=1, group=GRP, display=display.data_window)
maLengthWMA = input.int(14, "WMA Length", minval=1, group=GRP, display=display.data_window)
maLengthVWMA = input.int(14, "VWMA Length", minval=1, group=GRP, display=display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval=0.001, maxval=50, step=0.5, tooltip=TT_BB, group=GRP, display=display.data_window)
showSMA = input.bool(false, "Show SMA", group=GRP)
showEMA = input.bool(false, "Show EMA", group=GRP)
showRMA = input.bool(false, "Show SMMA (RMA)", group=GRP)
showWMAsmooth = input.bool(false, "Show WMA", group=GRP)
showVWMAsmooth = input.bool(false, "Show VWMA", group=GRP)
showBB = input.bool(false, "Show SMA + Bollinger Bands", group=GRP, tooltip=TT_BB)
// Smoothing MA Calculations
sma_val = (showSMA or showBB) and isRSI ? ta.sma(rsi, maLengthSMA) : na
ema_val = showEMA and isRSI ? ta.ema(rsi, maLengthEMA) : na
rma_val = showRMA and isRSI ? ta.rma(rsi, maLengthRMA) : na
wma_val = showWMAsmooth and isRSI ? ta.wma(rsi, maLengthWMA) : na
vwma_val = showVWMAsmooth and isRSI ? ta.vwma(rsi, maLengthVWMA) : na
smoothingStDev = showBB and isRSI ? ta.stdev(rsi, maLengthSMA) * bbMultInput : na
// Smoothing MA plots
plot(sma_val, "RSI-based SMA", color=(showSMA or showBB) ? color.yellow : na, display=(showSMA or showBB) ? display.all : display.none, editable=(showSMA or showBB))
plot(ema_val, "RSI-based EMA", color=showEMA ? color.purple : na, display=showEMA ? display.all : display.none, editable=showEMA)
plot(rma_val, "RSI-based RMA", color=showRMA ? color.red : na, display=showRMA ? display.all : display.none, editable=showRMA)
plot(wma_val, "RSI-based WMA", color=showWMAsmooth ? color.blue : na, display=showWMAsmooth ? display.all : display.none, editable=showWMAsmooth)
plot(vwma_val, "RSI-based VWMA", color=showVWMAsmooth ? color.orange : na, display=showVWMAsmooth ? display.all : display.none, editable=showVWMAsmooth)
bbUpperBand = plot(showBB ? sma_val + smoothingStDev : na, title="Upper Bollinger Band", color=showBB ? color.green : na, display=showBB ? display.all : display.none, editable=showBB)
bbLowerBand = plot(showBB ? sma_val - smoothingStDev : na, title="Lower Bollinger Band", color=showBB ? color.green : na, display=showBB ? display.all : display.none, editable=showBB)
fill(bbUpperBand, bbLowerBand, color=showBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display=showBB ? display.all : display.none, editable=showBB)
// Divergence Settings
divGroup = "Divergence Settings"
calculateDivergence = input.bool(true, title="Calculate Divergence", group=divGroup, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
lookbackLeft = input.int(5, "Pivot Lookback Left", minval=1, group=divGroup)
lookbackRight = input.int(5, "Pivot Lookback Right", minval=1, group=divGroup)
rangeLower = input.int(5, "Min Range for Divergence", minval=0, group=divGroup)
rangeUpper = input.int(60, "Max Range for Divergence", minval=1, group=divGroup)
showHidden = input.bool(true, "Show Hidden Divergences", group=divGroup)
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_inRange(cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
bool plFound = false
bool phFound = false
bool bullCond = false
bool bearCond = false
bool hiddenBullCond = false
bool hiddenBearCond = false
float oscLBR = na
float lowLBR = na
float highLBR = na
float prevPlOsc = na
float prevPlLow = na
float prevPhOsc = na
float prevPhHigh = na
if calculateDivergence
plFound := not na(ta.pivotlow(osc, lookbackLeft, lookbackRight))
phFound := not na(ta.pivothigh(osc, lookbackLeft, lookbackRight))
oscLBR := osc
lowLBR := low
highLBR := high
prevPlOsc := ta.valuewhen(plFound, oscLBR, 1)
prevPlLow := ta.valuewhen(plFound, lowLBR, 1)
prevPhOsc := ta.valuewhen(phFound, oscLBR, 1)
prevPhHigh := ta.valuewhen(phFound, highLBR, 1)
// Regular Bullish
oscHL = oscLBR > prevPlOsc and _inRange(plFound )
priceLL = lowLBR < prevPlLow
bullCond := priceLL and oscHL and plFound
// Regular Bearish
oscLL = oscLBR < prevPhOsc and _inRange(phFound )
priceHH = highLBR > prevPhHigh
bearCond := priceHH and oscLL and phFound
// Hidden Bullish
oscLL_hidden = oscLBR < prevPlOsc and _inRange(plFound )
priceHL = lowLBR > prevPlLow
hiddenBullCond := priceHL and oscLL_hidden and plFound and showHidden
// Hidden Bearish
oscHH_hidden = oscLBR > prevPhOsc and _inRange(phFound )
priceLH = highLBR < prevPhHigh
hiddenBearCond := priceLH and oscHH_hidden and phFound and showHidden
// Plot divergences (lines and labels on pane)
if bullCond
leftBar = ta.valuewhen(plFound, bar_index , 1)
line.new(leftBar, prevPlOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bullColor, width=2)
label.new(bar_index , oscLBR, "R Bull", style=label.style_label_up, color=noneColor, textcolor=textColor)
if bearCond
leftBar = ta.valuewhen(phFound, bar_index , 1)
line.new(leftBar, prevPhOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bearColor, width=2)
label.new(bar_index , oscLBR, "R Bear", style=label.style_label_down, color=noneColor, textcolor=textColor)
if hiddenBullCond
leftBar = ta.valuewhen(plFound, bar_index , 1)
line.new(leftBar, prevPlOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bullColor, width=2, style=line.style_dashed)
label.new(bar_index , oscLBR, "H Bull", style=label.style_label_up, color=noneColor, textcolor=textColor)
if hiddenBearCond
leftBar = ta.valuewhen(phFound, bar_index , 1)
line.new(leftBar, prevPhOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bearColor, width=2, style=line.style_dashed)
label.new(bar_index , oscLBR, "H Bear", style=label.style_label_down, color=noneColor, textcolor=textColor)
// Alert conditions
alertcondition(bullCond, title="Regular Bullish Divergence", message="Found a new Regular Bullish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(bearCond, title="Regular Bearish Divergence", message="Found a new Regular Bearish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(hiddenBullCond, title="Hidden Bullish Divergence", message="Found a new Hidden Bullish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(hiddenBearCond, title="Hidden Bearish Divergence", message="Found a new Hidden Bearish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
RSI Candlestick Oscillator [LuxAlgo]The RSI Candlestick Oscillator displays a traditional Relative Strength Index (RSI) as candlesticks. This indicator references OHLC data to locate each candlestick point relative to the current RSI Value, leading to a more accurate representation of the Open, High, Low, and Close price of each candlestick in the context of RSI.
In addition to the candlestick display, Divergences are detected from the RSI candlestick highs and lows and can be displayed over price on the chart.
🔶 USAGE
Translating candlesticks into the RSI oscillator is not a new concept and has been attempted many times before. This indicator stands out because of the specific method used to determine the candlestick OHLC values. When compared to other RSI Candlestick indicators, you will find that this indicator clearly and definitively correlates better to the on-chart price action.
Traditionally, the RSI indicator is simply one running value based on (typically) the close price of the chart. By introducing high, low, and open values into the oscillator, we can better gauge the specific price action throughout the intrabar movements.
Interactions with the RSI levels can now take multiple forms, whether it be a full-bodied breakthrough or simply a wick test. Both can provide a new analysis of price action alongside RSI.
An example of wick interactions and full-bodied interactions can be seen below.
As a result of the candlestick display, divergences become simpler to spot. Since the candlesticks on the RSI closely resemble the candlesticks on the chart, when looking for divergence between the chart and RSI, it is more obvious when the RSI and price are diverging.
The divergences in this indicator not only show on the RSI oscillator, but also overlay on the price chart for clearer understanding.
🔹 Filtering Divergence
With the candlesticks generating high and low RSI values, we can better sense divergences from price, since these points are generally going to be more dramatic than the (close) RSI value.
This indicator displays each type of divergence:
Bullish Divergence
Bearish Divergence
Hidden Bullish Divergence
Hidden Bearish Divergence
From these, we get many less-than-useful indications, since every single divergence from price is not necessarily of great importance.
The Divergence Filter disregards any divergence detected that does not extend outside the RSI upper or lower values.
This does not replace good judgment, but this filter can be helpful in focusing attention towards the extremes of RSI for potential reversal spotting from divergence.
🔶 DETAILS
In order to get the desired results for a display that resembles price action while following RSI, we must scale. The scaling is the most important part of this indicator.
To summarize the process:
Identify a range on Price and RSI
Consider them as equal to create a scaling factor
Use the scaling factor to locate RSI's "Price equivalent" Upper, Lower, & Mid on the Chart
Use those prices (specifically the RSI Mid) to check how far each OHLC value lies from it
Use those differences to translate the price back to the RSI Oscillator, pinning the OHLC values at their relative location to our anchor (RSI Mid)
🔹 RSI Channel
To better understand, and for your convenience, the indicator includes the option to display the RSI Channel on the chart. This channel helps to visualize where the scaled RSI values are relative to price.
If you analyze the RSI channel, you are likely to notice that the price movement throughout the channel matches the same movement witnessed in the RSI Oscillator below. This makes sense since they are the exact same thing displayed on different scales.
🔹 Scaling the Open
While the scaling method used is important, and provides a very close view of the real price bar's relative locations on the RSI oscillator… It is designed for a single purpose.
The scaling does NOT make the price candles display perfectly on the RSI oscillator.
The largest place where this is noticeable is with the opening of each candle.
For this reason, we have included a setting that modifies the opening of each RSI candle to be more accurate to the chart's price candles.
This setting positions the current bar's opening RSI candlestick value accurately relative to the price's open location to the previous closing price. As seen below.
🔶 SETTINGS
🔹 RSI Candles
RSI Length: Sets the Length for the RSI Oscillator.
Overbought/Oversold Levels: Sets the Overbought and Oversold levels for the RSI Oscillator.
Scale Open for Chart Accuracy: As described above, scales the open of each candlestick bar to more accurately portray the chart candlesticks.
🔹 Divergence
Show on Chart: Choose to display divergence line on the chart as well as on the Oscillator.
Divergence Length: Sets the pivot width for divergence detection. Normal Fractal Pivot Detection is used.
Divergence Style: Change color and line style for Regular and Hidden divergences, as well as toggle their display.
Divergence Filter: As described above, toggle on or off divergence filtering.
🔹 RSI Channel
Toggle: Display RSI Channel on Chart.
Color: Change RSI Channel Color
RSI Plus +
Description:
RSI Plus + is an enhanced Relative Strength Index (RSI) indicator that provides a multi-timeframe view of RSI values across various timeframes. It highlights overbought and oversold conditions for a more comprehensive analysis, with additional focus on the Relative RSI (RRSI), which compares the current RSI to the average RSI. This provides insight into relative market strength or weakness, giving traders a clear view of how the current market conditions compare to historical averages. The indicator is ideal for spotting potential market reversals, pullbacks, or trend continuations.
Overview
RSI Plus + offers a multi-timeframe RSI display across the following timeframes:
- 2m (2 minutes)
- 5m (5 minutes)
- 15m(15 minutes)
- 30m (30 minutes)
- 1h (1 hour)
- 4h (4 hours)
- 12h (12 hours)
- Daily (1 Day)
- Weekly (1 Week)
- Monthly (1 Month)
The indicator displays a table with RSI, Average RSI, and Relative RSI (RRSI) values for each selected timeframe. The table is color-coded to indicate overbought (RSI > 70) or oversold (RSI < 30) conditions. Additionally, visual triangle alerts are plotted on the chart to signal potential trade opportunities when all selected timeframes show either overbought or oversold conditions. The RRSI provides insight into the current market’s relative strength or weakness by comparing the current RSI to its historical average.
How to Use
1. Setting Up the Indicator:
- Add RSI Plus + to your TradingView chart.
- Enable or disable timeframes using the checkboxes (e.g., 2m, 5m, 15m, Daily, Weekly, etc.) to customise the timeframes you want to analyse.
2. Understanding the Table Layout:
The indicator displays a table in the top-right corner of the chart with the following columns:
- Row 0 Timeframes (2m, 5m, 15m, 30m, 1h, 4h, 12h, Daily, Weekly, Monthly).
- Row 1 RRSI (Relative RSI: the current RSI compared to the average RSI).
- Row 2 Average RSI (The average RSI for each timeframe).
- Row 3 Current RSI (The current RSI value for each timeframe).
The RRSI (Relative RSI) row compares the current RSI with the average RSI, offering insight into the current relative strength or weakness. This allows traders to gauge whether the market is stronger or weaker compared to its historical performance within the selected timeframe.
3. Interpreting the Relative RSI (RRSI)
- RRSI > 1: If the Relative RSI (RRSI)is greater than 1, it means the current RSI is stronger than its historical average, indicating stronger market strength. This could be a sign of momentum in the direction of the trend.
- RRSI < 1: If the RRSI is below 1, it means the current RSI is weaker than its historical average, signalling relative market weakness. This may indicate the possibility of a reversal or pullback before the trend resumes.
- RRSI ~ 1: When the RRSI is around 1, it indicates that the current RSI is in line with its historical average, suggesting neutral market conditions.
4. Using the Visual Cues (Triangle Shapes):
- Green Triangle: Plotted above the price bars when all selected timeframes show RSI values above 70 (overbought), signalling potential exhaustion and a short signal or a pullback before continuation.
- Red Triangle: Plotted below the price bars when all selected timeframes show RSI values below 30*(oversold), signalling potential market reversal and long signal or a pullback before continuation*
These triangle shapes are clear visual alerts for traders to act upon when all timeframes signal extreme conditions.
5. Overbought/Oversold Conditions as Signals:
Overbought Conditions: If all selected timeframes show RSI values above 70 (green triangles appear), it suggests that the market may be overbought, signalling a potential short trade opportunity or a pullback before continuation.
Oversold Conditions: If all selected timeframes show RSI values below 30 (red triangles appear), it suggests that the market may be oversold, signalling a potential long trade or short term bounce opportunity or a pullback before continuation.
6. Set alerts for when all selected timeframes turn overbought (green triangles) or all turn oversold (red triangles). This alert condition will notify you when all selected timeframes signal extreme market conditions, which could indicate a strong reversal or continuation in price.
Notes:
RRSI provides an additional layer of analysis by showing the current relative strength or weakness of the market. A higher RRSI indicates strength relative to historical performance, while a lower RRSI signals weakness.
RSI Plus + is best used alongside other technical tools to confirm trade setups.
RRSI can help traders determine whether the market is likely to continue its trend or if a correction or reversal is imminent.
Customisable Timeframes: The RSI Plus + indicator is fully customisable, allowing you to select RSI length (RSI Period), which timeframes to analyse, from as short as 2 minutes up to monthly intervals, a personally chosen selection This gives traders the flexibility to tailor the indicator to their preferred trading style and time horizon.
RSI and CMF V 1.0
Introduction: RSI and CMF
The Relative Strength Index (RSI) and Chaikin Money Flow (CMF) are two powerful tools for analyzing market behavior. Each serves a unique purpose and provides insights into different aspects of price action.
The RSI measures the speed and magnitude of price movements. By comparing recent gains to losses over a chosen period, it identifies overbought and oversold conditions in the market. RSI focuses solely on price and offers traders a quick glance at whether an asset is trending too high or too low relative to its recent performance.
On the other hand, the CMF evaluates market behavior by integrating both price and volume. It measures money flow to determine whether an asset is being accumulated (bullish) or distributed (bearish). Positive CMF values indicate buying pressure, while negative values signal selling pressure, making it an essential tool for volume-based analysis.
Our Innovation
Traditionally, indicators like the RSI and CMF are analyzed in separate panels, limiting their connection to the price chart itself. We’ve developed an innovative solution that combines the power of these two indicators, enabling traders to simultaneously measure both price movements and volume flow in a unified visualization. By mapping the RSI and CMF directly onto the price chart, our indicator provides a seamless way to observe and analyze how price momentum and money flow interact with the actual price action.
This integration of volume, price, and momentum into a single chart offers traders a comprehensive tool for deeper market insights and faster decision-making.
__________________________________________________________________________
Simple Settings Panel with Tooltips
Our indicator comes with an intuitive and user-friendly settings panel, designed for ease of use and full customization. Each input is accompanied by a tooltip to guide users through the settings and ensure clear understanding of their purpose.
Settings Overview
1. Enable RSI over Price:
Tooltip: "Toggle this option to enable or disable the RSI plotted on the price chart."
This setting allows users to control whether the RSI is displayed directly over the price chart.
2. RSI Length:
Default Value: 14
Tooltip: "Set the period for RSI calculation. Typical value is 14."
Adjusts the time period used for RSI calculations, affecting its sensitivity to price changes.
3. RSI Source:
Default Value: Close
Tooltip: "Choose the data source for RSI calculation, usually the closing price."
Allows users to specify which price data (e.g., close, open, high, low) is used in the RSI calculation.
4. Enable CMF over Price:
Tooltip: "Toggle this option to enable or disable the CMF mapped onto the price chart."
Controls the visibility of the CMF line on the price chart.
5. CMF Length:
Default Value: 20
Tooltip: "Set the period for CMF calculation. Typical value is 20."
Adjusts the time period used to compute the CMF, determining the volume-weighted money flow sensitivity.
Description of RSI and CMF Settings
RSI Settings:
The RSI Length determines how many periods are included in the RSI calculation. Shorter lengths make the RSI more reactive to price changes, while longer lengths smooth out fluctuations. The RSI Source provides flexibility in selecting the price input for calculation, which is typically the closing price by default.
CMF Settings:
The CMF Length defines how many periods are used to calculate the Chaikin Money Flow, enabling users to focus on short-term or long-term trends in money flow. Enabling the CMF over price ensures the relationship between volume and price action is visually evident on the price chart.
The Style Settings
panel allows users to customize the visual appearance of the indicator, ensuring clarity and alignment with their preferences. Users can independently adjust the line colors for RSI and CMF, with default settings of green for RSI and red for CMF, enabling a clear distinction between the two.
Additionally, the Fill between RSI and CMF option provides two customizable colors (Color 0 and Color 1) to represent the dynamic fill. This fill visually highlights the relationship between the RSI and CMF, enhancing the interpretability of their interaction on the price chart. The settings also include options to toggle precision, labels on the price scale, and values in the status line for added flexibility.
_______________________________________________________________________________
How to Analyze with RSI and CMF V 1.0
The RSI and CMF V 1.0 indicator provides an intuitive and integrated approach to analyzing market trends, combining momentum and volume dynamics directly on the price chart. Its innovative mapping of RSI and CMF makes it easy to spot key trends and reversals with unmatched clarity.
Key Insights:
1. Dynamic Relationship Between RSI and CMF:
The indicator maps RSI (momentum-based) and CMF (volume-based) values onto the price chart. This makes it easier to analyze how price momentum aligns with money flow.
The color-coded fill highlights the strength of their relationship:
- Blue Fill: RSI is stronger than CMF, indicating price momentum leads the movement.
- Red Fill: CMF dominates RSI, reflecting the strength of volume flow.
2. Spotting Trends:
Uptrends: Consistent blue fills paired with RSI and CMF rising together suggest bullish momentum backed by strong volume.
Downtrends: Red fills with declining RSI and CMF signal bearish pressure driven by selling volume.
3. Reversals and Divergences:
Divergences between price action and the mapped RSI/CMF lines can signal potential reversals.
For instance, if price is rising but RSI and CMF are both falling, it could indicate weakening bullish momentum.
Ease of Use:
Color Coding: The dynamic fills (blue and red) allow for immediate visual identification of trend strength and direction, reducing analysis time.
Overlay on Price: By plotting directly on the price chart, traders don’t need to switch between multiple panels, ensuring the context remains clear.
Customizable Settings: Inputs for length, source, and enable/disable toggles make it adaptable for all trading styles and timeframes.
In conclusion, this indicator offers a visually clear and easy-to-understand way to combine momentum and volume analysis, empowering traders with actionable insights at a glance.
RSI Divergence + Sweep + Signal + Alerts Toolkit [TrendX_]The RSI Toolkit is a powerful set of tools designed to enhance the functionality of the traditional Relative Strength Index (RSI) indicator. By integrating advanced features such as Moving Averages, Divergences, and Sweeps, it helps traders identify key market dynamics, potential reversals, and newly-approach trading stragies.
The toolkit expands on standard RSI usage by incorporating features from smart money concepts (Just try to be creative 🤣 Hope you like it), providing a deeper understanding of momentum, liquidity sweeps, and trend reversals. It is suitable for RSI traders who want to make more informed and effective trading decisions.
💎 FEATURES
RSI Moving Average
The RSI Moving Average (RSI MA) is the moving average of the RSI itself. It can be customized to use various types of moving averages, including Simple Moving Average (SMA), Exponential Moving Average (EMA), Relative Moving Average (RMA), and Volume-Weighted Moving Average (VWMA).
The RSI MA smooths out the RSI fluctuations, making it easier to identify trends and crossovers. It helps traders spot momentum shifts and potential entry/exit points by observing when the RSI crosses above or below its moving average.
RSI Divergence
RSI Divergence identifies discrepancies between price action and RSI momentum. There are two types of divergences: Regular Divergence - Indicates a potential trend reversal; Hidden Divergence - Suggests the continuation of the current trend.
Divergence is a critical signal for spotting weakness or strength in a trend. Regular divergence highlights potential trend reversals, while hidden divergence confirms trend continuation, offering traders valuable insights into market momentum and possible trade setups.
RSI Sweep
RSI Sweep detects moments when the RSI removes liquidity from a trend structure by sweeping above or below the price at key momentum level crossing. These sweeps are overlaid on the RSI chart for easier visualized.
RSI Sweeps are significant because they indicate potential turning points in the market. When RSI sweeps occur: In an uptrend - they suggest buyers' momentum has peaked, possibly leading to a reversal; In a downtrend - they indicate sellers’ momentum has peaked, also hinting at a reversal.
(Note: This feature incorporates Liquidity Sweep concepts from Smart Money Concepts into RSI analysis, helping RSI traders identify areas where liquidity has been removed, which often precedes a trend reversal)
🔎 BREAKDOWN
RSI Moving Average
How MA created: The RSI value is calculated first using the standard RSI formula. The MA is then applied to the RSI values using the trader’s chosen type of MA (SMA, EMA, RMA, or VWMA). The flexibility to choose the type of MA allows traders to adjust the smoothing effect based on their trading style.
Why use MA: RSI by itself can be noisy and difficult to interpret in volatile markets. Applying moving average would provide a smoother, more reliable view of RSI trends.
RSI Divergence
How Regular Divergence created: Regular Divergence is detected when price forms HIGHER highs while RSI forms LOWER highs (bearish divergence) or when price forms LOWER lows while RSI forms HIGHER lows (bullish divergence).
How Hidden Divergence created: Hidden Divergence is identified when price forms HIGHER lows while RSI forms LOWER lows (bullish hidden divergence) or when price forms LOWER highs while RSI forms HIGHER highs (bearish hidden divergence).
Why use Divergence: Divergences provide early warning signals of a potential trend change. Regular divergence helps traders anticipate reversals, while hidden divergence supports trend continuation, enabling traders to align their trades with market momentum.
RSI Sweep
How Sweep created: Trend Structure Shift are identified based on the RSI crossing key momentum level of 50. To track these sweeps, the indicator pinpoints moments when liquidity is removed from the Trend Structure Shift. This is a direct application of Liquidity Sweep concepts used in Smart Money theories, adapted to RSI.
Why use Sweep: RSI Sweeps are created to help traders detect potential trend reversals. By identifying areas where momentum has exhausted during a certain trend direction, the indicator highlights opportunities for traders to enter trades early in a reversal or continuation phase.
⚙️ USAGES
Divergence + Sweep
This is an example of combining Devergence & Sweep in BTCUSDT (1 hour)
Wait for a divergence (regular or hidden) to form on the RSI. After the divergence is complete, look for a sweep to occur. A potential entry might be formed at the end of the sweep.
Divergences indicate a potential trend change, but confirmation is required to ensure the setup is valid. The RSI Sweep provides that confirmation by signaling a liquidity event, increasing the likelihood of a successful trade.
Sweep + MA Cross
This is an example of combining Devergence & Sweep in BTCUSDT (1 hour)
Wait for an RSI Sweep to form then a potential entry might be formed when the RSI crosses its MA.
The RSI Sweep highlights a potential turning point in the market. The MA cross serves as additional confirmation that momentum has shifted, providing a more reliable and more potential entry signal for trend continuations.
DISCLAIMER
This indicator is not financial advice, it can only help traders make better decisions. There are many factors and uncertainties that can affect the outcome of any endeavor, and no one can guarantee or predict with certainty what will occur. Therefore, one should always exercise caution and judgment when making decisions based on past performance.
RSI ThermometerOverview:
The RSI Thermometer Indicator is a custom tool designed to help traders quickly gauge relative strength and potential overbought/oversold conditions across multiple timeframes. This indicator employs a series of color-coded RSI values to provide a visual representation of trend momentum, with a gradient ranging from deep red (indicating lower RSI values) to white (neutral around RSI 50) and up to deep green (indicating higher RSI values). By using this color-coding scheme, traders can easily identify shifts in market sentiment and momentum as they develop from shorter to longer timeframes.
Key Features:
Linear Color Gradient for RSI Levels (0-100): The indicator uses 41 distinct colors to visually represent RSI values. Lower RSI values are shown in darker reds, signaling potential oversold conditions, while higher RSI values appear in darker greens, suggesting potential overbought levels. Mid-range RSI values around 50 are shown in white, representing a neutral state. This color progression allows traders to evaluate trend conditions at a glance.
Multi-Timeframe Momentum Visualization: By observing color transitions across a sequence of RSI values from short to long timeframes, traders can assess how market momentum develops across different periods. This feature provides insight into the depth and potential strength of current trends.
Incremental RSI Periods: The RSI Thermometer applies RSI calculations across a range of periods (starting from 8 and increasing incrementally up to 488). This structure allows traders to capture both short-term fluctuations and longer-term trends, providing a balanced view of momentum across multiple timeframes.
Sequential Color Analysis: Each RSI value is represented by a unique color, offering a sequential analysis tool to easily observe trend direction. Consistent colors across the RSI periods indicate momentum in a particular direction, while mixed colors suggest consolidation or transitional phases.
Example Interpretations:
Bullish Momentum: When shorter-period RSI values (e.g., RSI 8, 24, 40) turn green and this color shift extends through to longer-period RSIs (up to RSI 488), it suggests that buying strength is present across timeframes. This pattern can help identify areas where bullish sentiment may be building.
Bearish Momentum: If shorter-period RSI values turn red and this trend continues through longer-period RSIs, it suggests that selling pressure is permeating across multiple timeframes, indicating potential bearish momentum.
How to Use the RSI Thermometer Indicator:
Observe Color Progression: Watch for consistent shifts in color across the RSI periods to determine the direction of momentum. Unified red or green colors across half or more of the periods indicate a stronger trend, while white or mixed colors may suggest a neutral or transitional phase.
Identify Potential Entry/Exit Zones: Look for green hues across multiple RSI periods to identify bullish momentum for potential entry points. Red hues, especially when consistent across several periods, may indicate selling pressure, signaling possible exit points.
Monitor for Reversals: Diverging colors across the RSI periods (e.g., shorter RSIs turning green while longer RSIs remain red) may indicate a trend reversal, providing an early warning for potential market shifts.
Application in Trading Strategy:
The RSI Thermometer Indicator is useful for both intraday and swing traders seeking to align trades with multi-timeframe momentum. By showing trend depth and the potential strength of momentum across timeframes, this tool simplifies market analysis and supports more informed decision-making.
Unlock deeper insights into market momentum with the RSI Thermometer Indicator—an intuitive tool that enhances your trading precision by visualizing trend strength and direction across multiple timeframes.
RSI based MAGot it! Here’s some information in English specifically about the **RSI-based Moving Average (RSI-based MA)** that we wrote the Pine Script code for:
### RSI-Based Moving Average (RSI-based MA)
An **RSI-based Moving Average (RSI-based MA)** is a technical analysis tool that combines the Relative Strength Index (RSI) with moving averages to provide more insight into market trends and potential reversals. This indicator can be particularly useful for identifying the beginning and end of trends, allowing traders to make more informed decisions.
### How RSI-based MA Works
The RSI-based MA indicator calculates the moving average of the RSI values rather than the asset's price itself. In the script you asked for, we implemented two RSI-based moving averages: one for a 1-minute timeframe and another for a 5-minute timeframe. This dual timeframe approach can help traders spot trends more accurately and identify shifts in momentum across different time periods.
#### Key Features of RSI-based MA:
1. **Dual Timeframe Analysis**:
- The script plots two RSI-based moving averages on the same chart:
- **1-minute RSI-based MA**: A moving average calculated based on RSI values over a 1-minute interval.
- **5-minute RSI-based MA**: A moving average calculated based on RSI values over a 5-minute interval.
- Using different timeframes helps traders see both short-term and longer-term trends simultaneously.
2. **RSI Levels**:
- The RSI-based MA plots values between 0 and 100, similar to the RSI itself. Traders can use typical RSI levels, such as 70 (overbought) and 30 (oversold), to identify potential entry and exit points.
- **Overbought condition**: When the RSI-based MA moves above 70, it indicates the asset might be overbought, suggesting a potential for price to drop.
- **Oversold condition**: When the RSI-based MA drops below 30, it signals that the asset might be oversold, indicating a potential price increase.
3. **Crossovers**:
- **Bullish signal**: If the shorter 1-minute RSI-based MA crosses above the longer 5-minute RSI-based MA, this could indicate a new upward trend beginning.
- **Bearish signal**: Conversely, if the 1-minute RSI-based MA crosses below the 5-minute RSI-based MA, it could suggest the beginning of a downward trend.
### Potential Advantages
- **Smoother Trend Identification**: By applying moving averages to RSI, you can smooth out the short-term fluctuations in RSI values, making it easier to identify the underlying trend.
- **Versatility**: The indicator can be customized for different timeframes and settings, allowing it to be tailored to various trading strategies and asset classes.
- **Enhanced Signals**: Combining RSI and moving averages helps filter out noise, providing more reliable signals for potential trend changes or continuations.
### Potential Limitations
- **Lagging Indicator**: Like most moving averages, RSI-based MAs are lagging indicators. They tend to react after price movements have already begun, which could result in delayed signals.
- **False Signals**: In ranging or highly volatile markets, RSI-based MA may give false signals, indicating a trend reversal or continuation that does not occur.
- **Should Not Be Used Alone**: It's often recommended to use RSI-based MA alongside other technical indicators (like MACD, Bollinger Bands, or moving average crossovers) to confirm signals and reduce the risk of false readings.
### Conclusion
The RSI-based MA can be a powerful tool for traders looking to enhance their understanding of market trends and momentum. By combining RSI with moving averages, traders can smooth out RSI readings and gain a clearer view of the market’s direction. However, as with any indicator, it should be used in conjunction with other tools and strategies to maximize its effectiveness and reduce risk.
RSI Multiple TimeFrame, Version 1.0RSI Multiple TimeFrame, Version 1.0
Overview
The RSI Multiple TimeFrame script is designed to enhance trading decisions by providing a comprehensive view of the Relative Strength Index (RSI) across multiple timeframes. This tool helps traders identify overbought and oversold conditions more accurately by analyzing RSI values on different intervals simultaneously. This is particularly useful for traders who employ multi-timeframe analysis to confirm signals and make more informed trading decisions.
Unique Feature of the new script (described in detail below)
Multi-Timeframe RSI Analysis
Customizable Timeframes
Visual Signal Indicators (dots)
Overbought and Oversold Layers with gradual Background Fill
Enhanced Trend Confirmation
Originality and Usefulness
This script combines the RSI indicator across three distinct timeframes into a single view, providing traders with a multi-dimensional perspective of market momentum. It also provides associated signals to better time dips and peaks. Unlike standard RSI indicators that focus on a single timeframe, this script allows users to observe RSI trends across short, medium, and long-term intervals, thereby improving the accuracy of entry and exit signals. This is particularly valuable for traders looking to align their short-term strategies with longer-term market trends.
Signal Description
The script also includes a unique signal feature that plots green and red dots on the chart to highlight potential buy and sell opportunities:
Green Dots : These appear when all three RSI values are under specific thresholds (RSI of the shortest timeframe < 30, the medium timeframe < 40, and the longest timeframe < 50) and the RSI of the shortest timeframe is showing an upward trend (current value is greater than the previous value, and the value two periods ago is greater than the previous value). This indicates a potential buying opportunity as the market may be shifting from an oversold condition.
Red Dots : These appear when all three RSI values are above specific thresholds (RSI of the shortest timeframe > 70, the medium timeframe > 60, and the longest timeframe > 50) and the RSI of the shortest timeframe is showing a downward trend (current value is less than the previous value, and the value two periods ago is less than the previous value). This indicates a potential selling opportunity as the market may be shifting from an overbought condition.
These signals help traders identify high-probability turning points in the market by ensuring that momentum is aligned across multiple timeframes.
Detailed Description
Input Variables
RSI Period (`len`) : The number of periods to calculate the RSI. Default is 14.
RSI Source (`src`) : The price source for RSI calculation, defaulting to the average of the high and low prices (`hl2`).
Timeframes (`tf1`, `tf2`, `tf3`) : The different timeframes for which the RSI is calculated, defaulting to 5 minutes, 1 hour, and 8 hours respectively.
Functionality
RSI Calculations : The script calculates the RSI for each of the three specified timeframes using the `request.security` function. This allows the RSI to be plotted for multiple intervals, providing a layered view of market momentum.
```pine
rsi_tf1 = request.security(syminfo.tickerid, tf1, ta.rsi(src, len))
rsi_tf2 = request.security(syminfo.tickerid, tf2, ta.rsi(src, len))
rsi_tf3 = request.security(syminfo.tickerid, tf3, ta.rsi(src, len))
```
Plotting : The RSI values for the three timeframes are plotted with different colors and line widths for clear visual distinction. This makes it easy to compare RSI values across different intervals.
```pine
p1 = plot(rsi_tf1, title="RSI 5m", color=color.rgb(200, 200, 255), linewidth=2)
p2 = plot(rsi_tf2, title="RSI 1h", color=color.rgb(125, 125, 255), linewidth=2)
p3 = plot(rsi_tf3, title="RSI 8h", color=color.rgb(0, 0, 255), linewidth=2)
```
Overbought and Oversold Levels : Horizontal lines are plotted at standard RSI levels (20, 30, 40, 50, 60, 70, 80) to visually identify overbought and oversold conditions. The areas between these levels are filled with varying shades of blue for better visualization.
```pine
h80 = hline(80, title="RSI threshold 80", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
h70 = hline(70, title="RSI threshold 70", color=color.gray, linestyle=hline.style_dotted, linewidth=1)
...
fill(h70, h80, color=color.rgb(33, 150, 243, 95), title="Background")
```
Signal Plotting : The script adds green and red dots to indicate potential buy and sell signals, respectively. A green dot is plotted when all RSI values are under specific thresholds and the RSI of the shortest timeframe is rising. Conversely, a red dot is plotted when all RSI values are above specific thresholds and the RSI of the shortest timeframe is falling.
```pine
plotshape(series=(rsi_tf1 < 30 and rsi_tf2 < 40 and rsi_tf3 < 50 and (rsi_tf1 > rsi_tf1 ) and (rsi_tf1 > rsi_tf1 )) ? 1 : na, location=location.bottom, color=color.green, style=shape.circle, size=size.tiny)
plotshape(series=(rsi_tf1 > 70 and rsi_tf2 > 60 and rsi_tf3 > 50 and (rsi_tf1 < rsi_tf1 ) and (rsi_tf1 < rsi_tf1 )) ? 1 : na, location=location.top, color=color.red, style=shape.circle, size=size.tiny)
```
How to Use
Configuring Inputs : Adjust the RSI period and source as needed. Modify the timeframes to suit your trading strategy.
Interpreting the Indicator : Use the plotted RSI values to gauge momentum across different timeframes. Look for overbought conditions (RSI above 70, 60 and 50) and oversold conditions (RSI below 30, 40 and 50) across multiple intervals to confirm trade signals.
Signal Confirmation : Pay attention to the green and red dots that provide signals to better time dips and peaks. dots are printed when the lower timeframe (5mn by default) shows sign of reversal.
These signals are more reliable when confirmed across all three timeframes.
This script provides a nuanced view of RSI, helping traders make more informed decisions by considering multiple timeframes simultaneously. By combining short, medium, and long-term RSI values, traders can better align their strategies with overarching market trends, thus improving the precision of their trading actions.
RSI PRECISION v.3RSI PRECISION v.3 (MACD, StochRSI, SMA Signals)
Developed by Giorgos Protonotarios (2021-2023)
RSI PRECISION is an alternative to the classic Relative Strength Index (RSI). The indicator aims to enhance the classic RSI and make it more accurate on longer timeframes. Additionally, the indicator works as an advanced signaling machine, offering five different categories of leading trading signals. RSI PRECISION is an ideal tool for analyzing highly volatile markets, such as cryptocurrency and small-cap stocks.
In this 3rd version, the core formula remains the same, however, there are new trading signals and a great number of new parameters. Traders have the opportunity to fully customize the indicator according to their needs.
What is new ?
The RSI formula remains the same, however, there are additional features:
• Selected StochRSI signals
• Low-timeframe SMA signal (<60 minutes)
• High-timeframe SMA signal (>60 minutes)
• SMA on the RSI PRECISION readings
• Ability to customize everything in settings (tooltips added)
Note: You can turn off any trading signal by unselecting it in Settings>Style.
□ NEW TRADING SIGNALS (v.3)
■ SELECTED STOCHRSI SIGNALS
The selected StochRSI signals are visualized by a cross (+) on the top and bottom of the indicator. The settings for StochRSI are the classic 8.5.3 (customizable). By default, the crossover is generated when StochRSI crosses above 25, and the crossunder when StochRSI crosses below 75.
(i) Bullish StochRSI cross
• Symbol: Cross (+) on the Top
• Event: StochRSI crosses above level 25
(ii) Bearish StochRSI cross
• Symbol: Cross (+) on the Bottom
• Event: StochRSI crosses below level 75
■ SMA CROSSOVERS (LOW/HIGH TIMEFRAMES)
These trading signals are generated when the price of an asset crosses above or below a preset SMA.
There are two different SMAs, one shown on low timeframes, and one on high timeframes. You can adjust the periods for both, by default 200 periods.
(i) Low-Timeframe SMA Cross (<60 minutes)
• Symbol: Bullish (↥) on the top of the indicator and bearish (↧) on the bottom
• Event: The price crosses above or below the selected SMA on low timeframes
(ii) High-Timeframe SMA Cross (>60 minutes)
• Symbol: Bullish (↥) on the top of the indicator and bearish (↧) on the bottom
• Event: The price crosses above or below the selected SMA on high timeframes
■ SMA LINE ON RSI PRECISION
This is just a simple SMA line on the RSI PRECISION readings. By default, it is set at 50 periods.
• SMA Line (blue-dashed)
You can turn it off by unselecting it in Settings>Style.
□ OLDER TRADING SIGNALS
The 3rd version of RSI PRECISION also includes all previous signals.
■ RSI PRECISION CROSSES
This signal corresponds to a bullish/bearish RSI PRECISION cross. By default, it is 5 for a bullish crossover and 100 for a bearish crossunder. These numbers are indicative and can be customized.
(i) Bullish RSI PRECISION Cross
• Symbol: Green arrow (▲) on the Top
• Event: RSI PRECISION crosses above level 5
(ii) Bearish RSI PRECISION Cross
• Symbol: Red arrow (▼) on the Bottom
• Event: RSI PRECISION crosses below level 100
■ MACD CROSSOVER SIGNALS
The MACD signals are visualized by a green/red dot (•). The default settings are the standard MACD settings (12,6,9).
(i) Bullish MACD cross
• Symbol: Green Dot (•) on the Top
• Event: MACD crosses above its signal line
(ii) Bearish MACD cross
• Symbol: Red Dot (•) on the Bottom
• Event: MACD crosses below its signal line
NOTE: In lower timeframes, MACD generates too many signals. You can switch off “MACD BULLISH & BEARISH CROSSOVERS” by clicking on ‘SETTINGS’, then ‘STYLE’, and then unselecting ‘Bullish MACD Cross’ and ‘Bearish MACD Cross’.
■ GOLDEN/DEATH CROSSES (SMA CROSSOVERS)
The cross of the 50-day moving average above the 200-day moving average is called a golden cross, and it is considered a bullish signal. The cross of the 50-day moving average below the 200-day moving average is called a death cross, and it is considered a bearish signal.
The Golden/Death crosses are visualized by (X). By default, 50 periods for the fast SMA and 200 periods for the slow SMA (both are customizable).
(i) Bullish SMA Cross
• Symbol: (X) on the Top
• Event: The fast SMA crosses above the Slow SMA
(ii) Bearish RSI Cross
• Symbol: (X) on the Bottom
• Event: The fast SMA crosses below the Slow SMA
□ More about the Indicator
■ MISSION
Enhancing the classic Relative Strength Index (RSI) and making it more accurate on longer timeframes, during choppy market conditions, and especially near market tops/bottoms.
■ OBJECTIVES
(1) Creating a better RSI that works as an “All-in-one” indicator
(2) Identifying overbought/oversold market levels in a simple and user-friendly manner
(3) Making precise calculations near market tops and bottoms, where price volatility is always booming
(4) Making precise calculations on longer timeframes (weekly, monthly) where the classic RSI readings are hardly readable
(5) Offering five different categories of trading signals (RSI, StochRSI, MACD, Golden/Death Crosses, SMAs) in a single indicator
■ RSI PRECISION CALCULATIONS
The RSI PRECISION formula consists of three (3) different components:
(a) Relative Strength Index component (the classic RSI)
(b) Periodic Price Volatility component (PPV, essential)
(c) RSI Volatility component (less important)
RSI PRECISION FORMULA ADJUSTMENTS
(i) CLASSIC RSI
This measurement corresponds to the classic RSI. If the other two components of the formula are set to zero (0%), then by entering 100% here, the RSI PRECISION becomes identical to the classic RSI.
-By default, 100%
(ii) PERIODIC PRICE VOLATILITY -PPV
The Periodic Price Volatility (PPV) is an advanced measurement of price volatility and an essential component of the core RSI PRECISION formula. You can easily adjust the weight of PPV in the formula.
-By default, 100%
(iii) RSI VOLATILITY
This is an extra measurement of volatility. This time the focus is exclusively on periodic RSI volatility, not on price volatility.
-By default, 5%
■ FINAL THOUGHTS
RSI PRECISION v.3 is an improved RSI indicator offering five leading trading signals. Everything is combined in one place to create an all-in-one TA tool. I have been using it as my only indicator for quite some time.
As always, happy trading, and remember, if you want to rule the world, create code, not war.
□ Giorgos Protonotarios,
Financial Analyst, Building Web
(October 5th 2023)






















