OPEN-SOURCE SCRIPT
Adaptive Volume‐Demand‐Index (AVDI)

Demand Index (according to James Sibbet) – Short Description
The Demand Index (DI) was developed by James Sibbet to measure real “buying” vs. “selling” strength (Demand vs. Supply) using price and volume data. It is not a standalone trading signal, but rather a filter and trend confirmer that should always be used together with chart structure and additional indicators.
---
\1. Calculation Basis\
1. Volume Normalization
$$
\text{normVol}_t
= \frac{\text{Volume}_t}{\mathrm{EMA}(\text{Volume},\,n_{\text{Vol}})_t}
\quad(\text{e.g., }n_{\text{Vol}} = 13)
$$
This smooths out extremely high volume spikes and compares them to the average (≈ 1 means “average volume”).
2. Price Factor
$$
\text{priceFactor}_t
= \frac{\text{Close}_t - \text{Open}_t}{\text{Open}_t}.
$$
Positive values for bullish bars, negative for bearish bars.
3. Component per Bar
$$
\text{component}_t
= \text{normVol}_t \times \text{priceFactor}_t.
$$
If volume is above average (> 1) and the price rises slightly, this yields a noticeably positive value; conversely if the price falls.
4. Raw DI (Rolling Sum)
Over a window of \$w\$ bars (e.g., 20):
$$
\text{RawDI}_t
= \sum_{i=0}^{w-1} \text{component}_{\,t-i}.
$$
Alternatively, recursively for \$t \ge w\$:
$$
\text{RawDI}_t
= \text{RawDI}_{t-1}
+ \text{component}_t
- \text{component}_{\,t-w}.
$$
5. Optional EMA Smoothing
An EMA over RawDI (e.g., \$n\_{\text{DI}} = 50\$) reduces short-term fluctuations and highlights medium-term trends:
$$
\text{EMA\_DI}_t
= \mathrm{EMA}(\text{RawDI},\,n_{\text{DI}})_t.
$$
6.Zero Line
Handy guideline:
The Demand Index (DI) was developed by James Sibbet to measure real “buying” vs. “selling” strength (Demand vs. Supply) using price and volume data. It is not a standalone trading signal, but rather a filter and trend confirmer that should always be used together with chart structure and additional indicators.
---
\1. Calculation Basis\
1. Volume Normalization
$$
\text{normVol}_t
= \frac{\text{Volume}_t}{\mathrm{EMA}(\text{Volume},\,n_{\text{Vol}})_t}
\quad(\text{e.g., }n_{\text{Vol}} = 13)
$$
This smooths out extremely high volume spikes and compares them to the average (≈ 1 means “average volume”).
2. Price Factor
$$
\text{priceFactor}_t
= \frac{\text{Close}_t - \text{Open}_t}{\text{Open}_t}.
$$
Positive values for bullish bars, negative for bearish bars.
3. Component per Bar
$$
\text{component}_t
= \text{normVol}_t \times \text{priceFactor}_t.
$$
If volume is above average (> 1) and the price rises slightly, this yields a noticeably positive value; conversely if the price falls.
4. Raw DI (Rolling Sum)
Over a window of \$w\$ bars (e.g., 20):
$$
\text{RawDI}_t
= \sum_{i=0}^{w-1} \text{component}_{\,t-i}.
$$
Alternatively, recursively for \$t \ge w\$:
$$
\text{RawDI}_t
= \text{RawDI}_{t-1}
+ \text{component}_t
- \text{component}_{\,t-w}.
$$
5. Optional EMA Smoothing
An EMA over RawDI (e.g., \$n\_{\text{DI}} = 50\$) reduces short-term fluctuations and highlights medium-term trends:
$$
\text{EMA\_DI}_t
= \mathrm{EMA}(\text{RawDI},\,n_{\text{DI}})_t.
$$
6.Zero Line
Handy guideline:
- RawDI > 0: Accumulated buying power dominates.
- RawDI < 0: Accumulated selling power dominates.
- 2. Interpretation & Application
Crossing Zero
RawDI above zero → Indication of increasing buying pressure (potential long signal).
RawDI below zero → Indication of increasing selling pressure (potential short signal).
Not to be used alone for entry—always confirm with price action.
RawDI vs. EMA_DI
RawDI > EMA\_DI → Acceleration of demand.
RawDI < EMA\_DI → Weakening of demand.
Divergences- Price makes a new high, RawDI does not make a higher high → potential weakness in the uptrend.
- Price makes a new low, RawDI does not make a lower low → potential exhaustion of the downtrend.
3. Typical Signals (for Beginners)
\1. Long Setup\- RawDI crosses zero from below,
- RawDI > EMA\_DI (acceleration),
- Price closes above a short-term swing high or resistance.
- Stop-Loss: just below the last swing low, Take-Profit/Trailing: on reversal signals or fixed R\:R.
2. Short Setup- RawDI crosses zero from above,
- RawDI < EMA\_DI (increased selling pressure),
- Price closes below a short-term swing low or support.
- Stop-Loss: just above the last swing high.
---
4. Notes and Parameters
Recommended Values (Beginners):- Volume EMA (n₍Vol₎) = 13
- RawDI window (w) = 20
- EMA over DI (n₍DI₎) = 50 (medium-term) or 1 (no smoothing)
Attention:\- NEVER use in isolation. Always in combination with price action analysis (trendlines, support/resistance, candlestick patterns).
- Especially during volatile news phases, RawDI can fluctuate strongly → EMA\_DI helps to avoid false signals.
---
Conclusion The Demand Index by James Sibbet is a powerful filter to assess price movements by their volume backing. It shows whether a rally is truly driven by demand or merely a short-term volume anomaly. In combination with classic chart analysis and risk management, it helps to identify robust entry points and potential trend reversals earlier. - Price makes a new high, RawDI does not make a higher high → potential weakness in the uptrend.
- 2. Interpretation & Application
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.