Class StochasticRenderer

java.lang.Object
com.arbergashi.charts.render.BaseRenderer
com.arbergashi.charts.render.financial.StochasticRenderer
All Implemented Interfaces:
ChartRenderer

public final class StochasticRenderer extends BaseRenderer

StochasticRenderer - Stochastic Oscillator (%K and %D)

Professional Stochastic oscillator renderer for momentum analysis. Displays %K (fast) and %D (slow) lines with overbought/oversold zones.

Features:

  • %K Line: Fast stochastic (blue)
  • %D Line: Slow stochastic - 3-period SMA of %K (red)
  • Overbought: Above 80 zone
  • Oversold: Below 20 zone
  • Range: 0-100 scale

Data Mapping:

ChartPoint fields:
  x       → Time/Index
  y       → %K value (fast stochastic)
  weight  → %D value (slow stochastic)

Calculation:

%K = ((Close - Low14) / (High14 - Low14)) * 100
%D = 3-period SMA of %K
Since:
2026-01-01
Version:
1.0.0
Author:
Arber Gashi
  • Constructor Details

    • StochasticRenderer

      public StochasticRenderer()
  • Method Details

    • drawData

      protected void drawData(Graphics2D g, ChartModel model, PlotContext context)
      Description copied from class: BaseRenderer
      Implementation-specific drawing logic. Must follow Zero-Allocation rules.
      Specified by:
      drawData in class BaseRenderer
    • getPreferredYRange

      public double[] getPreferredYRange(ChartModel model)
      Description copied from interface: ChartRenderer
      Optional 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