OPEN-SOURCE SCRIPT
Volume-Weighted Support & Resistance

This indicator detects swing highs and swing lows that formed on above-average volume and draws them as support/resistance zones. The idea behind the volume filter is simple: a swing point where many participants transacted is more likely to be defended or revisited than one that formed on thin volume.
How it works
Swing points are found with standard pivot detection (a bar higher/lower than a configurable number of bars on each side).
A pivot is only accepted if the volume on the pivot bar exceeded the volume moving average at that time by a configurable multiplier (default 1.5x the 20-bar average).
Accepted pivots become zones. Zone height is a multiple of ATR(14), so zones scale with the instrument's volatility.
When price closes through a zone, it is treated as broken: it either fades to gray or is removed, depending on your setting. Alert conditions fire on both resistance and support breaks.
Only the most recent N levels per side are kept (configurable), so charts stay readable.
Notes and limitations
Pivot detection needs the configured number of bars to the right before a swing point can be confirmed, so zones always appear with that delay — this is inherent to pivots, not a flaw specific to this script. Break detection uses confirmed closes only. Volume data quality varies by market and data feed (notably in forex, where volume is tick-based). Past reactions at a level do not guarantee future reactions; use this as one input in your own analysis.
How it works
Swing points are found with standard pivot detection (a bar higher/lower than a configurable number of bars on each side).
A pivot is only accepted if the volume on the pivot bar exceeded the volume moving average at that time by a configurable multiplier (default 1.5x the 20-bar average).
Accepted pivots become zones. Zone height is a multiple of ATR(14), so zones scale with the instrument's volatility.
When price closes through a zone, it is treated as broken: it either fades to gray or is removed, depending on your setting. Alert conditions fire on both resistance and support breaks.
Only the most recent N levels per side are kept (configurable), so charts stay readable.
Notes and limitations
Pivot detection needs the configured number of bars to the right before a swing point can be confirmed, so zones always appear with that delay — this is inherent to pivots, not a flaw specific to this script. Break detection uses confirmed closes only. Volume data quality varies by market and data feed (notably in forex, where volume is tick-based). Past reactions at a level do not guarantee future reactions; use this as one input in your own analysis.
Script de código abierto
Fiel al espíritu de TradingView, el creador de este script lo ha convertido en código abierto, para que los traders puedan revisar y verificar su funcionalidad. ¡Enhorabuena al autor! Aunque puede utilizarlo de forma gratuita, recuerde que cualquier republicación del código está sujeta a nuestras Normas internas.
Exención de responsabilidad
La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.
Script de código abierto
Fiel al espíritu de TradingView, el creador de este script lo ha convertido en código abierto, para que los traders puedan revisar y verificar su funcionalidad. ¡Enhorabuena al autor! Aunque puede utilizarlo de forma gratuita, recuerde que cualquier republicación del código está sujeta a nuestras Normas internas.
Exención de responsabilidad
La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.