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 open-source
Nello spirito di TradingView, l'autore di questo script lo ha reso open source, in modo che i trader possano esaminarne e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricordiamo che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.
Script open-source
Nello spirito di TradingView, l'autore di questo script lo ha reso open source, in modo che i trader possano esaminarne e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricordiamo che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.