On Balance Volume
On-Balance Volume (OBV) is a technical momentum indicator that analyzes trading activity to gauge buying and selling pressure. It essentially tracks the cumulative volume flow associated with price movements.
How is On Balance Volume used by traders?
Traders use OBV to identify potential shifts in price trends and confirm existing trends. The core idea is that volume precedes price: significant buying pressure (high volume) typically precedes price increases, and vice versa. By analyzing the OBV line in relation to the price chart, traders can spot these signals:
- Confirmation of Trends: If the price is rising and the OBV is also rising, it strengthens the uptrend. Conversely, a falling price with a declining OBV confirms a downtrend.
- Divergences: When the price and OBV diverge, it can signal a potential trend reversal. For instance, a rising price with a flat or declining OBV suggests weakening buying pressure, which might foreshadow a price drop.
How is the indicato calculated
The OBV is a cumulative total of volume based on closing prices:
- If the closing price is higher than the previous day’s close, the day’s volume is added to the previous OBV.
- If the closing price is lower, the day’s volume is subtracted from the previous OBV.
- If the closing price is the same, the OBV remains unchanged.
Get OBV values via API
We provide API access the RSI values for all of the most popular assets like stocks, crypto (try one of the popular exchanges like Binance) and forex, on all commonly used timeframes – from the weekly and daily all the way down to one minute intervals. You can also calculate the values on your own data using our manual method.
Get started with the obv
Simply make an HTTPS [GET] request or call in your browser:
[GET] https://api.taapi.io/obv?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=1h
API response
The obv
endpoint returns a JSON response like this:
{
"value": 322291.3012529999
}
Example response from TAAPI.IO when querying obv endpoint.
API parameters
binance
, binancefutures
or one of our supported exchanges. For other crypto / stock exchanges, please refer to our Client or Manual integration methods.
BTC/USDT
Bitcoin to Tether, or LTC/BTC
Litecoin to Bitcoin...
1m
, 5m
, 15m
, 30m
, 1h
, 2h
, 4h
, 12h
, 1d
, 1w
. So if you're interested in values on hourly candles, use interval=1h
, for daily values use interval=1d
, etc.
backtrack
parameter removes candles from the data set and calculates the obv value X amount of candles back. So, if you are fetching the obv on the hourly and you want to know what the obv was 5 hours ago, set backtrack=5
. The default is 0
.
chart
parameter accepts one of two values: candles
or heikinashi
. candles
is the default, but if you set this to heikinashi
, the indicator values will be calculated using Heikin Ashi candles. Note: Pro & Expert Plans only.
true
or false
. Defaults to false
. By setting to true
the API will return a timestamp with every result (real-time and backtracked) to which candle the value corresponds. This is especially helpful when requesting a series of historical values using the results
parameter.
1685577600
1731456000
If you only use fromTimestamp, the API will return all results from that time until present.
true
or false
. Defaults to true
. By setting to false
, the API will ensure that there are no candles missing. This often happens on lower timeframes in thin markets. Gaps will be filled by a new candle with 0 volume, and OHLC set the the close price of the latest candle with volume.
number
or max
. Use this parameter to access historical values on the past X candles until the most recent candle. Use max
to return all available historical values. Returns an array with the oldest value on top and most recent value returned the last.
More examples
Let's say you want to know the obv
value on the last closed candle on the 30m
timeframe. You are not interest in the real-time value, so you use the backtrack=1
optional parameter to go back 1 candle in history to the last closed candle.
[GET] https://api.taapi.io/obv?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=30m&backtrack=1
Get obv values on each of the past X candles in one call
Let's say you want to know what the obv
daily value was each day for the previous 10 days. You can get this returned by our API easily and efficiently in one call using the results=10
parameter:
[GET] https://api.taapi.io/obv?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=1d&results=10
Looking for even more integration examples in different languages like NodeJS, PHP, Python, Curl or Ruby? Continue to [GET] REST - Direct documentation.