OPEN-SOURCE SCRIPT
Güncellendi

Big Trades [Volume Anomalies] (Enhanced)

12 719
The script is a **volume-anomaly “big trades” detector** for futures that tries to (1) split each candle’s volume into a **buy-pressure** and **sell-pressure** estimate, (2) flag **statistically extreme** candles (tiers), and (3) optionally label those extremes as **initiative (follow-through)** vs **absorbed (no follow-through)** using a forward-style confirmation window.

Here’s what it does, piece by piece.

---

## 1) What it’s trying to detect

It’s not true “whale prints” or real bid/ask delta. It detects:

* **unusually large participation** (volume anomaly)
* with a **directional guess** (buy-ish vs sell-ish)
* and then checks whether price **continued** after that anomaly

So it’s: **“big participation + did it work?”**

---

## 2) The “buy vs sell volume” estimate

For each candle, it builds a **weight** for buy and sell pressure:

* **close location within the candle**

* close near high → more buy weight
* close near low → more sell weight
* **body direction (close–open)**

* bullish body adds buy boost
* bearish body adds sell boost

Then it computes:

* `raw_buy = volume * buy_weight`
* `raw_sell = volume * sell_weight`

This is an **OHLC-based proxy** for pressure, not real aggressor volume.

---

## 3) Normalization (makes it behave across sessions)

If enabled, it divides by ATR:

* `norm_buy = raw_buy / ATR`
* `norm_sell = raw_sell / ATR`

This helps a lot on futures because volume/volatility regimes differ between Asia/London/NY.

---

## 4) Statistical anomaly detection (z-score logic)

It calculates “what’s normal” using the last `lookback` bars, but **uses `[1]`** so the current bar doesn’t contaminate the stats (reduces flicker):

* `avg_buy = sma(norm_buy, lookback)[1]`
* `std_buy = stdev(norm_buy, lookback)[1]`
(and same for sell)

Then it computes **z-scores**:

* `z_buy = (norm_buy - avg_buy) / std_buy`
* `z_sell = (norm_sell - avg_sell) / std_sell`

If z-score crosses thresholds, it triggers tiers:

* Tier 1: `sigma`
* Tier 2: `sigma + tier_step1`
* Tier 3: `sigma + tier_step2`

So **Tier 3 = “big bubble”**.

---

## 5) Optional VWAP bias filter

It computes VWAP correctly as:

* `vwapv = ta.vwap(hlc3)`

If enabled:

* buys only when `close >= vwap`
* sells only when `close <= vwap`

This is just a **trend/bias filter** to reduce counter-trend bubbles.

---

## 6) Plotting (how bubbles appear)

It places markers at:

* buys around `(close+low)/2` (lower-ish)
* sells around `(close+high)/2` (upper-ish)

And draws:

* small/medium/large circles (depending on tier)
* with optional INIT/ABS overlays (explained next)

---

## 7) “Initiative vs Absorbed” classification (the smart part)

Because Pine can’t see the future on the same bar, your script does a **delayed evaluation**:

* It waits `N = confirm_bars`
* Looks at what happened from the signal bar to the current bar
* Decides if price moved far enough in the intended direction

It uses:

* `hh_window = highest(high, N+1)`
* `ll_window = lowest(low, N+1)`
(these cover the last N+1 bars: from signal bar to now)

Then it measures follow-through:

* For a buy signal N bars ago:
`buy_move = hh_window - high[N]`
* For a sell signal N bars ago:
`sell_move = low[N] - ll_window`

It compares to an ATR-based threshold anchored to the signal bar:

* `thr_move_sig = ATR[N] * move_mult_atr`

If move > threshold → **INIT**
Else → **ABS**

Then it **plots back onto the original signal bar** using `offset=-N` so it visually marks the candle that caused it.

To make it obvious:

* **INIT** = circle
* **ABS** = X

This part is “accurate” in the sense that it’s purely **price-outcome based**.

---

## 8) Labels (optional)

If enabled, it prints labels on those large signals with:

* INIT/ABS
* the z-score at the signal bar
* and a “delta proxy” (`norm_buy - norm_sell`), not true delta

---

## In one sentence

The script flags **statistically extreme volume-pressure candles** (buy/sell proxy), and then classifies those extremes as **worked (initiative)** or **failed (absorbed)** based on **subsequent price movement** within `confirm_bars`.
Sürüm Notları
The script is a volume-anomaly “big trades” detector for futures that tries to
(1) split each candle’s volume into a buy-pressure and sell-pressure estimate,
(2) flag statistically extreme candles (tiers),
and (3) optionally label those extremes as initiative (follow-through) vs absorbed (no follow-through) using a forward-style confirmation window.

