Class OBVRenderer
java.lang.Object
com.arbergashi.charts.render.BaseRenderer
com.arbergashi.charts.render.financial.OBVRenderer
- All Implemented Interfaces:
ChartRenderer
OBVRenderer - On-Balance Volume
Professional OBV indicator renderer for volume-based momentum analysis. Measures buying and selling pressure as a cumulative indicator.
Features:
- OBV Line: Cumulative volume indicator
- Trend Identification: Rising OBV = bullish, falling OBV = bearish
- Divergence Detection: Visual comparison with price
- Zero Line: Reference baseline
Data Requirements:
Requires price (close) and volume data.
Calculation:
If Close > PrevClose: OBV = PrevOBV + Volume If Close < PrevClose: OBV = PrevOBV - Volume If Close = PrevClose: OBV = PrevOBV
Interpretation:
- Rising OBV = Accumulation (bullish)
- Falling OBV = Distribution (bearish)
- OBV confirms trend if it moves with price
- Divergence = potential reversal signal
- Since:
- 2026-01-01
- Version:
- 1.0.0
- Author:
- Arber Gashi
-
Field Summary
Fields inherited from class BaseRenderer
PIXEL_BUF, PIXEL_BUF4 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddrawData(Graphics2D g, ChartModel model, PlotContext context) Implementation-specific drawing logic.double[]getPreferredYRange(ChartModel model) Optional Y-range override for autoscaling.Methods inherited from class BaseRenderer
drawHighlightPoint, drawI18nLabel, drawLabel, getArc, getCachedFont, getCachedGradient, getCachedStroke, getCachedStroke, getCachedStroke, getCubicCurve, getEllipse, getId, getLayerIndex, getLegendColor, getLine, getName, getPathCache, getPointAt, getRect, getRoundRectangle, getSeriesColor, getSeriesStroke, getTheme, getTooltipText, isLegendRequired, isMultiColor, pBuffer, pBuffer4, render, resolveTheme, seriesOrBase, setLayerIndex, setMultiColor, setTheme, setupQualityHints, themeAccent, themeAxisLabel, themeBackground, themeBearish, themeBullish, themeForeground, themeGrid, themeSeriesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ChartRenderer
clearHover, createContext, getFocusValues, renderEmptyState, supportsEmptyState
-
Constructor Details
-
OBVRenderer
public OBVRenderer()
-
-
Method Details
-
drawData
Description copied from class:BaseRendererImplementation-specific drawing logic. Must follow Zero-Allocation rules.- Specified by:
drawDatain classBaseRenderer
-
getPreferredYRange
Description copied from interface:ChartRendererOptional Y-range override for autoscaling.Renderers may return a {minY, maxY} array when the visible range should be based on derived data rather than the model's raw Y-values (e.g. indicators like MACD).
- Parameters:
model- the layer model- Returns:
- {minY, maxY} or null to use model Y-values
-