OPEN-SOURCE SCRIPT
Volumetric Support and Resistance [BackQuant]

Volumetric Support and Resistance [BackQuant]
What this is
This Overlay locates price levels where both structure and participation have been meaningful. It combines classical swing points with a volume filter, then manages those levels on the chart as price evolves. Each level carries:
• A reference price (support or resistance)
• An estimate of the volume that traded around that price
• A touch counter that updates when price retests it
• A visual box whose thickness is scaled by volatility
The result is a concise map of candidate support and resistance that is informed by both price location and how much trading occurred there.
How levels are built
Find structural pivots uses ta.pivothigh and ta.pivotlow with a user set sensitivity. Larger sensitivity looks for broader swings. Smaller sensitivity captures tighter turns.
Require meaningful volume computes an average volume over a lookback period and forms a volume ratio for the current bar. A pivot only becomes a level when the ratio is at least the volume significance multiplier.
Avoid clustering checks a minimum level distance (as a percent of price). If a candidate is too close to an existing level, it is skipped to keep the map readable.
Attach a volume strength to the level estimates volume strength by averaging the volume of recent bars whose high to low range spans that price. Levels with unusually high strength are flagged as high volume.
Store and draw levels are kept in an array with fields for price, type, volume, touches, creation bar, and a box handle. On the last bar, each level is drawn as a horizontal box centered at the price with a vertical thickness scaled by ATR. Borders are thicker when the level is marked high volume. Boxes can extend into the future.
How levels evolve over time
• Aging and pruning: levels are removed if they are too old relative to the lookback or if you exceed the maximum active levels.
• Break detection: a level can be removed when price closes through it by more than a break threshold set as a fraction of ATR. Toggle with Remove Broken Levels.
• Touches: when price approaches within the break threshold, the level’s touch counter increments.
Visual encoding
• Boxes: support boxes are green, resistance boxes are red. Box height uses an ATR based thickness so tolerance scales with volatility. Transparency is fixed in this version. Borders are thicker on high volume levels.
• Volume annotation: show the estimated volume inside the box or as a label at the right. If a level has more than one touch, a suffix like “(2x)” is appended.
• Extension: boxes can extend a fixed number of bars into the future and can be set to extend right.
• High volume bar tint: bars with volume above average × multiplier are tinted green if up and red if down.
Inputs at a glance
Core Settings
• Level Detection Sensitivity — pivot window for swing detection
• Volume Significance Multiplier — minimum volume ratio to accept a pivot
• Lookback Period — window for average volume and maintenance rules
Level Management
• Maximum Active Levels — cap on concurrently drawn levels
• Minimum Level Distance (%) — required spacing between level prices
Visual Settings
• Remove Broken Levels — drop a level once price closes decisively through it
• Show Volume Information on Levels — annotate volume and touches
• Extend Levels to Right — carry boxes forward
Enhanced Visual Settings
• Show Volume Text Inside Box — text placement option
• Volume Based Transparency and Volume Based Border Thickness — helper logic provided; current draw block fixes transparency and increases border width on high volume levels
Colors
• Separate colors for support, resistance, and their high volume variants
How it can be used
• Trade planning: use the most recent support and resistance as reference zones for entries, profit taking, or stop placement. ATR scaled thickness provides a practical buffer.
• Context for patterns: combine with breakouts, pullbacks, or candle patterns. A breakout through a high volume resistance carries more informational weight than one through a thin level.
• Prioritization: when multiple levels are nearby, prefer high volume or higher touch counts.
• Regime adaptation: widen sensitivity and increase minimum distance in fast regimes to avoid clutter. Tighten them in calm regimes to capture more granularity.
Why volume support and resistance is used in trading
Support and resistance relate to willingness to transact at certain prices. Volume measures participation. When many contracts change hands near a price:
• More market players hold inventory there, often creating responsive behavior on retests
• Order flow can concentrate again to defend or to exit
• Breaks can be cleaner as trapped inventory rebalances
Conditioning level detection on above average activity focuses attention on prices that mattered to more participants.
Alerts
• New Support Level Created
• New Resistance Level Created
• Level Touch Alert
• Level Break Alert
Strengths
• Dual filter of structure and participation, reducing trivial swing points
• Self cleaning map that retires old or invalid levels
• Volatility aware presentation using ATR based thickness
• Touch counting for persistence assessment
• Tunable inputs for instrument and timeframe
Limitations and caveats
• Volume strength is an approximation based on bars spanning the price, not true per price volume
• Pivots confirm after the sensitivity window completes, so new levels appear with a delay
• Narrow ranges can still cluster levels unless minimum distance is increased
• Large gaps may jump past levels and immediately trigger break conditions
Practical tuning guide
• If the chart is crowded: increase sensitivity, increase minimum level distance, or reduce maximum active levels
• If useful levels are missed: reduce volume multiplier or sensitivity
• If you want stricter break removal: increase the ATR based break threshold in code
• For instruments with session patterns: tailor the lookback period to a representative window
Interpreting touches and breaks
• First touch after creation is a validation test
• Multiple shallow touches suggest absorption; a later break may then travel farther
• Breaks on high current volume merit extra attention
Multi timeframe usage
Levels are computed on the active chart timeframe. A common workflow is to keep a higher timeframe instance for structure and a lower timeframe instance for execution. Align trades with higher timeframe levels where possible.
Final Thoughts
This indicator builds a lightweight, self updating map of support and resistance grounded in swings and participation. It is not a full market profile, but it captures much of the practical benefit with modest complexity. Treat levels as context and decision zones, not guarantees. Combine with your entry logic and risk controls.
What this is
This Overlay locates price levels where both structure and participation have been meaningful. It combines classical swing points with a volume filter, then manages those levels on the chart as price evolves. Each level carries:
• A reference price (support or resistance)
• An estimate of the volume that traded around that price
• A touch counter that updates when price retests it
• A visual box whose thickness is scaled by volatility
The result is a concise map of candidate support and resistance that is informed by both price location and how much trading occurred there.
How levels are built
Find structural pivots uses ta.pivothigh and ta.pivotlow with a user set sensitivity. Larger sensitivity looks for broader swings. Smaller sensitivity captures tighter turns.
Require meaningful volume computes an average volume over a lookback period and forms a volume ratio for the current bar. A pivot only becomes a level when the ratio is at least the volume significance multiplier.
Avoid clustering checks a minimum level distance (as a percent of price). If a candidate is too close to an existing level, it is skipped to keep the map readable.
Attach a volume strength to the level estimates volume strength by averaging the volume of recent bars whose high to low range spans that price. Levels with unusually high strength are flagged as high volume.
Store and draw levels are kept in an array with fields for price, type, volume, touches, creation bar, and a box handle. On the last bar, each level is drawn as a horizontal box centered at the price with a vertical thickness scaled by ATR. Borders are thicker when the level is marked high volume. Boxes can extend into the future.
How levels evolve over time
• Aging and pruning: levels are removed if they are too old relative to the lookback or if you exceed the maximum active levels.
• Break detection: a level can be removed when price closes through it by more than a break threshold set as a fraction of ATR. Toggle with Remove Broken Levels.
• Touches: when price approaches within the break threshold, the level’s touch counter increments.
Visual encoding
• Boxes: support boxes are green, resistance boxes are red. Box height uses an ATR based thickness so tolerance scales with volatility. Transparency is fixed in this version. Borders are thicker on high volume levels.
• Volume annotation: show the estimated volume inside the box or as a label at the right. If a level has more than one touch, a suffix like “(2x)” is appended.
• Extension: boxes can extend a fixed number of bars into the future and can be set to extend right.
• High volume bar tint: bars with volume above average × multiplier are tinted green if up and red if down.
Inputs at a glance
Core Settings
• Level Detection Sensitivity — pivot window for swing detection
• Volume Significance Multiplier — minimum volume ratio to accept a pivot
• Lookback Period — window for average volume and maintenance rules
Level Management
• Maximum Active Levels — cap on concurrently drawn levels
• Minimum Level Distance (%) — required spacing between level prices
Visual Settings
• Remove Broken Levels — drop a level once price closes decisively through it
• Show Volume Information on Levels — annotate volume and touches
• Extend Levels to Right — carry boxes forward
Enhanced Visual Settings
• Show Volume Text Inside Box — text placement option
• Volume Based Transparency and Volume Based Border Thickness — helper logic provided; current draw block fixes transparency and increases border width on high volume levels
Colors
• Separate colors for support, resistance, and their high volume variants
How it can be used
• Trade planning: use the most recent support and resistance as reference zones for entries, profit taking, or stop placement. ATR scaled thickness provides a practical buffer.
• Context for patterns: combine with breakouts, pullbacks, or candle patterns. A breakout through a high volume resistance carries more informational weight than one through a thin level.
• Prioritization: when multiple levels are nearby, prefer high volume or higher touch counts.
• Regime adaptation: widen sensitivity and increase minimum distance in fast regimes to avoid clutter. Tighten them in calm regimes to capture more granularity.
Why volume support and resistance is used in trading
Support and resistance relate to willingness to transact at certain prices. Volume measures participation. When many contracts change hands near a price:
• More market players hold inventory there, often creating responsive behavior on retests
• Order flow can concentrate again to defend or to exit
• Breaks can be cleaner as trapped inventory rebalances
Conditioning level detection on above average activity focuses attention on prices that mattered to more participants.
Alerts
• New Support Level Created
• New Resistance Level Created
• Level Touch Alert
• Level Break Alert
Strengths
• Dual filter of structure and participation, reducing trivial swing points
• Self cleaning map that retires old or invalid levels
• Volatility aware presentation using ATR based thickness
• Touch counting for persistence assessment
• Tunable inputs for instrument and timeframe
Limitations and caveats
• Volume strength is an approximation based on bars spanning the price, not true per price volume
• Pivots confirm after the sensitivity window completes, so new levels appear with a delay
• Narrow ranges can still cluster levels unless minimum distance is increased
• Large gaps may jump past levels and immediately trigger break conditions
Practical tuning guide
• If the chart is crowded: increase sensitivity, increase minimum level distance, or reduce maximum active levels
• If useful levels are missed: reduce volume multiplier or sensitivity
• If you want stricter break removal: increase the ATR based break threshold in code
• For instruments with session patterns: tailor the lookback period to a representative window
Interpreting touches and breaks
• First touch after creation is a validation test
• Multiple shallow touches suggest absorption; a later break may then travel farther
• Breaks on high current volume merit extra attention
Multi timeframe usage
Levels are computed on the active chart timeframe. A common workflow is to keep a higher timeframe instance for structure and a lower timeframe instance for execution. Align trades with higher timeframe levels where possible.
Final Thoughts
This indicator builds a lightweight, self updating map of support and resistance grounded in swings and participation. It is not a full market profile, but it captures much of the practical benefit with modest complexity. Treat levels as context and decision zones, not guarantees. Combine with your entry logic and risk controls.
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Check out whop.com/signals-suite for Access to Invite Only Scripts!
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Check out whop.com/signals-suite for Access to Invite Only Scripts!
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.