OBV indicator: settings and signals
OBV accumulates volume with the sign of the bar direction, turning the flow of trades into a curve of accumulation or distribution.
What the indicator looks like on a real chart
Data: EUR/USD, daily bars, 2025-06-16 — 2026-07-20. The indicator is computed over 400 bars; the chart shows the last 180. Quote source: Binance Spot REST API (api.binance.com/api/v3/klines).
| Regime | Score |
|---|---|
| Trending market | 57 |
| Range | 38 |
| High volatility | 45 |
| Low volatility | 43 |
What the indicator actually measures
The rule is extremely simple: if a bar closed above the previous one, all of its volume is added to the accumulated sum; if below, it is subtracted. There is no weighting by the size of the move: a bar that rose by a hundredth of a percent and a bar that rose by three percent make the same contribution in sign.
The absolute value of OBV is meaningless — it depends on an arbitrary starting point of the calculation. Only the shape of the curve and its relationship with price matter. That is precisely why the indicator has no levels, zones or thresholds: it is read purely visually.
The main use is finding divergences. If price makes a new high and OBV does not, then the new high was made on a smaller accumulated volume, and the move may be unconfirmed. This is an observation, not a rule: a divergence can persist for a long time and lead to nothing.
Formula
A bar's volume is added to the accumulated sum when the close rises and subtracted when it falls. The initial value is arbitrary, so comparing absolute OBV levels between instruments or periods is meaningless.
Standard settings
| Parameter | Value |
|---|---|
| No smoothing period | Cumulative |
| Optional line smoothing | SMA(20) |
| Key signal | Divergence |
OBV has no adjustable parameters — that is its distinguishing feature among all the indicators in the set. The only thing that can be changed is whether to overlay a moving average on the curve for smoothing and to determine the direction of accumulation.
Implementation code (Python)
def obv(close, volume):direction = close.diff().apply(lambda x: 1 if x > 0 else (-1 if x < 0 else 0))return (direction * volume).cumsum()
When the indicator stops working
- It does not account for the size of the move: a small and a large rise make the same contribution in sign.
- On forex a broker's volume is tick volume, not exchange volume, so OBV will differ between data providers.
- The absolute value depends on the starting point of the calculation and carries no information.
Common mistakes in use
- Trying to read OBV levels. The indicator has no scale; only the direction and shape of the curve matter.
- Applying OBV to forex data without understanding that it shows tick volume — the number of price changes, not real turnover.
- Treating a divergence as an entry signal. It is only a sign of an unconfirmed move, which can persist indefinitely.
- Comparing the OBV of two instruments with each other, forgetting the arbitrariness of the starting point.
Who needs this and why
For traders on instruments with real exchange volume — stocks, futures, crypto exchanges. On interbank forex its applicability is limited by the nature of the available volume data.
Frequently asked questions
What does a specific OBV value mean?
Nothing on its own. The count starts from an arbitrary point, so the absolute level depends only on where you began counting. Only the direction of the curve and its divergences from price are informative.
Can OBV be applied to forex?
With a caveat. Most forex brokers have no real turnover data; instead they transmit tick volume — the number of price changes per bar. It correlates with activity but is not equal to trade volume, so conclusions will be less reliable than on exchange instruments.
How reliable are OBV divergences?
It is an observation, not a signal. A divergence says that a new price extreme is not backed by volume accumulation, but this state can last a long time and resolve in either direction. Using it as the sole basis for a trade is not advisable.