On-Balance Volume (OBV) accumulates a volume series with a sign based on successive closes. MetaTrader’s documentation attributes it to Joseph Granville, but the calculation does not identify institutions or money entering a market. On a currency chart, first establish the volume unit and source, then compare the calculated line with price.

A missing record removes more than one term from the sum

The complete fictional fragment has Close t0 = 100, t1 = 102, t2 = 101. Volumes are 300 at t1 and 200 at t2. Set starting OBV at t0 to 0.

A missing previous Close changes the OBV ruleFictional closes 100, 102, 101 and volumes 300 at t1, 200 at t2 give OBV 0, 300, 100. Remove t1 and the next point compares 101 with 100 instead of 102, so final OBV becomes 200.A MISSING BAR CHANGES THE NEXT SIGN100102101Complete: 100 → 102 → 101After gap: 100 → 101Complete OBV: 0 + 300 − 200 = 100.Without t1: 0 + 200 = 200.The t2 sign changes from minus to plus.

Volume uses the same arbitrary unit. The gap means a deleted record, not a zero-volume bar. This is not an actual market export. The document MetaTrader 5 — On Balance Volume confirms that the current volume’s sign depends on comparing current Close with previous Close.

Blue shows the complete close series; the red dashed line shows it after t1 is removed.

In the complete series, t1 adds 300 and t2 subtracts 200 because 101 < 102. Without t1, the algorithm sees 101 > 100 and adds 200. Its 200 differs from the complete 100 by more than simply removing +300. A starting-value shift cannot repair this export. Check continuity and recover the previous Close; if the record cannot be recovered, mark the range incomplete instead of interpreting the resulting divergence.

How is On-Balance Volume calculated?

Compare the current Close with the previous Close, not with the current Open. Higher adds the current volume; lower subtracts it; equal leaves the sum unchanged. A one-pip and a ten-pip change receive the same signed contribution if their volume is equal. The starting constant shifts the level, so crossing zero is not a universal trading signal.

Our fictitious sequence starts at Close 1.1000 with OBV 0. A: Close 1.1010,100 ticks, OBV 100; B:1.1005,180 ticks, OBV −80; C:1.1005,300 ticks, OBV −80; D:1.1020,120 ticks, OBV 40; E:1.1015,60 ticks, OBV −20. Thus 100−180+0+120−60=−20. C has the largest tick count but contributes zero because its Close equals B. Starting at 1000 would instead finish at 980, leaving all differences unchanged.

Why is forex volume only an approximation?

A broker’s FX tick counter is not a live total of the OTC currency market. For historical context only, BIS reported USD 7.5 trillion per day in April 2022 on a net-net basis across all FX instruments; spot was USD 2.1 trillion. The triennial survey is not a chart-volume feed, and the old number is not a current 2026 turnover estimate.

MetaTrader describes Forex tick volume as price-change count in the supplied stream. One hundred ticks does not identify one hundred trades, their notional value or participants. MT5 iOBV accepts a volume-type parameter, with VOLUME_TICK and VOLUME_REAL options; verify data availability for the symbol. Selecting real volume cannot create missing trades. No tick-versus-total-turnover correlation is estimated here.

The signed sum is a feature of that input series, not a net buying/selling-pressure counter. Differences in quotes, volume types, bar boundaries or missing records can change it. The guide to volume on forex explains the input distinction.

Divergence without inferring capital flow

In our sequence, D’s Close 1.1020 exceeds A’s 1.1010 but its OBV 40 is below 100. Yet D has 120 ticks versus A’s 100. The lower cumulative level follows the path between them, including subtracting 180 at B. It therefore does not prove less quoting activity on the latest higher Close.

A bearish divergence compares a higher price high with a lower OBV high; the bullish case compares a lower price low with a higher OBV low. Because OBV accumulates volume with signs determined by closing-price changes, a lower OBV value does not prove lower total activity. It describes the signed accumulation used by this indicator, not a count of buyers or a reversal probability.

A hypothetical example of reading divergence

Consider an illustrative, entirely hypothetical scenario on EUR/USD on the four-hour timeframe. Assume the rate rises for two weeks and sets a first peak around 1.0920, then after a short correction goes even higher, to 1.0975. At first glance this is a clean uptrend.

In the separate H4 illustration, assume the paired OBV extrema are 500 then 400. This is a hypothetical bearish divergence, not proof that the new price peak had lower volume, institutional selling or a known reversal probability. Define how both extrema are paired. A pivot requiring two following closed bars becomes confirmed only after those bars, not at the earlier high.

Aggregation and precision change the calculation

Aggregating A–E as one bar gives total 760 ticks. Its Close 1.1015 exceeds previous 1.1000, so it adds 760, unlike the five separate contributions totalling −20. This is an effect of the formula, not a platform error. Interval and session boundaries are part of a rule; no universal H1/H4 minimum follows.

Keeping all other inputs, change C’s Close from 1.10050 to 1.10051 or 1.10049, only ±0.1 EUR/USD pip. Its 300 ticks now receive +300 or −300, so final OBV becomes +280 or −320 instead of −20. Later signs remain unchanged. Four-decimal exports can conceal this distinction. CME reports traded contracts for defined venues and dates; that is another unit, not a guaranteed more profitable or more reliable strategy.

OBV versus the accumulation/distribution line and Chaikin Money Flow

For contrast, A/D accumulates volume weighted by the Close’s position in the same High–Low range. CMF divides the sum of those weighted contributions by the volume sum over a chosen window; 20 or 21 is a convention, not a required profitable setting. This is not an institutional-money measurement, and range/volume denominator edge cases need the implementation’s handling.

Compare formulas on identical inputs rather than judge a strategy by intuitive appearance. A second tool using the same prices is not automatically independent confirmation. Volume profile distributes the selected volume by price; specify its data scope too. The technical analysis section provides further context.

What to do tomorrow

  1. Record source, symbol, volume type, interval, session boundaries, history start and export precision. Hand-check higher, lower and equal Close cases.
  2. Write the pivot-selection rule and when each point becomes available. Preserve rejected and later-disappearing cases, not only neat historical divergences.
  3. Define entry, exits, size and costs separately. A divergence is a measured condition; additional price-derived indicators do not automatically establish independent evidence or an edge.
  4. Compare a complete rule with and without OBV on the same evaluation sample and costs, then assess a separate period. Record all tested versions to expose selection after outcomes.
  5. For futures, identify the actual contract and rollover/series construction. Contract volume is not the global spot total; comparing different data sets does not by itself isolate strategy quality.