OPEN-SOURCE SCRIPT
CVD Zones

CVD Zones maps cumulative volume delta aggression across price levels, building a thermal heatmap that reveals where institutional buyers and sellers have been genuinely active — not just where volume happened to trade.
Price has memory. Levels where aggressive order flow has historically concentrated tend to act as future support and resistance because the participants who built those positions are still there, defending them. A high-intensity bullish zone below current price represents a level where aggressive buyers absorbed supply repeatedly — that absorption does not disappear when price moves away. It becomes a floor that participants are motivated to protect. Conversely, a high-intensity bearish zone above price marks a level where sellers were persistent and in control.
CVD vs raw volume — why it matters
Most volume-based tools use raw volume. Raw volume tells you how much traded at a price level, but it says nothing about who was in control. A high-volume candle could be a battle between aggressive buyers and passive sellers, or it could be one-sided distribution. You cannot tell from volume alone.
The distinction that matters is between passive and aggressive order flow. Passive participants post limit orders and wait. They provide liquidity but do not move markets. Aggressive participants use market orders to take liquidity immediately at whatever price is available — they are the ones who actually drive price.
CVD Zones uses Cumulative Volume Delta to read that fingerprint. Each bar's volume is decomposed into aggressive buying and aggressive selling using the bar's price structure. That directional bias is accumulated into each price bin — so the heatmap reflects not just where activity occurred, but the nature and intent behind it.
Two CVD modes
Cumulative CVD — Accumulates total aggression per bin with directional coloring based on price position. Clean structural read of where the market has been most active.
Net CVD — Subtracts sell aggression from buy aggression per bin. Bins where buyers have dominated show bullish heat regardless of price position. Surfaces conviction rather than activity.
Hotspot overlay
In addition to the heatmap, CVD Zones includes an optional Hotspot Overlay that automatically identifies the highest-conviction price bins and renders them as labeled zones. Each hotspot displays the buy/sell aggression split inside the bin, giving you an immediate read on who controlled that level. A proximity filter based on ATR ensures hotspots remain meaningfully spaced rather than clustering at a single area.

Settings worth knowing
Profile Depth — Controls how much historical data builds the CVD profile. Shallow (100 bars), Balanced (300 bars), or Deep (600 bars).
CVD Threshold % — Filters out low-conviction bars from the calculation. Only meaningful aggression events contribute to the heatmap.
Gradient Normalization — Linear, Square Root, or Cube Root scaling. Square Root and Cube Root modes surface faint bins without collapsing contrast on instruments with uneven volume distribution.
Volume-Weighted Midpoint — Assigns each bar to its bin using typical price (HLC/3) rather than close, more accurately reflecting where the bar actually traded.
Color Themes — Seven built-in themes (Traditional, Modern, Heatwave, Stealth, Aurora, Magma, Plasma) plus a fully Custom option.
Notes
Deep Profile is the recommended setting for most use cases. On lower-end hardware or symbols with very large bar histories, reducing Profile Depth to Balanced or Shallow will resolve any loading issues. The heatmap remains fully functional — you are simply trading historical depth for stability.
CVD Zones builds on the bin framework from Liquidity Thermal Map by BigBeluga.
Price has memory. Levels where aggressive order flow has historically concentrated tend to act as future support and resistance because the participants who built those positions are still there, defending them. A high-intensity bullish zone below current price represents a level where aggressive buyers absorbed supply repeatedly — that absorption does not disappear when price moves away. It becomes a floor that participants are motivated to protect. Conversely, a high-intensity bearish zone above price marks a level where sellers were persistent and in control.
CVD vs raw volume — why it matters
Most volume-based tools use raw volume. Raw volume tells you how much traded at a price level, but it says nothing about who was in control. A high-volume candle could be a battle between aggressive buyers and passive sellers, or it could be one-sided distribution. You cannot tell from volume alone.
The distinction that matters is between passive and aggressive order flow. Passive participants post limit orders and wait. They provide liquidity but do not move markets. Aggressive participants use market orders to take liquidity immediately at whatever price is available — they are the ones who actually drive price.
CVD Zones uses Cumulative Volume Delta to read that fingerprint. Each bar's volume is decomposed into aggressive buying and aggressive selling using the bar's price structure. That directional bias is accumulated into each price bin — so the heatmap reflects not just where activity occurred, but the nature and intent behind it.
Two CVD modes
Cumulative CVD — Accumulates total aggression per bin with directional coloring based on price position. Clean structural read of where the market has been most active.
Net CVD — Subtracts sell aggression from buy aggression per bin. Bins where buyers have dominated show bullish heat regardless of price position. Surfaces conviction rather than activity.
Hotspot overlay
In addition to the heatmap, CVD Zones includes an optional Hotspot Overlay that automatically identifies the highest-conviction price bins and renders them as labeled zones. Each hotspot displays the buy/sell aggression split inside the bin, giving you an immediate read on who controlled that level. A proximity filter based on ATR ensures hotspots remain meaningfully spaced rather than clustering at a single area.
Settings worth knowing
Profile Depth — Controls how much historical data builds the CVD profile. Shallow (100 bars), Balanced (300 bars), or Deep (600 bars).
CVD Threshold % — Filters out low-conviction bars from the calculation. Only meaningful aggression events contribute to the heatmap.
Gradient Normalization — Linear, Square Root, or Cube Root scaling. Square Root and Cube Root modes surface faint bins without collapsing contrast on instruments with uneven volume distribution.
Volume-Weighted Midpoint — Assigns each bar to its bin using typical price (HLC/3) rather than close, more accurately reflecting where the bar actually traded.
Color Themes — Seven built-in themes (Traditional, Modern, Heatwave, Stealth, Aurora, Magma, Plasma) plus a fully Custom option.
Notes
Deep Profile is the recommended setting for most use cases. On lower-end hardware or symbols with very large bar histories, reducing Profile Depth to Balanced or Shallow will resolve any loading issues. The heatmap remains fully functional — you are simply trading historical depth for stability.
CVD Zones builds on the bin framework from Liquidity Thermal Map by BigBeluga.
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.
discord.gg/REapC6SGtz
b3artrades@gmail.com
b3artrades@gmail.com
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.
discord.gg/REapC6SGtz
b3artrades@gmail.com
b3artrades@gmail.com
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.