Interface RTIndicator

All Superinterfaces:
Resettable
All Known Subinterfaces:
CacheableRTIndicator, RichRTIndicator<T>
All Known Implementing Classes:
AbstractDecorableIncrementalRTIndicator, AbstractDecorableRTIndicator, AbstractEmaRTIndicator, AbstractIncrementalRTIndicator, AbstractRTIndicator, AbstractWindowSeriesRTIndicator, AcceleratorOscillatorRTIndicator, AdaptiveFisherTransformRTIndicator, AdlRTIndicator, AdxRTIndicator, AlmaRTIndicator, AroonRTIndicator, AtomicCountRTIndicator, AtrRTIndicator, AutocorrelationRTIndicator, AwesomeOscillatorRTIndicator, BalanceOfPowerRTIndicator, BetaRTIndicator, BiFunctionRTIndicator, BollingerBandsRTIndicator, BollingerBandWidthRTIndicator, BollingerPercentBRTIndicator, BullBearPowerRTIndicator, CalmarRatioRTIndicator, CciRTIndicator, ChaikinOscillatorRTIndicator, ChandeForecastOscillatorRTIndicator, ChandeKrollStopRTIndicator, ChandelierExitRTIndicator, ChoppinessIndexRTIndicator, ClampPredicateRTIndicator, ClampRTIndicator, CmfRTIndicator, CmoRTIndicator, CompoundRTIndicator, CompoundTickerRTIndicator, ConditionalRTIndicator, ConnorsRsiRTIndicator, ConstantRTIndicator, CoppockCurveRTIndicator, CorrelationRTIndicator, CountRTIndicator, CovarianceRTIndicator, DemaRTIndicator, DetrendedPriceOscillatorRTIndicator, DistanceFromMaRTIndicator, DistanceRTIndicator, DonchianChannelRTIndicator, EaseOfMovementRTIndicator, EfficiencyRatioRTIndicator, ElderForceIndexRTIndicator, EmaRTIndicator, EnvelopesRTIndicator, EwmaVolatilityRTIndicator, FisherTransformRTIndicator, FramaRTIndicator, FundingRateRTIndicator, GainRTIndicator, GarmanKlassVolatilityRTIndicator, HmaRTIndicator, HurstExponentRTIndicator, IchimokuRTIndicator, InformationRatioRTIndicator, InstrumentGroupRTIndicator, InstrumentMapFundingRateSourceRTIndicator, InstrumentMapKlineSourceRTIndicator, InstrumentMapRTIndicator, InstrumentMapTickerSourceRTIndicator, KamaRTIndicator, KeltnerChannelRTIndicator, KlingerOscillatorRTIndicator, KnowSureThingRTIndicator, KurtosisRTIndicator, LeastSquaresMovingAverageRTIndicator, LinearRegressionSlopeRTIndicator, LossRTIndicator, MacdRTIndicator, MassIndexRTIndicator, MaxDrawdownRTIndicator, MaxRTIndicator, McGinleyDynamicRTIndicator, MfiRTIndicator, MinRTIndicator, MmaRTIndicator, MomentumRTIndicator, NatrRTIndicator, NegativeVolumeIndexRTIndicator, ObvRTIndicator, OmegaRatioRTIndicator, OnChangeRTIndicator, ParabolicSarRTIndicator, ParkinsonVolatilityRTIndicator, PercentChangePeriodRTIndicator, PercentVolatilityRTIndicator, PeriodCounterRTIndicator, PredicatePeriodCounterRTIndicator, PredicateRTIndicator, PvtRTIndicator, RateChangeRTIndicator, ReadOnlyRTIndicator, RealizedVolatilityRTIndicator, RelativeVigorIndexRTIndicator, RelativeVolatilityIndexRTIndicator, RocRTIndicator, RogersSatchellVolatilityRTIndicator, RollingPercentileRTIndicator, RoundRTIndicator, RsiRTIndicator, RTIndicatorAdapter, SharpeRatioRTIndicator, SimpleLinearRegressionRTIndicator, SkewnessRTIndicator, SmaRTIndicator, SmmaRTIndicator, SortinoRatioRTIndicator, StandardDeviationRTIndicator, StandardDeviationRTIndicator, StochasticOscillatorRTIndicator, StochasticRsiRTIndicator, SumRTIndicator, SuperTrendRTIndicator, TailRatioRTIndicator, TaLibRTIndicatorAdapter, TemaRTIndicator, TickerRTIndicator, TransformRTIndicator, TreynorRatioRTIndicator, TrixRTIndicator, TrueStrengthIndexRTIndicator, UlcerIndexRTIndicator, UltimateOscillatorRTIndicator, ValueAtRiskRTIndicator, ValueRTIndicator, VarianceRTIndicator, VarianceRTIndicator, VolatilityRTIndicator, VortexRTIndicator, VwapRTIndicator, WilliamsRRTIndicator, WindowTimeRTIndicator, WmaRTIndicator, WmaRTIndicator, YangZhangVolatilityRTIndicator, ZScoreRTIndicator

