Pulsar Heatmap CVD/OBV [by Oberlunar]Pulsar Heatmap CVD/OBV by Oberlunar is a non-repainting order-flow-like indicator designed to support fast, practical decisions—especially for day trading and scalping. It blends OBV and CVD into a structured heatmap with three lanes (OBV, CVD, and a blended COMBO) and splits each lane into two halves: flow pressure and price reaction (PriceΔ) . All values are normalised into the same range, so the intensity of each component is easy to compare at a glance.
In a simple sense, Pulsar Heatmap aims to provide a clean, integrated order-flow view: one framework that turns well-known volume concepts into a clearer read of market pressure and response. Personally, it feels like the kind of tool I would have always wanted on my chart, because it brings familiar information together into a more organic picture that is easier to use in real time.
Visually, the indicator is built around three main elements: the heatmap lanes , a pulsing triangle HUD , and a timed dashboard table . Under the hood, it follows a clear hierarchy: a Bias layer (directional context with a confidence percentage), a strict Signal layer (triggered only when full alignment occurs, with optional confirmation and stickiness), and optional timing logic based on ROC + Acceleration to validate impulses and highlight potential Exhaustion or Absorption regimes. With the option "Safe Mode" enabled, calculations update only on confirmed bars, so signals remain stable and do not repaint.
Optionally, the script can also print signal arrows/labels on the main chart only when a real Signal triggers (not when you only have Bias). To keep the chart clean, the same-direction label is not repeated unless the next signal appears at a more advantageous price than the previous one (for shorts: a higher price; for longs: a lower price). If the direction flips (SHORT → LONG or LONG → SHORT), label printing is re-enabled immediately.
What makes Pulsar Heatmap feel different is that it doesn’t leave you with two separate lines and a lot of guesswork. It organises the information into a readable decision map: pressure , response , agreement , disagreement , impulse , and timing . It was built with scalping in mind, but it’s not limited to scalping: the structure is useful whenever you want context first, and a strict trigger only when alignment is truly present.
Clean Trend Alignment (Ideal Continuation)
A “best case” scenario where flow and price response agree across lanes, so the system produces a high-confidence direction and a clean trigger. Show the heatmap with consistent colouring, the Bias band strong, and a confirmed signal/bias.
Setup 1 — Long Signal (Clean Alignment + Impulse)
In this example, Pulsar Heatmap transitions into a clear long setup when the system prints a LONG SIGNAL . The key idea is simple: the indicator does not enter on “bias” alone. It waits for full alignment across the internal lanes, optionally reinforced by the ROC/Acceleration impulse layer, and only then does it confirm a signal on a closed bar (Safe Mode).
What to highlight on the screenshot
The LONG SIGNAL label: this is the only moment the setup is considered “triggered”.
The LONG BIAS % label: this is context (direction + confidence), not the trigger.
The Triangle HUD : it visually summarises which component is driving the move (OBV/CVD/COMBO weight).
The Timed Table : show that Exhaustion is OFF while impulse metrics are supportive ( dynROC U and dynACC U positive).
If present, the Absorption state (e.g., ABS_LONG + “tight range”): it often appears during compression before expansion, and it adds context to why the breakout can accelerate.
How to read this long setup
Context : Bias is long (even if the % is not huge yet), and the system is not showing exhaustion.
Trigger : A LONG SIGNAL appears only after full alignment (with confirmation bars). If dynamic gating is enabled, the signal is valid only when the impulse agrees.
Quality checks : Positive dynROC and dynACC support the timing; absence of exhaustion reduces the risk of “late entry”. Absorption/tight range can indicate a “pressure build-up” phase.
Practical scalping execution (simple rule set)
Entry timing: consider the entry only on (or immediately after) the confirmed LONG SIGNAL candle.
Risk idea: invalidate the setup if the signal flips, or if price falls back into the compression/range that preceded the move (common absorption-breakout logic).
Exit clue: if Exhaustion turns ON or impulse weakens (acceleration flips), treat it as a warning to reduce exposure or take profit.
Setup 2 — Short Signal After Compression (Absorption → Release)
In this screenshot the short trade idea is not coming from “red candles” alone, but from a very specific sequence: the heatmap shows a shift into bearish alignment, the system prints a SHORT SIGNAL , and the timed module confirms that the market was in a tight range while sell pressure started to dominate.
What this image is really showing
You have a SHORT SIGNAL label on the chart: this is the trigger moment (not the bias).
The context reads SHORT BIAS 18% : it’s supportive, but the execution decision is driven by the signal.
The table shows Absorption = SHORT with a tight range (Range % is low): this often means price was compressed while one side kept applying pressure.
dyn metrics are negative ( dynROC U < 0 and dynACC U < 0): the impulse is coherent with the short direction, so the move is not just “random drift.”
How to read the heatmap here
Earlier, the lanes are mixed (more “two-sided”), then near the signal, the heatmap becomes decisively bearish. That change matters: it tells you the market stopped being balanced and started leaning in one direction with better internal coherence.
Why is this short “high quality” in scalping terms
Compression first : absorption/tight range means the market was storing energy.
Alignment next : the signal appears when the internal lanes agree.
Impulse last : negative ROC + negative acceleration support a real downside push, reducing the odds of a weak, slow fade.
Simple ensure-you-don’t-overtrade rule
Treat the SHORT SIGNAL as the only “go” moment. If you only see bias without signal, or the heatmap stays mixed/disagreeing, it’s usually a lower-quality scalp environment.
Disagreement Zone (Mixed Votes, Higher Risk) — A Practical Exit Area
In this screenshot, Pulsar Heatmap is clearly warning that the market is no longer “one-sided”. You can still see a directional context ( SHORT BIAS 11% ), but the key message is the DISAGREE tag: the reminder that the internal votes are split and the flow/price components are no longer moving in a clean, coherent way.
What this means in a trend continuation is very practical: a Disagreement Zone is often a good EXIT area . When you are already in a short trend, this is the moment where continuation becomes less reliable and where the market can start rotating, stalling, or snapping back.
Why it works as an exit trigger
In a healthy continuation, the lanes tend to stay aligned. Here they don’t: one or more halves contradict the dominant direction.
That loss of coherence typically shows up before the chart becomes obvious, so it can act as an early warning.
For scalping, this is where risk/reward often deteriorates: spreads, noise, and whipsaws increase exactly when the indicator starts disagreeing.
How to use it in a simple way
If you are already short , treat DISAGREE as a signal to take profit, tighten the stop, or scale out .
Avoid adding to the position inside disagreement: even if bias remains short, the internal structure is not “clean” enough to justify aggressive continuation entries.
If later the heatmap returns to full alignment and a new SHORT SIGNAL appears (ideally at a better price), then the continuation becomes actionable again.
“DISAGREE during a short continuation: coherence breaks down. In practice, this is often an exit/scale-out zone, not a fresh entry zone.”
Setup 3 — Neutral State (Stand-By Zone, No Trade Yet)
In the following screenshot, Pulsar Heatmap is doing something very important: it is clearly saying NEUTRAL 0% . Even if, visually, price could “look” like it might resume upward, the indicator is not providing a directional edge yet. This is a classic stand-by condition: the market is transitioning, and the internal components are not aligned enough to justify a directional scalp.
“Neutral 0%: mixed votes and no dominant driver. Even if the price looks promising, Pulsar stays in stand-by until bias rebuilds and a confirmed signal appears.”
What to highlight on the screenshot
The centre label NEUTRAL 0% : this is the key message—no bias strength worth following.
The heatmap is mixed/transitioning: lanes are not consistently one colour, meaning votes are not coherent.
The triangle HUD sits close to the centre: it visually reflects “no dominant driver” right now.
The table can still show background context (e.g., Absorption with a tight range), but that does not override neutrality: it’s information, not a trigger.
How to interpret “Neutral” in practice
When the indicator is neutral, it means the system sees a balance between pressure and reaction (or conflicting components), so direction is statistically less reliable. In scalping terms, this is usually where spreads and noise can eat you alive if you force entries.
Why this is still useful (even without a trade)
Neutral is not “nothing”—it is a filter. It prevents you from trading when the signal quality is low, and it forces the workflow to be clean: wait for Bias to build, then wait for a confirmed Signal , and only then treat it as a real setup.
What you wait for next
If the market turns bullish again, you want to see heatmap alignment returning and eventually a confirmed LONG SIGNAL —however, in the following examples, the heatmap does not follow the trade completely (unlike the previous generated long signal). Thus, a long entry is very risky.
If the market rolls over, you want the opposite: bearish alignment and a confirmed SHORT SIGNAL . Until one of these happens, Neutral = stand-by .
Setup 4 — Impulse + Exhaustion (Late-Stage Move, Don’t Chase)
In this screenshot, you’re basically seeing a “timing warning” configuration. Price prints a sharp bearish extension, but Pulsar Heatmap is not presenting it as a clean continuation setup: the center read is NEUTRAL 0% , while the timed engine shows both Absorption = SHORT and Exhaustion = SHORT . That combination often means: the downside pressure was real, but the move is already in a late/fragile phase (good for managing an existing short, not for opening a new one).
How to read it (practical scalping logic)
Absorption SHORT = there was compression/tight action with persistent bearish pressure building under the surface.
Exhaustion SHORT = the impulse is “spent” or destabilising (acceleration signature is no longer healthy for continuation entries).
Neutral 0% on the main HUD = the system is not granting directional confidence anymore, even if the last candles look aggressive.
Translation: if you were already short, this zone is often for taking profit / tightening risk . If you are not in, it’s usually a wait-for-reset moment.
Possible mean reversions in yellow
Those yellow tiles are the indicator’s “caution prints” (the same colour family used to express DISAGREE ). They appear when the internal structure becomes mixed —i.e., some halves/lanes are not supporting the dominant direction cleanly (or a divergence-style conflict is detected). In practice, they often mark the transition from clean pressure to noisy/late pressure , which is exactly where chasing entries tends to be punished.
How to use them
In a trend continuation, yellow tiles are a strong hint to stop adding and to manage risk more defensively (or treat the phase as “risky trend reversion”).
When they show up near an extension candle (like here), they often signal that the move is shifting into a less stable regime—better for protecting profits than for initiating new entries.
Stepping back for a moment, OBV (On-Balance Volume) and CVD (Cumulative Volume Delta) are both classic tools for studying volume flow, but they differ in what they measure. OBV tracks cumulative volume using price direction: it adds volume on up closes and subtracts it on down closes. CVD tracks the net difference between buying and selling pressure, aiming to reflect the effective push from buyers versus sellers. Both describe the "force behind price" , but from different angles.
OBV is the more traditional approach. It increases when the market closes higher and decreases when it closes lower, so it often works well as a trend-support and divergence tool: if price rises while OBV falls, that mismatch can suggest weakness beneath the move. Because it relies on the close-to-close direction, OBV naturally aligns with trend confirmation across bars.
CVD , instead, is about the ongoing battle between buyers and sellers. Conceptually, it accumulates the net delta between aggressive buying and aggressive selling over time. Positive values tend to indicate stronger buying pressure; negative values indicate stronger selling pressure. Its focus is the tug-of-war itself—who is pushing, rather than simply whether the bar ended up closing up or down.
The practical differences are straightforward. OBV uses the closing direction to assign the full volume, so it tends to be more connected to the overall trend structure. CVD is usually more sensitive to shifts in pressure and can react faster when the market changes character. OBV is commonly used to confirm trends and highlight divergences; CVD is commonly used to spot early pressure changes and moments where one side starts to dominate.
This is also why combining them inside one normalised framework can be so effective. You are not relying on a single volume interpretation. You are pairing a trend-confirmation view (OBV) with a pressure-sensitive view (CVD), and you are making them comparable in a shared scale so agreement and divergence become immediately visible. When they agree, conviction is clearer. When they diverge, you often see important information—hesitation, absorption, or pressure that the price is not fully accepting.
👁️ by Oberlunar ⭐
Absorptionvol
BT Delta AbsorptionBT Absorption detects aggressive counterflow volume—moments where one side
of the market (buyers or sellers) attacks aggressively, yet price fails to move
proportionally.
This is the classic definition of absorption:
"Large market orders are being absorbed by strong passive limit orders."
Absorption is one of the most reliable early signals for:
Reversals
Trap conditions
Failed breakouts
Liquidity grabs
Fake displacement moves
---
■ What BT Absorption Measures
1. Delta Imbalance
Identifies when buying or selling pressure becomes unusually one-sided.
2. Volatility Mismatch
Shows when large delta does NOT translate into meaningful price movement.
3. Absorption Strength Score
A normalized reading (often 0–100) showing the intensity of counterflow activity.
4. Wick & Structure Absorption
Wick-driven absorption helps identify:
Failed sweeps
Stop hunts
Rejection zones
Trapped traders
---
■ Why Absorption Matters
Absorption almost always precedes:
Reversals
Failed breakout moves
SMC/ICT-style displacement
Order block formation
Trend continuation after a trap
When aggressive traders cannot move price toward their desired direction,
the move typically reverses quickly—and with force.
---
■ Visual Elements
• Bull Absorption Marker
Often appears near lows—signals seller aggression failing to push price down.
• Bear Absorption Marker
Often appears near highs—signals buyer aggression failing to break higher.
• Absorption Score Heatmap (optional)
Shows intensity of absorption per candle.
• Threshold Levels
Identify when absorption becomes statistically significant.
---
■ How to Use BT Absorption in Trading
1. Reversal Detection
Look for absorption after:
Equal highs/lows
Sweeps
Stop runs
Breakout failures
This is often the earliest possible signal that a reversal is coming.
2. Filter Breakouts
A breakout without absorption is usually weak.
A breakout with absorption against it is likely a fakeout.
3. Confirm SMC/ICT Concepts
The indicator pairs perfectly with:
Fair Value Gaps
Order Blocks
Liquidity sweeps
Displacement legs
If your setup triggers and absorption confirms → high confidence.
4. Identify Trap Conditions
Absorption often marks:
Trapped breakout chasers
Trapped trend shorts
Imbalanced orderflow
These create ideal high-R trades.
5. Alert-Driven Market Monitoring
Use alerts for:
Bull Absorption
Bear Absorption
High-strength absorption
Absorption clusters
This allows traders to step away from charts while still catching
high-probability reversals.
---
■ High-Probability Absorption Setups
A) Sweep + Absorption
Swept level → absorption → enter opposite direction.
B) Failed Breakout Absorption
Breaks structure → delta fails → absorption prints → strong reversal.
C) Trend Continuation Absorption
Absorption against the correction often precedes continuation.
D) Absorption Clusters
Multiple absorption signals indicate a structural market shift.
---
■ Final Summary
BT Absorption provides:
Early reversal signals
Counterflow pressure detection
Confirmation for existing setups
Identification of liquidity traps
Alert-based monitoring across multiple markets
BT Absorption is the perfect complement to BT Spike:
• BT Spike = detects volatility ignition
• BT Absorption = detects failed aggression + reversals
Combined, they form a complete liquidity and orderflow toolkit.
OrderFlow Absorption IndicatorWhat it Does
The OrderFlow Absorption Indicator marks areas where the price absorbs a large volume of aggressive market trades. This indicates areas where price may bounce back due to large limit (resting) orders absorbing significant aggressor volume (market orders). Absorption can also be seen as "preventing" or "stopping" the other side from breaking through a price level (e.g. bids stopping an influx of sell market orders). Absorption may signal a change in sentiment, potentially leading to a pullback or reversal.
An Example of Absorption
Of course, it is not always the case that such bullish absorption will initiate a trend as the example above. The OrderFlow Absorption Indicator merely serves as a tool for spotting possible absorption points in the market which you can incorporate into your trading arsenal.
How it Works
The indicator actively monitors price changes and records volume accumulated at a price level. If the price bounces back to at least where it was before the current price move, the indicator records this as absorption, provided it meets the Volume Requirement and optional Time Requirement.
How to Use it
1. Set Parameters
Choose your desired tick size and volume filter value. If unsure, refer to the table on the top right of the chart for recommended values. An automatic volume limit filter mode is also available.
Automatic Limit Mode : Enable this mode to have the indicator automatically select a volume filter value. It calculates the standard deviation of the last n minutes of volume and multiplies it by a volume multiplier. You can adjust these parameters.
Higher Volume Filter : Setting a higher volume filter value results in fewer, but higher quality detections, reducing noise.
2. Enabling the Time Limit
Enabling the time limit further improves detection quality by filtering out price levels that can defend against quick, sudden aggressive orders, acting as confirmation and indicating strong sentiment and resilient liquidity.
3. Enabling Historical Data Absorption
The indicator can also detect absorption in historical data, though less accurately than in real-time due to OHLCV aggregation.
You can select the granularity of historical data.
Lower granularity (e.g., 1 second) : Provides more accurate detections but may slow down the indicator.
Higher granularity : Improves speed but reduces detection accuracy.
Other Features
Hovering : When hovering over an absorption point, the interface reveals the price where the absorption occurred, along with the volume absorbed by the bids and asks, as well as the volume filter value used.
Delta Mode : In Delta mode, the system calculates the difference between the volume absorbed by bids and asks, revealing points only when the absolute value of this difference exceeds the volume filter value. Especially useful for larger tick sizes.
Troubleshooting
If the indicator doesn't mark anything, it means the traded volume hasn't exceeded the set volume filter value within the specified price intervals(tick size) and time limit. Adjust these settings as necessary.
AbsorptionThis script is designed to alert one to the possible presence of hidden walls, or visible, that are absorbing a lot of volume without letting price change. Therefore acting as Support and Resistance.



