PROTECTED SOURCE SCRIPT
Absorption with CVD vs Price Divergence [by Oberlunar]

Dear Traders, let me walk you through what this indicator really does — and why you should care. I call it “Absorption with CVD vs Price Divergence”, and it’s designed to help you spot those moments when the market is saying one thing… but doing another.
What I’m looking for here are zones of absorption — those sneaky areas where aggressive buying or selling appears to be happening, but price just won’t budge like it should. Ever seen price slowly climbing, yet it feels like it’s dragging its feet? Or dropping like a rock, but with buyers quietly piling in underneath? That’s absorption — and it’s the fingerprint of big players doing business without making too much noise.
Now here’s the twist: I combine that with CVD — cumulative volume delta — which is like a lie detector for price action. CVD tells us whether market orders are truly pushing in a direction, or if the move is all smoke and no fire. When price goes up but CVD diverges and starts dropping? That’s a bearish divergence. And when price dips but CVD quietly climbs? Bullish divergence.
But I don’t stop there. I also measure absorption intensity using a standardized score — good ol’ σ (sigma). The higher the sigma, the more unusual and aggressive the absorption. When this sigma score is high and we’ve got divergence between price and CVD? Boom — we’ve found a potential absorption zone.
These zones are drawn right on the chart as colorful rectangles — purple for bearish, yellow for bullish — and you can customize the colors and transparency to fit your aesthetic (because yes, trading should look good too). They’re not just signals, they’re areas to watch — spots where the market may be gearing up for a reversal, or hiding accumulation/distribution in plain sight.
If you want, I’ve also added a live signal table and alert conditions, so you won’t miss a thing — whether you’re scalping, swing trading, or just enjoying the show.
Bottom line? This tool doesn’t tell you what to do — it tells you where to look. Think of it as your market microscope.
Happy trading, and may your entries be tight and your exits legendary.
— Oberlunar 👁️✨
======================= Some specifics...
Absorption (σ) is calculated by taking the volume of a candle and dividing it by the absolute body size of the candle (open-close), then normalizing it over the price to account for scale. This gives us a crude measure of volume per unit of price movement. That value is then standardized using a 50-bar rolling standard deviation, turning it into a sigma score — a measure of how statistically “unusual” the current absorption is compared to recent behavior.
CVD is calculated in a simplified way by summing the volume of up-close candles and subtracting the volume of down-close candles — effectively:
CVD = cumulative sum of (volume if close > close[1]) - (volume if close < close[1])
Divergence detection uses a rolling window to compare price highs/lows with CVD highs/lows. A bullish divergence occurs when price makes a new low within the window but CVD does not; a bearish divergence occurs when price makes a new high but CVD fails to confirm it. A tolerance value is used to handle small differences in wick precision.
If and only if a divergence is detected and the sigma score is above your defined threshold, the algorithm will draw a box on the chart to visually represent this potential absorption zone.
🔧 Input Parameters (all adjustable from the settings panel):
What I’m looking for here are zones of absorption — those sneaky areas where aggressive buying or selling appears to be happening, but price just won’t budge like it should. Ever seen price slowly climbing, yet it feels like it’s dragging its feet? Or dropping like a rock, but with buyers quietly piling in underneath? That’s absorption — and it’s the fingerprint of big players doing business without making too much noise.
Now here’s the twist: I combine that with CVD — cumulative volume delta — which is like a lie detector for price action. CVD tells us whether market orders are truly pushing in a direction, or if the move is all smoke and no fire. When price goes up but CVD diverges and starts dropping? That’s a bearish divergence. And when price dips but CVD quietly climbs? Bullish divergence.
But I don’t stop there. I also measure absorption intensity using a standardized score — good ol’ σ (sigma). The higher the sigma, the more unusual and aggressive the absorption. When this sigma score is high and we’ve got divergence between price and CVD? Boom — we’ve found a potential absorption zone.
These zones are drawn right on the chart as colorful rectangles — purple for bearish, yellow for bullish — and you can customize the colors and transparency to fit your aesthetic (because yes, trading should look good too). They’re not just signals, they’re areas to watch — spots where the market may be gearing up for a reversal, or hiding accumulation/distribution in plain sight.
If you want, I’ve also added a live signal table and alert conditions, so you won’t miss a thing — whether you’re scalping, swing trading, or just enjoying the show.
Bottom line? This tool doesn’t tell you what to do — it tells you where to look. Think of it as your market microscope.
Happy trading, and may your entries be tight and your exits legendary.
— Oberlunar 👁️✨
======================= Some specifics...
Absorption (σ) is calculated by taking the volume of a candle and dividing it by the absolute body size of the candle (open-close), then normalizing it over the price to account for scale. This gives us a crude measure of volume per unit of price movement. That value is then standardized using a 50-bar rolling standard deviation, turning it into a sigma score — a measure of how statistically “unusual” the current absorption is compared to recent behavior.
CVD is calculated in a simplified way by summing the volume of up-close candles and subtracting the volume of down-close candles — effectively:
CVD = cumulative sum of (volume if close > close[1]) - (volume if close < close[1])
Divergence detection uses a rolling window to compare price highs/lows with CVD highs/lows. A bullish divergence occurs when price makes a new low within the window but CVD does not; a bearish divergence occurs when price makes a new high but CVD fails to confirm it. A tolerance value is used to handle small differences in wick precision.
If and only if a divergence is detected and the sigma score is above your defined threshold, the algorithm will draw a box on the chart to visually represent this potential absorption zone.
🔧 Input Parameters (all adjustable from the settings panel):
- Minimum Sigma Absorption — the minimum σ value required to validate absorption (default: 1)
- Divergence Window — how far back to look for price/CVD highs and lows (default: 37 bars)
- Divergence Price Tolerance — how close current price must be to high/low to count (default: 0.2)
- Area Size — number of bars the absorption box should last (default: 500 bars)
- Area Bearish Absorption Color — color for bearish absorption zones (default: purple)
- Area Bullish Absorption Color — color for bullish absorption zones (default: yellow)
- Area Bearish Transparency — from 0 (solid) to 100 (invisible), default: 80
- Area Bullish Transparency — same, default: 80
- Show Absorption Boxes — toggle zone rendering on/off
- Show Signal Table — toggle table showing latest signals
- Show Sigma Value — toggle display of σ labels inside the boxes
- Max Signals — how many lines to display in the signal table (default: 5)
Skrip dilindungi
Skrip ini diterbitkan sebagai sumber tertutup. Akan tetapi, anda boleh menggunakannya dengan percuma dan tanpa had – ketahui lebih lanjut di sini.
Link su autorizzazione. Solo italiani.
t.me/+azHozalsRellODlk
t.me/+azHozalsRellODlk
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.
Skrip dilindungi
Skrip ini diterbitkan sebagai sumber tertutup. Akan tetapi, anda boleh menggunakannya dengan percuma dan tanpa had – ketahui lebih lanjut di sini.
Link su autorizzazione. Solo italiani.
t.me/+azHozalsRellODlk
t.me/+azHozalsRellODlk
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.