Jigga - Relative Strength - SectorsHi All !!
I came across relative strength concept from below indicator.
Indicator Name: (Relative-Strength by modhelius)
Note: Sorry !! Could not add indicator url here.
Formula:
RelativeStrength = (sectorValue / sectorValue ) / (indexValue / indexValue ) - 1 * 100
I used same concept and combine all sector's relative strength against Nifty50 index.
How to use:
You can change length based on your convenience and show/hide sectors.
Indicator will show strength line for that sector.
you can use this to identify momentum stocks.
Cerca negli script per "Relative"
Relative Strength Heatmap [BackQuant]Relative Strength Heatmap
A multi-horizon RSI matrix that compresses 20 different lookbacks into a single panel, turning raw momentum into a visual “pressure gauge” for overbought and oversold clustering, trend exhaustion, and breadth of participation across time horizons.
What this is
This indicator builds a strip-style heatmap of 20 RSIs, each with a different length, and stacks them vertically as colored tiles in a single pane. Every tile is colored by its RSI value using your chosen palette, so you can see at a glance:
How many “fast” versus “slow” RSIs are overbought or oversold.
Whether momentum is concentrated in the short lookbacks or spread across the whole curve.
When momentum extremes cluster, signalling strong market pressure or exhaustion.
On top of the tiles, the script plots two simple breadth lines:
A white line that counts how many RSIs are above 70 (overbought cluster).
A black line that counts how many RSIs are below 30 (oversold cluster).
This turns a single symbol’s RSI ladder into a compact “market pressure gauge” that shows not only whether RSI is overbought or oversold, but how many different horizons agree at the same time.
Core idea
A single RSI looks at one length and one timescale. Markets, however, are driven by flows that operate on multiple horizons at once. By computing RSI over a ladder of lengths, you approximate a “term structure” of strength:
Short lengths react to immediate swings and very recent impulses.
Medium lengths reflect swing behaviour and local trends.
Long lengths reflect structural bias and higher timeframe regime.
When many lengths agree, for example 10 or more RSIs all above 70, it suggests broad participation and strong directional pressure. When only a few fast lengths stretch to extremes while longer ones stay neutral, the move is more fragile and more likely to mean-revert.
This script makes that structure visible as a heatmap instead of forcing you to run many separate RSI panes.
How it works
1) Generating RSI lengths
You control three parameters in the calculation settings:
RS Period – the base RSI length used for the shortest strip.
RSI Step – the amount added to each successive RSI length.
RSI Multiplier – a global scaling factor applied after the step.
Each of the 20 RSIs uses:
RSI length = round((base_length + step × index) × multiplier) , where the index goes from 0 to 19.
That means:
RSI 1 uses (len + step × 0) × mult.
RSI 2 uses (len + step × 1) × mult.
…
RSI 20 uses (len + step × 19) × mult.
You can keep the ladder dense (small step and multiplier) or stretch it across much longer horizons.
2) Heatmap layout and grouping
Each RSI is plotted as an “area” strip at a fixed vertical level using histbase to stack them:
RSI 1–5 form Group 1.
RSI 6–10 form Group 2.
RSI 11–15 form Group 3.
RSI 16–20 form Group 4.
Each group has a toggle:
Show only Group 1 and 2 if you care mainly about fast and medium horizons.
Show all groups for a full spectrum from very short to very long.
Hide any group that feels redundant for your workflow.
The actual numeric RSI values are not plotted as lines. Instead, each strip is drawn as a horizontal band whose fill color represents the current RSI regime.
3) Palette-based coloring
Each tile’s color is driven by the RSI value and your chosen palette. The script includes several palettes:
Viridis – smooth green to yellow, good for subtle reading.
Jet – strong blue to red sequence with high contrast.
Plasma – purple through orange to yellow.
Custom Heat – cool blues to neutral grey to hot reds.
Gray – grayscale from white to black for minimalistic layouts.
Cividis, Inferno, Magma, Turbo, Rainbow – additional scientific and rainbow-style maps.
Internally, RSI values are bucketed into ranges (for example, below 10, 10–20, …, 90–100). Each bucket maps to a unique colour for that palette. In all schemes, low RSI values are mapped to the “cold” or darker side and high RSI values to the “hot” or brighter side.
The result is a true momentum heatmap:
Cold or dark tiles show low RSI and oversold or compressed conditions.
Mid tones show neutral or mid-range RSI.
Warm or bright tiles show high RSI and overbought or stretched conditions.
4) Bull and bear breadth counts
All 20 RSI values are collected into an array each bar. Two counters are then calculated:
Bull count – how many RSIs are above 70.
Bear count – how many RSIs are below 30.
These are plotted as:
A white line (“RSI > 70 Count”) for the overbought cluster.
A black line (“RSI < 30 Count”) for the oversold cluster.
If you enable the “Show Bull and Bear Count” option, you get an immediate reading of how many of the 20 horizons are stretched at any moment.
5) Cluster alerts and background tagging
Two alert conditions monitor “strong cluster” regimes:
RSI Heatmap Strong Bull – triggers when at least 10 RSIs are above 70.
RSI Heatmap Strong Bear – triggers when at least 10 RSIs are below 30.
When one of these conditions is true, the indicator can tint the background of the chart using a soft version of the current palette. This visually marks stretches where momentum is extreme across many lengths at once, not just on a single RSI.
What it plots
In one oscillator window, the indicator provides:
Up to 20 horizontal RSI strips, each representing a different RSI length.
Color-coded tiles reflecting the current RSI value for each length.
Group toggles to show or hide each block of five RSIs.
An optional white line that counts how many RSIs are above 70.
An optional black line that counts how many RSIs are below 30.
Optional background highlights when the number of overbought or oversold RSIs passes the strong-cluster threshold.
How it measures breadth and pressure
Single-symbol breadth
Breadth is usually defined across a basket of symbols, such as how many stocks advance versus decline. This indicator uses the same concept across time horizons for a single symbol. The question becomes:
“How many different RSI lengths are stretched in the same direction at once?”
Examples:
If only 2 or 3 of the shortest RSIs are above 70, bull count stays low. The move is fast and local, but not yet broadly supported.
If 12 or more RSIs across short, medium and long lengths are above 70, the bull count spikes. The move has broad momentum and strong upside pressure.
If 10 or more RSIs are below 30, bear count spikes and you are in a broad oversold regime.
This is breadth of momentum within one market.
Market pressure gauge
The combination of heatmap tiles and breadth lines acts as a pressure gauge:
High bull count with warm colors across most strips indicates strong upside pressure and crowded long positioning.
High bear count with cold colors across most strips indicates strong downside pressure and capitulation or forced selling.
Low counts with a mixed heatmap indicate neutral pressure, fragmented flows, or range-bound conditions.
You can treat the strong-cluster alerts as “extreme pressure” signals. When they fire, the market is heavily skewed in one direction across many horizons.
How to read the heatmap
Horizontal patterns (through time)
Look along the time axis and watch how the colors evolve:
Persistent hot tiles across many strips show sustained bullish pressure and trend strength.
Persistent cold tiles across many strips show sustained bearish pressure and weak demand.
Frequent flipping between hot and cold colours indicates a choppy or mean-reverting environment.
Vertical structure (across lengths at one bar)
Focus on a single bar and read the column of tiles from top to bottom:
Short RSIs hot, long RSIs neutral or cool: early trend or short-term fomo. Price has moved fast, longer horizons have not caught up.
Short and long RSIs all hot: mature, entrenched uptrend. Broad participation, high pressure, greater risk of blow-off or late-entry vulnerability.
Short RSIs cold but long RSIs mid to high: pullback in a higher timeframe uptrend. Dip-buy and continuation setups are often found here.
Short RSIs high but long RSIs low: countertrend rallies within a broader downtrend. Good hunting ground for fades and short entries after a bounce.
Bull and bear breadth lines
Use the two lines as simple, numeric breadth indicators:
A rising white line shows more RSIs pushing above 70, so bullish pressure is expanding in breadth.
A rising black line shows more RSIs pushing below 30, so bearish pressure is expanding in breadth.
When both lines are low and flat, few horizons are extreme and the market is in mid-range territory.
Cluster zones
When either count crosses the strong threshold (for example 10 out of 20 RSIs in extreme territory):
A strong bull cluster marks a broadly overbought regime. Trend followers may see this as confirmation. Mean-reversion traders may see it as a late-stage or blow-off context.
A strong bear cluster marks a broadly oversold regime. Downtrend traders see strong pressure, but the risk of sharp short-covering bounces also increases.
Trading applications
Trend confirmation
Use the heatmap and breadth lines as a trend filter:
Prefer long setups when the heatmap shows mostly mid to high RSIs and the bull count is rising.
Avoid fresh shorts when there is a strong bull cluster, unless you are specifically trading exhaustion.
Prefer short setups when the heatmap is mostly low RSIs and the bear count is rising.
Avoid aggressive longs when a strong bear cluster is active, unless you are trading reflexive bounces.
Mean-reversion timing
Treat cluster extremes as exhaustion zones:
Look for reversal patterns, failed breakouts, or order flow shifts when bull count is very high and price starts to stall or diverge.
Look for reflexive bounce potential when bear count is very high and price stops making new lows or shows absorption at the lows.
Use the palette and counts together: hot tiles plus a peaking white line can mark blow-off conditions, cold tiles plus a peaking black line can mark capitulation.
Regime detection and risk toggling
Use the overall shape of the ladder over time:
If upper strips stay warm and lower strips stay neutral or warm for extended periods, the market is in an uptrend regime. You can justify higher risk for long-biased strategies.
If upper strips stay cold and lower strips stay neutral or cold, the market is in a downtrend regime. You can justify higher risk for short-biased strategies or defensive positioning.
If colours and counts flip frequently, you are likely in a range or choppy regime. Consider reducing size or using more tactical, short-term strategies.
Multi-horizon synchronization
You can think of each RSI length as a proxy for a different “speed” of the same market:
When only fast RSIs are stretched, the move is local and less robust.
When fast, medium and slow RSIs align, the move has multi-horizon confirmation.
You can require a minimum bull or bear count before allowing your main strategy to engage.
Spotting hidden shifts
Sometimes price appears flat or drifting, but the heatmap quietly cools or warms:
If price is sideways while many hot tiles fade toward neutral, momentum is decaying under the surface and trend risk is increasing.
If price is sideways while many cold tiles climb back toward neutral, selling pressure is decaying and the tape is repairing itself.
Settings overview
Calculation Settings
RS Period – base RSI length for the shortest strip.
RSI Step – the increment added to each successive RSI length.
RSI Multiplier – scales all generated RSI lengths.
Calculation Source – the input series, such as close, hlc3 or others.
Plotting and Coloring Settings
Heatmap Color Palette – choose between Viridis, Jet, Plasma, Custom Heat, Gray, Cividis, Inferno, Magma, Turbo or Rainbow.
Show Group 1 – toggles RSI 1–5.
Show Group 2 – toggles RSI 6–10.
Show Group 3 – toggles RSI 11–15.
Show Group 4 – toggles RSI 16–20.
Show Bull and Bear Count – enables or disables the two breadth lines.
Alerts
RSI Heatmap Strong Bull – fires when the number of RSIs above 70 reaches or exceeds the configured threshold (default 10).
RSI Heatmap Strong Bear – fires when the number of RSIs below 30 reaches or exceeds the configured threshold (default 10).
Tuning guidance
Fast, tactical configurations
Use a small base RS Period, for example 2 to 5.
Use a small RSI Step, for tight clustering around the fast horizon.
Keep the multiplier near 1.0 to avoid extreme long lengths.
Focus on Group 1 and Group 2 for intraday and short-term trading.
Swing and position configurations
Use a mid-range RS Period, for example 7 to 14.
Use a moderate RSI Step to fan out into slower horizons.
Optionally use a multiplier slightly above 1.0.
Keep all four groups enabled for a full view from fast to slow.
Macro or higher timeframe configurations
Use a larger base RS Period.
Use a larger RSI Step so the top of the ladder reaches very slow lengths.
Focus on Group 3 and Group 4 to see structural momentum.
Treat clusters as regime markers rather than frequent trading signals.
Notes
This indicator is a contextual tool, not a standalone trading system. It does not model execution, spreads, slippage or fundamental drivers. Use it to:
Understand whether momentum is narrow or broad across horizons.
Confirm or filter existing signals from your primary strategy.
Identify environments where the market is crowded into one side.
Distinguish between isolated spikes and truly broad pressure moves.
The Relative Strength Heatmap is designed to answer a simple but powerful question:
“How many versions of RSI agree with what I am seeing on the chart?”
By compressing those answers into a single panel with clear colour coding and breadth lines, it becomes a practical, visual gauge of momentum breadth and market pressure that you can overlay on any trading framework.
Volume Weighted Relative Strength IndexThis indicator calculates the Relative Strength Index (RSI) and enhances it with optional volume weighting (VWRSI). It also includes a customizable signal line and a built-in divergence detection engine.
Key Features:
Volume-Weighted Calculation: An option (Volume weighted) allows for volume to be incorporated into the calculation of both the RSI itself and its moving average signal line, making the oscillator more sensitive to high-volume price changes.
Customizable Signal Line: Includes an optional moving average of the VWRSI, which serves as a signal line. The type of MA (Smooth Method) and its length can be customized.
Full Divergence Suite (Class A, B, C): The primary feature is the integrated divergence engine. It automatically detects and plots all three major types of divergences:
Regular (A): Signals potential trend reversals.
Hidden (B): Signals potential trend continuations.
Exaggerated (C): Signals weakness at double tops/bottoms.
Divergence Filtering and Visualization:
Price Tolerance Filter: Divergence detection is enhanced with a percentage-based price tolerance (pivPrcTol) to filter out insignificant market noise.
Persistent Visualization: Divergence markers are plotted for the entire duration of the signal and are visually anchored to the VWRSI level of the confirming pivot.
Note on Confirmation (Lag): Divergence signals rely on a pivot confirmation method to ensure they do not repaint.
The Start of a- divergence is only detected after the confirming pivot is fully formed (a delay based on Pivot Right Bars).
The End of a divergence is detected either instantly (if the signal is invalidated by price action) or with a delay (when a new, non-divergent pivot is confirmed).
Multi-Timeframe (MTF) Capability:
MTF VWRSI Line: The VWRSI and its signal line can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Divergence detection engine (pivDiv) is disabled if a timeframe other than the chart's timeframe is selected. Divergences are only calculated on the active chart timeframe.
Integrated Alerts: Includes 20 comprehensive alerts for:
The start and end of all 6 divergence types.
The VWRSI crossing its signal line.
The VWRSI crossing the Overbought, Oversold, or 50-level lines.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Relative Strength Exponential Moving Average [CC]The Relative Strength Exponential Moving Average was created by Vitali Apirine (Stocks and Commodities Jan 2022 pgs 22-25) and this is a handy moving average that combines a typical overbought/oversold mechanic with an overall trend indicator. Even though the typical length is so large it reacts extremely quickly when the stock becomes overbought or oversold. Because of this the indicator by itself doesn't work as well during choppy periods so Vitali recommends using a moving average crossover system during choppy so do one indicator with the default length of 50 and use a different length of 10 so when the shorter length crosses over the longer length then buy and vice versa you would sell. Generally speaking buy when the line turns green and sell when it turns red. I have used strong buy and sell signals in addition to normal signals so strong signals are darker in color and normal signals are lighter in color.
Let me know if there are any other scripts or indicators you would like me to publish!
IBD RS, Relative strengthRelative Strength calculation of 3 time periods: 12 months, 6 months and 3 months.
Sectors Relative Strength Normal DistributionI wrote this indicator as an attempt to see the Relative Strengths of different sectors in the same scale, but there is also other ways to do that.
This indicator plots the normal distribution for the 10 sectors of the SPY for the last X bars of the selected resolution, based on the selected comparative security. It shows which sectors are outperforming and underperforming the SPY (or any other security) relatively to each other by the given deviation.
Kairi Relative Index Leading IndicatorHere is a leading indicator based on the relatively obscure Kairi Relative Index. The Kairi comes from Japan and is similar to the popular RSI, although it is believed that it predates the RSI significantly.
The Kairi measures the difference between the current price and its SMA as a percentage of the moving average.
We made a few modifications to the Kairi to improve its timing and balance its sensitivity. First, we calculated a 'fast' and 'slow' Kairi Relative Index. To do this, it calculates the difference between the current price and a SMA with a length of 7 periods for the fast Kairi. Then, the difference between the current price and an SMA of length 24 is calculated for the slow Kairi.
The big modification is using a 25 period SMA of slow Kairi Relative Index values as the threshold for buy and sell signals. When the fast Kairi line crosses above the white line(the threshold) it is considered a bullish signal, while a bearish signal comes when it crosses back below the same white line. This solved the issue with the Kairi having slower reaction time than the RSI. As the chart shows, this setup allowed it to catch not only major trends but also predict unexpected price spikes.
Users can adjust all 3 lengths, as well as adjust the option to have the slow Kairi displayed on the chart(shown in second pane).
Session Relative VolumeSession Relative Volume is an advanced intraday futures volume indicator that analyzes volume separately for Asia, London, and New York sessions - something standard relative volume tools can’t do.
Instead of aggregating the entire day’s volume, the indicator compares current volume to historical averages for the same session and time of day, allowing you to spot true volume strength and meaningful spikes, especially around session opens.
Background
Relative volume helps traders spot unusual activity: high volume often signals institutional participation and trending days, while low volume suggests weak commitment and possible mean reversion. In futures markets, sessions ( Asia, London, New York ) must be analyzed separately, but TradingView’s Relative Volume in Time aggregates the entire day, masking session-specific behavior - especially during the New York open. Since volume can vary by more than 20× between sessions, standard averages struggle to identify meaningful volume spikes when trader conviction matters most.
Indicator Description
The “Session Relative Volume” indicator solves these problems by calculating historical average volume specific to each session and time of day, and comparing current volume against those benchmarks. It offers four display modes and fully customizable session times
Altogether, it provides traders with a powerful tool for analyzing intraday futures volume, helping to better assess market participation, trader conviction, and overall market conditions - ultimately supporting improved trading decisions.
Parameters
Mode – display mode:
R-VOL: Relative cumulative session-specific volume at time
VOL CUM: Cumulative session volume at time compared to historical average cumulative session-specific volume
VOL AVG: Average session intrabar volume at time compared to historical average session-specific intrabar volume
VOL: Individual bars volume, highlighting (solid color) unusual spikes
Lookback period – number of days used for calculating historical average session volume at time
MA Len – length of the moving average, representing average bar volume within a session based on previous periods (different from historical cumulative volume!). Used only in VOL and VOL AVG modes
MA Thresh – deviation from moving average, used to detect bar volume spikes (bar volume > K × moving average)
Start Time – End Time and Time Zone parameters for each session. The time zone must be set using TradingView’s format (e.g., GMT+1).
Relative volume zone + Smart Order Flow Dynamic S/ROverview:
The Relative Volume Zone + Smart Order Flow with Dynamic S/R indicator is designed to help traders identify key trading opportunities by combining multiple technical components. This script integrates relative volume analysis, order flow detection, VWAP, RSI filtering, and dynamic support and resistance levels to offer a comprehensive view of the market conditions. It is particularly effective on shorter timeframes (M5, M15), making it suitable for scalping and day trading strategies.
Key Components:
1. Relative Volume Zones:
• The script calculates the relative volume by comparing the current volume with the average volume over a defined lookback period (volLookback). When the relative volume exceeds a specified multiplier (volMultiplier), it indicates a high volume zone, signaling potential accumulation or distribution areas.
• Purpose: Identifies high-volume trading zones that may act as significant support or resistance, indicating possible entry or exit points.
2. Smart Order Flow Analysis:
• The indicator uses Volume Delta (the difference between buying and selling volume) and a Cumulative Delta to detect order imbalances in the market.
• Order Imbalance is identified using a moving average of the Volume Delta (orderImbalance), which helps highlight hidden buying or selling pressure.
• Purpose: Reveals market sentiment by showing whether buyers or sellers dominate the market, aiding in the identification of trend reversals or continuations.
3. VWAP (Volume Weighted Average Price):
• VWAP is calculated over a default daily length (vwapLength) to show the average price a security has traded at throughout the day, based on both volume and price.
• Purpose: Provides insight into the fair value of the asset, indicating whether the market is in an accumulation or distribution phase.
4. RSI (Relative Strength Index) Filter:
• RSI is used to filter buy and sell signals, preventing trades in overbought or oversold conditions. It is calculated using a specified period (rsiPeriod).
• Purpose: Reduces false signals and improves trade accuracy by only allowing trades when RSI conditions align with volume and order flow signals.
5. Dynamic Support and Resistance Levels:
• The script dynamically plots support and resistance levels based on recent swing highs and lows (swingLookback).
• Purpose: Identifies potential reversal zones where price action may change direction, allowing for more precise entry and exit points.
How It Works:
• Buy Signal:
A buy signal is generated when:
• The price enters a high-volume zone.
• The price crosses above a 5-period moving average.
• The cumulative delta shows more buying pressure (cumulativeDelta > SMA of cumulativeDelta).
• The RSI is below 70 (not in overbought conditions).
• Sell Signal:
A sell signal is generated when:
• The price enters a high-volume zone.
• The price crosses below a 5-period moving average.
• The cumulative delta shows more selling pressure (cumulativeDelta < SMA of cumulativeDelta).
• The RSI is above 30 (not in oversold conditions).
• Dynamic Support and Resistance Lines:
Drawn based on recent swing highs and lows, these lines provide context for potential price reversals or breakouts.
• VWAP and Order Imbalance Lines:
Plotted to show the average traded price and highlight order flow shifts, helping to validate buy/sell signals.
How to Use:
1. Apply the Indicator:
Add the script to your chart and adjust the settings to match your trading style and preferred timeframe (optimized for M5/M15).
2. Interpret the Signals:
Use the buy and sell signals in conjunction with dynamic support/resistance, VWAP, and order imbalance lines to identify high-probability trade setups.
3. Monitor Alerts:
Set alerts for significant order flow events to receive notifications when there is a positive or negative order imbalance, indicating potential market shifts.
What Makes It Unique:
This script is unique because it combines multiple market analysis tools — relative volume zones, smart order flow, VWAP, RSI filtering, and dynamic support/resistance — to provide a well-rounded, multi-dimensional view of the market. This integration allows traders to make more informed decisions by validating signals across various indicators, enhancing overall trading accuracy and effectiveness.
Relative Volume (rVol), Better Volume, Average Volume ComparisonThis is the best version of relative volume you can find a claim which is based on the logical soundness of its calculation.
I have amalgamated various volume analysis into one synergistic script. I wasn't going to opensource it. But, as one of the lucky few winners of TradingClue 2. I felt obligated to give something back to the community.
Relative volume traditionally compares current volume to prior bar volume or SMA of volume. This has drawbacks. The question of relative volume is "Volume relative to what?" In the traditional scripts you'll find it displays current volume relative to the last number of bars. But, is that the best way to compare volume. On a daily chart, possibly. On a daily chart this can work because your units of time are uniform. Each day represents a full cycle of volume. However, on an intraday chart? Not so much.
Example: If you have a lookback of 9 on an hourly chart in a 24 hour market, you are then comparing the average volume from Midnight - 9 AM to the 9 AM volume. What do you think you'll find? Well at 9:30 when NY exchanges open the volume should be consistently and predictably higher. But though rVol is high relative to the lookback period, its actually just average or maybe even below average compared to prior NY session opens. But prior NY session opens are not included in the lookback and thus ignored.
This problem is the most visibly noticed when looking at the volume on a CME futures chart or some equivalent. In a 24 hour market, such as crypto, there are website's like skew can show you the volume disparity from time of day. This led me to believe that the traditional rVol calculation was insufficient. A better way to calculate it would be to compare the 9:30 am 30m bar today to the last week's worth of 9:30 am 30m bars. Then I could know whether today's volume at 9:30 am today is high or low based on prior 9:30 am bars. This seems to be a superior method on an intraday basis and is clearly superior in markets with irregular volume
This led me to other problems, such as markets that are open for less than 24 hours and holiday hours on traditional market exchanges. How can I know that the script is accurately looking at the correct prior relevant bars. I've created and/or adapted solutions to all those problems and these calculations and code snippets thus have value that extend beyond this rVol script for other pinecoders.
The Script
This rVol script looks back at the bars of the same time period on the viewing timeframe. So, as we said, the last 9:30 bars. Averages those, then divides the: . The result is a percentage expressed as x.xxx. Thus 1.0 mean current volume is equal to average volume. Below 1.0 is below the average and above 1.0 is above the average.
This information can be viewed on its own. But there are more levels of analysis added to it.
Above the bars are signals that correlate to the "Better Volume Indicator" developed by, I believe, the folks at emini-watch and originally adapted to pinescript by LazyBear. The interpretation of these symbols are in a table on the right of the indicator.
The volume bars can also be colored. The color is defined by the relationship between the average of the rVol outputs and the current volume. The "Average rVol" so to speak. The color coding is also defined by a legend in the table on the right.
These can be researched by you to determine how to best interpret these signals. I originally got these ideas and solid details on how to use the analysis from a fellow out there, PlanTheTrade.
I hope you find some value in the code and in the information that the indicator presents. And I'd like to thank the TradingView team for producing the most innovative and user friendly charting package on the market.
(p.s. Better Volume is provides better information with a longer lookback value than the default imo)
Credit for certain code sections and ideas is due to:
LazyBear - Better Volume
Grimmolf (From GitHub) - Logic for Loop rVol
R4Rocket - The idea for my rVol 1 calculation
And I can't find the guy who had the idea for the multiples of volume to the average. Tag him if you know him
Final Note: I'd like to leave a couple of clues of my own for fellow seekers of trading infamy.
Indicators: indicators are like anemometers (The things that measure windspeed). People talk bad about them all the time because they're "lagging." Well, you can't tell what the windspeed is unless the wind is blowing. anemometers are lagging indicators of wind. But forecasters still rely on them. You would use an indicator, which I would define as a instrument of measure, to tell you the windspeed of the markets. Conversely, when people talk positively about indicators they say "This one is great and this one is terrible." This is like a farmer saying "Shovels are great, but rakes are horrible." There are certain tools that have certain functions and every good tool has a purpose for a specific job. So the next time someone shares their opinion with you about indicators. Just smile and nod, realizing one day they'll learn... hopefully before they go broke.
How to forecast: Prediction is accomplished by analyzing the behavior of instruments of measure to aggregate data (using your anemometer). The data is then assembled into a predictive model based on the measurements observed (a trading system). That predictive model is tested against reality for it's veracity (backtesting). If the model is predictive, you can optimize your decision making by creating parameter sets around the prediction that are synergistic with the implications of the prediction (risk, stop loss, target, scaling, pyramiding etc).
<3
Relative StrengthDescription
Relative Strength between a stock and a reference index (e.g., Intesa San Paolo vs. FTSEMIB).
This indicator calculates the Relative Strength (RS) as either a simple ratio of the base symbol's close to the comparative symbol's close, or as a normalized ratio over a lookback period. It helps identify the relative performance of a stock against an index, which can signal intermediate trends when the RS is above its moving average.
Key features:
- Input for comparative symbol (default: FTSEMIB).
- Option to toggle between simple ratio or ratio-over-time calculation.
- Adjustable lookback period for the ratio-over-time method.
- Optional display of a moving average on the RS line for trend analysis.
Use it to compare a stock's strength to the market—rising RS may indicate outperformance.
Script Overview
This is a Relative Strength (RS) indicator for TradingView (written in Pine Script version 5).
It compares the price performance of the current chart's symbol (e.g., a stock like Intesa San Paolo) against another symbol you choose (by default, the Italian index FTSEMIB).
The goal is to show whether the stock is outperforming or underperforming the reference index.
User Inputs (configurable in the settings panel)
Comparative Symbol Default: FTSEMIB
You can change it to any other ticker (e.g., SPX, DAX, etc.).
Calculate RS as simple ratio (true) or ratio over time (false)?
true (default): Simple ratio → current close of stock ÷ current close of index.
false: Ratio of returns over a lookback period (more normalized, less affected by absolute price levels).
Lookback Period (default 40 - weeks)
Only used when the above option is set to false.
Defines how many bars back to calculate the price change.
Show Moving Average (default off)
Optionally overlays a simple moving average on the RS line.
Moving Average Period (default 40 - weeks)
Length of the SMA when the MA is enabled.
Typical Use CaseTraders often look for:
Rising RS line → the stock is gaining strength vs. the index.
RS crossing above its moving average → potential bullish signal for relative performance.
Declining or falling RS → the stock is weakening vs. the broader market.
In summary, this is a clean and flexible relative strength comparator that lets you quickly visualize how strongly (or weakly) a stock is performing compared to a benchmark index, with two different calculation methods to suit different analytical preferences.
Relative Strength RatioAbout this indicator:
This indicator goes under many different names such as Relative Strength Ratio, Comparative Strength, Relative Strength Comparison (RSC) etc.
It compares the strength of the current asset to another asset of your choice and displays the relative strength of the current asset. (Not RSI)
There are several comparative indicators published already here on TV but I have added some unique features that I think is really useful.
When to use it:
This is useful when you want to compare for example a stock with its sector to find out if the stock is a leadership stock in that sector or main index.
You could also use it to compare the sector to its index etc.
If you want to compare for example a stock to both its index and its sector at the same time I suggest you add 2 instances of this indicator.
In many trading systems you are supposed find the strongest tickers by identifying "layers of strength" like 1. The strongest asset class that money is flowing into (like stocks, commodities, bonds, etc.) 2. Find the strongest sectors. 3. Find the stocks outperforming those sectors. 4. Find some kind of entry signal there.
How it works:
The indicator calculates an "RS line" (Relative Strength) by dividing the current ticker with a ticker of your choice. This creates a ratio or pair similar to how currencies are related to each others like USDGBP (dollar against pound). The RS line is black by default so you might want to change its color if you use a dark theme.
If the RS line is moving up it means your current asset is stronger than the asset you are comparing it with and vice versa.
Use the simple moving average to quickly see long term strength trends.
Features
RS line
Shows the relative strength of the current asset.
SMA
This Simple Moving Average has directional coloring; green when it is angled up and red when it is angled down. You can customise the period in the settings. If you don't want the color change just make both up/down color the same.
Relative market label
This displays the market you are currently comparing with as a label next to the last data point.
Because I tried stocks in 2 different countries I want to know which index I am comparing with and this label saves me from going into the settings to check. I find it to be a life saver!
Please let me know if you find any problems or if you have any ideas for improvement
Relative Vigor Index (RVI) with EMD [AIBitcoinTrend]👽 Adaptive Relative Vigor Index with EMD & Signals (AIBitcoinTrend)
The Adaptive Relative Vigor Index (RVI) with Empirical Mode Decomposition (EMD) is an enhanced version of the traditional RVI, designed to improve signal clarity and responsiveness to market conditions. By integrating EMD smoothing and adaptive volatility-based trailing stops.
👽 What Makes the Adaptive RVI with EMD Unique?
Unlike the standard RVI, which often lags in volatile markets, this version refines price momentum detection by applying Empirical Mode Decomposition (EMD), effectively filtering out noise. Additionally, it features ATR-based trailing stops for precise trade execution.
Key Features:
EMD-Enhanced RVI – Filters out short-term noise, improving signal accuracy.
Crossover & Crossunder Signals – Generates trade signals based on RVI trends.
ATR-Based Trailing Stop – Adjusts dynamically based on volatility for optimal risk management.
👽 The Math Behind the Indicator
👾 RVI Calculation with EMD Smoothing
The Relative Vigor Index (RVI) measures trend strength by comparing the relationship between closing and opening prices, relative to the high-low range. Traditional RVI uses fixed smoothing, whereas this version applies Empirical Mode Decomposition (EMD) to extract dominant price cycles and improve trend clarity.
How It Works:
The RVI is initially calculated using a weighted moving average (WMA) over a specified period.
EMD refines the RVI signal by removing high-frequency noise, creating a smoothed RVI component.
This results in a more stable and reliable trend indicator.
👽 How Traders Can Use This Indicator
👾 Trailing Stop & Signal-Based Trading
Bullish Setup:
✅ RVI crosses above EMD → Buy signal.
✅ A bullish trailing stop is placed at low - ATR × Multiplier.
✅ Exit if price crosses below the stop.
Bearish Setup:
✅ RVI crosses below EMD → Sell signal.
✅ A bearish trailing stop is placed at high + ATR × Multiplier.
✅ Exit if price crosses above the stop.
👾 Detecting Overbought & Oversold Areas
This indicator helps traders identify potential reversal zones by highlighting overbought and oversold conditions.
Overbought Zone: When RVI moves above 0.4, the market may be overextended, signaling a potential reversal downward.
Oversold Zone: When RVI moves below -0.4, the market may be undervalued, suggesting a possible upward reversal.
Using these levels, traders can confirm entry and exit points alongside divergence signals for higher probability trades.
👽 Why It’s Useful for Traders
EMD-Based Signal Enhancement: Filters out noise, refining momentum signals.
Adaptive ATR-Based Risk Management: Automatically adjusts stop-loss levels to market conditions.
Works Across Multiple Markets & Timeframes: Effective for stocks, forex, crypto, and futures trading.
👽 Indicator Settings
RVI Length – Defines the period for calculating the Relative Vigor Index.
EMD Period – Controls the level of EMD smoothing applied.
Final Smoothing – Adjusts the degree of additional signal filtering.
Lookback Period – Determines how many bars are used for detecting pivot points.
Enable Trailing Stop – Activates dynamic ATR-based trailing stops.
ATR Multiplier – Adjusts the stop-loss sensitivity.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
MM Relative Volume (RVOL)What this script does:
This script shows you the "Relative Volume" (RVOL) value up to the current minute. RVOL is the volume from market open up to the current minute today, compared to the average of the same over the last n (30 by default) days.
How this script works:
There are a lot of indicators out there for RVOL, but they all take shortcuts that result in sub-par data. This indicator goes the distance to store data for every minute for the last n days for the current chart, then in sums the volume up to the current minute today along with the average of the same up-to-the-minute data from the prior n days to calculate the relative volume of the stock. It's super important to get this data up to the current minute, because most traders use this information primarily during the first 90 minutes of trading, and need to know if this value is going up or down.
How to use this script:
Relative volume can be used to gauge how "In Play" a stock is. If RVOL is less than 1 it is not "In Play" on this trading day and you might not want to trade it. If RVOL is above 2, it is "In Play" and you may want to trade it. When stocks are very "In Play", you can see an RVOL of 5 and above. The higher the RVOL the more "In Play" the stock is. You can also used RVOL for position sizing. If RVOL is <1 you may decide not to take a large position in the name. If RVOL is >3, this may give you more confidence to take a larger position as more reward and more liquidity should be present.
What makes this script original:
This particular implementation of RVOL has never been done before on TradingView to my knowledge. Most other indicators use a rolling average of the prior 30 days which is much easier to do, but this doesn't actually work properly because instead of getting large volume spikes from prior days filtered out correctly, it takes a LOT longer for those to even out as the rolling average eventually smooths down. Instead, with this indicator, any large/small volume days will truly drop off after the moving average length and the calculated average daily volume (ADV) will be accurate up to the minute. For more details on the original concept behind this indicator, check out the blog linked on my profile.
Relative Strength NSE:Nifty for TF CommunityThis is a modified version of the Relative Strength Indicator (No confusion with RSI) originally by in.tradingview.com/u/modhelius/ based on The indicator calculates the relative strength between a selected stock and a comparative symbol (typically a market index like NSE:NIFTY).
Relative strength (RS) compares the performance of two assets, typically a stock and a market index, by dividing their percentage changes over a specific period. This indicator oscillates around zero:
- Greater than 0: Indicates the stock has outperformed the comparative symbol.
- Less than 0: Indicates the stock has underperformed the comparative symbol.
Key Enhancements:
This Relative Strength Indicator offers practical features to automatically adjusts the comparison period based on the chart’s timeframe, whether daily, weekly, or monthly, so you don’t have to make manual changes.
Secondly, if the selected stock has fewer bars than the comparison period, the indicator uses the shorter period to ensure accurate results. The default colors are hardcoded so they look fine for both dark and white themes, but of course can be changed.
You can customise the settings to fit your needs. The default period is set to 50/52, and the comparative symbol is NSE:NIFTY, but both can be changed. There’s also an option to toggle a moving average on or off, providing a smoother visual representation.
Candle Strength based on Relative Strength of EMAOverview:
The EMA-Based Relative Strength Labels indicator provides a dynamic method to visualize the strength of price movements relative to an Exponential Moving Average (EMA). By comparing the current price to the EMA, it assigns labels (A, B, C for bullish and X, Y, Z for bearish) to candles, indicating the intensity of bullish or bearish behavior.
Key Features:
Dynamic EMA Comparison: The indicator calculates the difference between the current price and the EMA, expressing it as a percentage to determine relative strength.
Configurable Thresholds: Users can set custom thresholds for strong, moderate, and low bullish or bearish movements, allowing for tailored analysis based on personal trading strategy or market behavior.
Clear Visual Labels: Each candle is labeled directly on the chart, making it easy to spot significant price movements at a glance.
Usage:
Trend Confirmation: The labels help confirm the prevailing trend's strength, aiding traders in decision-making regarding entry or exit points.
Risk Management: By identifying the strength of the price movements, traders can better manage stop-loss placements and avoid potential false breakouts.
Strategy Development: Incorporate the indicator into trading systems to enhance strategies that depend on trend strength and momentum.
How It Works:
The script calculates the EMA of the closing prices and measures the relative strength of each candle to this average.
Bullish candles above the EMA and bearish candles below the EMA are further analyzed to determine their strength based on predefined percentage thresholds.
Labels 'A', 'B', and 'C' are assigned for varying degrees of bullish strength, while 'X', 'Y', and 'Z' denote levels of bearish intensity.
Customization:
Users can adjust the EMA period and modify the strength thresholds for both bullish and bearish conditions to suit different instruments and timeframes.
Best Practices:
Combine this indicator with volume analysis and other technical tools for comprehensive market analysis.
Regularly update the thresholds based on market volatility and personal risk tolerance to maintain the effectiveness of the labels.
Relative Performance of stock against nifty & bank niftyThe code calculates the relative performance of Nifty and Bank Nifty and plots it on a chart. It also calculates the 14-day RSI and a moving average of the relative performance.
First, the script retrieves the daily close prices for Nifty and Bank Nifty from the NSE using the request.security() function. It then calculates the daily returns for each index and the average returns over a specified lookback period. The relative performance is then calculated as the difference between the current close price and its moving average, expressed as a percentage of the moving average, minus the average daily returns of Nifty and Bank Nifty.
The script then calculates the 14-day RSI using the ta.rsi() function and plots the relative performance on the chart in green color. A signal line at zero is also plotted in black color. Additionally, the moving average of the relative performance is plotted on the chart using the ta.sma() function and an input variable called "interval" is used to specify the number of bars to use for the moving average.
Finally, the script sets the color of the chart bars based on the relative performance and RSI values. If the relative performance is above the moving average and the RSI is above 50, the color of the bars is set to yellow. If the relative performance is below the moving average and the RSI is below 50, the color of the bars is set to a shade of purple.
RELATIVE VALUE TRADE MANAGEMENT WEBHOOKThis script it's created to send open-close signals via webhook. It allows you to open a relative value position based in the relative graph. You can set the TP and SL levels and the script will send the signal to your exchange.
Due a pine limitations it is necessary apply the script in the 2 different actives and set the alerts. You can just do the relative analysis and then go to the first asset and set the script. Create your alert and then just go to the other asset and create the alert. It doesn't necessary to change anything in the script because the levels are the same.
It is also possible to do the analysis using the script, deploying the relative graph, but could be annoying sometimes due scales.
Positions will be placed at close always.
THIS IS IMPORTANT: I use Zignaly as a exhange so if you are using Binance or other YOU MUST CHANGE the code. If you know the JSON format that It requires would be easy.
Here is tips in all the important imputs. But let me explain the most important.
The MANDATORY fields are:
Ticker IDs: Here you must write the EXACT ID code for the active. Caps included.
Example : BINANCE:SUSHIUSDTPERP
It is also important select the correct market side. If you want to be long of ANY active you must write that ID in the LONG ID. For short positions is the same.
Time frame: Here you can select the time frame of the graph (not the current active graph, I mean the relative one.) The orders will be send using that time frame. I recommend to do the analysis in other window and then use the script to trigger the order in the time frame that you want.
Money management: In these fields you can select the qty that you will lose if the SL level is reach. Based in a determinated amount of currency or in a % of your capital.
Dates: It is important to select the start date. If the order is already open, we must look for the moment where the activation price was reached. If the order is unopened it is better to select the current date, so the order will be triggered when the entry level is reached.
Ids: If you have current open position you can set here that ID to send the correct order to the exchange.
To set the alert just call the function {{{strategy.order.alert_message}}}
Relative Strength Volatility Adjusted Ema [CC]The Relative Strength Volatility Adjusted Exponential Moving Average was created by Vitali Apirine (Stocks and Commodities Mar 2022) and this is his final indicator of his recent Relative Strength series. I published both of the previous indicators, Relative Strength Volume Adjusted Exponential Moving Average and Relative Strength Exponential Moving Average
This indicator is particularly unique because it uses the Volatility Index (VIX) symbol as the default to determine volatility and uses this in place of the current stock's price into a typical relative strength calculation. As you can see in the chart, it follows the price much closer than the other two indicators and so of course this means that this indicator is best for choppy markets and the other two are better for trending markets. I would of course recommend to experiment with this one and see what works best for you.
I have included strong buy and sell signals in addition to normal ones so strong signals are darker in color and normal signals are lighter in color. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators or scripts you would like to see me publish!
Multiple Relative Strength IndicatorThis indicator is used to display multiple Relative strength of a stock compared with another.
Default value for the first Relative strength period is 55
Default value for the second Relative strength period is 21
Default value for the comparable Index is CNX500
You can add the sectorial index for sector comparison
Relative Strength Range RankRelative Strength Range Rank – Chart Asset vs. Benchmarks
Description:
This indicator calculates and ranks the relative strength position of the current chart’s asset against up to five user-defined comparison symbols. By default, the comparison set is USDT.D, USDC.D and DAI.D.
Calculation method:
The same oscillator calculation is applied identically to the current chart’s asset and all comparison symbols:
For each symbol:
Determine the lowest low over LOWEST bars.
Determine the highest high over HIGHEST bars.
Calculate normalized position within range:
raw_osc = (close - lowest_low) / (highest_high - lowest_low) * 100
Apply a 10-period EMA to smooth raw_osc.
Invert and scale to match assets direction:
raw_osc = 100 - EMA_10(raw_osc)
Apply weighted smoothing:
smoothed = 0.191 * previous_value + 0.809 * current_value
Apply a final 1-period EMA to reduce jitter.
Output is the inverted smoothed oscillator value, representing the relative strength rank.
This function is implemented as calculate_oscillator() and used for all input symbols plus the current chart symbol, ensuring consistency in comparative analysis.
Plotting:
Each comparison symbol oscillator is plotted in the indicator pane.
The current chart oscillator is always plotted in black.
Alert condition:
Boolean chart_osc_above_all is true when the current chart oscillator is strictly greater than all other comparison oscillator values.
The alert chart_osc_crossed_above triggers only on the first bar where chart_osc_above_all changes from false to true.
Smoothing advantage:
The smoothing sequence (EMA → weighted smoothing → EMA) is designed to reduce short-term noise while preserving responsiveness to changes in price position.
The initial EMA(10) filters random fluctuations.
The weighted smoothing step (0.191 * prev + 0.809 * current) reduces overshoot and dampens oscillations without introducing significant lag, unlike longer EMAs.
The final EMA(1) step ensures stability in the plotted oscillator without visible jaggedness.
This combination yields a signal that is both smooth and reactive, making relative strength comparisons more precise.
Inputs:
Sym 1–5: up to five comparison tickers.
Lowest low lookback period ( LOWEST ).
Highest high lookback period ( HIGHEST ).
Color for plotted comparison lines.
Output:
Oscillator values from 0 to 100, where higher values indicate that the asset’s current price is closer to the highest high of the lookback period, and lower values indicate proximity to the lowest low.
Sorted table showing all selected assets ranked by oscillator value.
Optional alert when the current chart asset leads all selected assets in oscillator value.
Short Description:
Computes range-normalized oscillator values for the chart asset and up to 5 symbols, using EMA and weighted smoothing to reduce noise while preserving responsiveness; optional alert when the chart asset exceeds all others.
Relative Strength vs SPX
This indicator calculates the ratio of the current chart's price to the S&P 500 Index (SPX), providing a measure of the stock's relative strength compared to the broader market.
Key Features:
Dynamic High/Low Detection: Highlights periods when the ratio makes a new high (green) or a new low (red) based on a user-defined lookback period.
Customizable Lookback: The lookback period for detecting highs and lows can be adjusted in the settings for tailored analysis.
Visual Overlay: The ratio is plotted in a separate pane, allowing easy comparison of relative strength trends.
This tool is useful for identifying stocks outperforming or underperforming the S&P 500 over specific timeframes.
Relative Momentum Index with Laguerre FilterThe Relative Momentum Index
The Relative Momentum Index (RMI) is an oscillator that is a variation of the Relative Strength Index (RSI), but incorporates momentum over a variable lookback period rather than just consecutive price changes, which can help identify reversals and filter out noise.
It measures the momentum of price changes over a specified period, rather than just the magnitude of price changes like the RSI does.
It counts up and down days from the current closing price relative to the closing price a certain number of days ago (e.g. 5 days ago), instead of just comparing consecutive daily closes like the RSI
It is calculated by taking the ratio of the average upward price changes to the average downward price changes over a given period, where each change is measured from the close X days ago (X is the “momentum” period)
Like the RSI, the RMI oscillates between 0 and 100, with readings above 70 considered overbought and below 30 oversold.
In trending markets, the RMI tends to remain in overbought or oversold territory for extended periods. In trading ranges, it oscillates more predictably between the overbought and oversold levels.
The RMI is generally considered better than the RSI at identifying potential reversal points, as it incorporates a momentum factor rather than just strength.
It can be used in a similar way to the RSI for trade signals, such as buying when it rises above 30 from below, or selling when it falls below 70 from above
The Laguerre filter
A Laguerre filter is a type of infinite impulse response (IIR) filter used for smoothing signals or data. The Laguerre filter provides a way to apply variable smoothing to a signal by adjusting its pole position, allowing you to control the balance between smoothness and lag based on your preferences. It is an alternative to simple moving averages that can better preserve the shape of the original signal.






















