OBV has no fixed zero
On-Balance Volume adds the bar's volume when price closes up and subtracts it when price closes down. It is a running total, and that single property decides how you may and may not use it.
A running total from where? From the first bar the script can see. Which means:
- OBV has no natural zero and no upper or lower bound
- its absolute level is an artefact of where your chart's history begins
- the same symbol on the same timeframe can show wildly different OBV levels to two different people
The part that surprises people
How many historical bars a script can see is set by your TradingView account plan, not by the script [2] — from 5,000 bars on lower plans up to 40,000 on the top tier.
So two users running an identical OBV strategy on an identical chart start their cumulative sum at different points in history and therefore see different OBV values. Any condition of the form "OBV above N" is not portable between accounts, and a threshold you tuned is a threshold tuned to your own plan.
This is the same reproducibility problem that makes a quoted backtest uncheckable without its plan, described in running and maintaining a strategy — but with OBV it bites the logic, not just the reported numbers.
So use the shape, never the level
| Usable | Not usable |
|---|---|
| OBV rising while price is flat or falling (divergence) | OBV above a fixed number |
| OBV above its own moving average | OBV crossing a hard-coded level |
| the slope of OBV over n bars | comparing your OBV to someone else's |
All three usable forms are relative, which makes them independent of where the sum started. That is the test to apply to any OBV condition you build: if the condition would change meaning when the history window changes, it is the wrong condition.
And a caveat about volume itself
OBV is only as meaningful as the volume series feeding it, and volume is not uniformly available or comparable:
- on centralised markets (equities, futures) volume is traded size
- on spot FX there is no central exchange, so the feed typically reports a tick count from one broker rather than volume traded
A tick count is a proxy for activity, not for size, and it differs between feeds. So an OBV strategy that works on an index future may be measuring something quite different on a currency pair — which is a specific instance of the general rule that a strategy does not port between instruments: why copied scripts fail.
Building the confirmation version
| Field | Value |
|---|---|
| Primary signal | your entry condition, e.g. a moving-average cross |
| Confirmation | OBV above its own moving average |
| Exit | the primary signal's exit, unchanged |
Then run the count test: how many trades does the OBV gate remove? If the answer is none, the confirmation is decoration — the reasoning is in the MACD double-count.
Tactix AI — Studio vs Guide
Tactix AI is AlfaTactix’s product assistant brand (open Tactix AI).
- Tactix Studio turns a one-sentence strategy description into a draft across Timeframe, Signals, Filters, and Risk in the visual Strategy Builder. You review and edit every field before Code Generator writes MQL5 or Pine Script.
- Tactix Guide explains the step you are on — what to fill, what a control means, or how to phrase a rule — without dumping untested source code.
That is form-first automation: the LLM never replaces Code Generator, and you keep plan limits and real-time validation.