Here’s what it does, piece by piece.

1) What it’s trying to detect

It’s not true “whale prints” or real bid/ask delta. It detects:
unusually large participation (volume anomaly)
with a directional guess (buy-ish vs sell-ish)
and then checks whether price continued after that anomaly

So it’s: “big participation + did it work?”

2) The “buy vs sell volume” estimate

For each candle, it builds a weight for buy and sell pressure:

close location within the candle:
close near high → more buy weight
close near low → more sell weight

body direction (close–open):
bullish body adds buy boost
bearish body adds sell boost

Then it computes:
raw_buy = volume * buy_weight
raw_sell = volume * sell_weight

This is an OHLC-based proxy for pressure, not real aggressor volume.

3) Normalization (makes it behave across sessions)

If enabled, it divides by ATR:
norm_buy = raw_buy / ATR
norm_sell = raw_sell / ATR

This helps a lot on futures because volume/volatility regimes differ between Asia/London/NY.

4) Statistical anomaly detection (z-score logic)

It calculates “what’s normal” using the last lookback bars, but uses [1] so the current bar doesn’t contaminate the stats (reduces flicker):

avg_buy = sma(norm_buy, lookback)[1]
std_buy = stdev(norm_buy, lookback)[1]
(and same for sell)

Then it computes z-scores:
z_buy = (norm_buy - avg_buy) / std_buy
z_sell = (norm_sell - avg_sell) / std_sell

If z-score crosses thresholds, it triggers tiers:
Tier 1: sigma
Tier 2: sigma + tier_step1
Tier 3: sigma + tier_step2

So Tier 3 = “big bubble”.

5) Optional VWAP bias filter

It computes VWAP correctly as:
vwapv = ta.vwap(hlc3)

If enabled:
buys only when close >= vwap
sells only when close <= vwap

This is just a trend/bias filter to reduce counter-trend bubbles.

6) Plotting (how bubbles appear)

It places markers at:
buys around (close+low)/2 (lower-ish)
sells around (close+high)/2 (upper-ish)

And draws:
small/medium/large circles (depending on tier)
with optional INIT/ABS overlays (explained next)

7) “Initiative vs Absorbed” classification (the smart part)

Because Pine can’t see the future on the same bar, your script does a delayed evaluation:

It waits N = confirm_bars
Looks at what happened from the signal bar to the current bar
Decides if price moved far enough in the intended direction

It uses:
hh_window = highest(high, N+1)
ll_window = lowest(low, N+1)
(these cover the last N+1 bars: from signal bar to now)

Then it measures follow-through:

For a buy signal N bars ago:
buy_move = hh_window - high[N]

For a sell signal N bars ago:
sell_move = low[N] - ll_window

It compares to an ATR-based threshold anchored to the signal bar:
thr_move_sig = ATR[N] * move_mult_atr

If move > threshold → INIT
Else → ABS

Then it plots back onto the original signal bar using offset=-N so it visually marks the candle that caused it.

To make it obvious:
INIT = circle
ABS = X

This part is “accurate” in the sense that it’s purely price-outcome based.

8) Labels (optional)

If enabled, it prints labels on those large signals with:
INIT/ABS
the z-score at the signal bar
and a “delta proxy” (norm_buy - norm_sell), not true delta

In one sentence:
The script flags statistically extreme volume-pressure candles (buy/sell proxy), and then classifies those extremes as worked (initiative) or failed (absorbed) based on subsequent price movement within confirm_bars.
Sürüm Notları
v2.4 Update – Classification & Alert Improvements

Major Changes


  1. []INIT / ABS classification is now permanently enabled and always applied to Tier 3 signals.
    []Removed duplicate Tier 3 base bubble — only the classified result (INIT ● or ABS ×) is displayed.
  2. Alerts now trigger strictly on confirmed bars to eliminate phantom and intrabar alerts.


Alerts

Alert logic has been streamlined to only two conditions: Big Buy and Big Sell. Alerts now fire exclusively on confirmed signals and fully align with what is visually displayed on the chart.

Visual Improvements

Large signals now show only their classified outcome (INIT or ABS), reducing clutter and improving readability. Added new label modes: Hover (default), which displays dynamic tooltips when hovering over signals, and Always, which prints semi-transparent on-chart labels for classified Tier 3 signals.

General

Improved signal clarity, cleaner visual structure, enhanced stability, and reduced overall chart noise.
Sürüm Notları
Fix buggy chart change.
Sürüm Notları
Big bubbles not appearing until classified as int / abs. Fixed.

Feragatname

Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, alım satım veya diğer türden tavsiye veya öneriler anlamına gelmez ve teşkil etmez. Kullanım Koşulları bölümünde daha fazlasını okuyun.