public interface RTIndicator extends Resettable
Interface for a Real Time Indicator.

Implementations produce a numeric value that is updated incrementally as new data arrives. Some indicators require a minimum number of data points (warmup period) before producing meaningful values. During warmup, getValue() typically returns 0 or a partial estimate. Use isReady() to determine whether the indicator has received enough data to produce statistically valid output.

  • Method Summary

    Modifier and Type
    Method
    Description
    default DisplayHint
    How this indicator's value should be presented — the typed view of the IndicatorMeta.DISPLAY metadata entry.
    default String
    This indicator's canonical type id — the strategy-IR catalog vocabulary (rsi, bollinger, …), the id of its stored-column metadata.
    The descriptive metadata this indicator carries about itself — canonical type id, parameters, display hint — kept separate from its registered name.
    double
     
    default boolean
    Whether this is an internal indicator — updated every tick, but its value is not emitted as a signal (not stored to parquet/lastra, not sent over NATS/websockets).
    default boolean
    Returns whether this indicator has received enough data to produce meaningful values.
    default RTIndicator
    ro()
     
    double
    update(double newValue)
     
    default double
    update(@NonNull RTIndicator indicator)
     
    default double
    update(@NonNull Number newValue)
     

    Methods inherited from interface Resettable

    reset
  • Method Details

    • getValue

      double getValue()
    • update

      double update(double newValue)
    • isReady

      default boolean isReady()
      Returns whether this indicator has received enough data to produce meaningful values.

      During the warmup period, getValue() may return 0 or a partial estimate that should not be used for trading decisions. Once this method returns true, the indicator's output is statistically valid.

      The default implementation returns true for backward compatibility. Indicators with warmup requirements should override this method.

      For composite indicators (e.g. Bollinger Bands, MACD), readiness is determined by the slowest internal component.

      Returns:
      true if the indicator has completed its warmup period
    • update

      default double update(@NonNull @NonNull Number newValue)
    • update

      default double update(@NonNull @NonNull RTIndicator indicator)
    • getMeta

      default IndicatorMeta getMeta()
      The descriptive metadata this indicator carries about itself — canonical type id, parameters, display hint — kept separate from its registered name. What used to be encoded in name prefixes/suffixes (rsi14%, blgr13_2Upper) rides here as key=value entries the serialization layer can attach per stored column.
      Returns:
      the metadata, never null; IndicatorMeta.EMPTY when none was set
    • getId

      default String getId()
      This indicator's canonical type id — the strategy-IR catalog vocabulary (rsi, bollinger, …), the id of its stored-column metadata.

      Defaults to the class name with its RTIndicator suffix stripped and first letter lower-cased (IndicatorMeta.deriveId(Class)), so every indicator self-reports an id with no per-factory wiring. An indicator whose canonical id differs from that derivation — a renamed type, or one registered wrapped in a generic decorator — carries an explicit IndicatorMeta.ID entry, which wins.

      Returns:
      the canonical id, never null
    • isHidden

      default boolean isHidden()
      Whether this is an internal indicator — updated every tick, but its value is not emitted as a signal (not stored to parquet/lastra, not sent over NATS/websockets). The visibility rides IndicatorMeta, so the emission/storage boundary reads it here instead of parsing the "_" name prefix that marks the internal namespace.
      Returns:
      true if internal (not emitted); false (the default) if public
    • getDisplayHint

      default DisplayHint getDisplayHint()
      How this indicator's value should be presented — the typed view of the IndicatorMeta.DISPLAY metadata entry. Defaults to DisplayHint.ABSOLUTE; the fluent builder sets DisplayHint.PERCENT on the indicators that used to carry a "%" name suffix. Read by the charting/serialization layer instead of parsing the name.
      Returns:
      the display hint, never null
    • ro

      default RTIndicator ro()