Skip to main content

Indicator

Trait Indicator 

Source
pub trait Indicator {
    type Input;
    type Output;

    // Required methods
    fn update(&mut self, input: Self::Input) -> Option<Self::Output>;
    fn reset(&mut self);
    fn warmup_period(&self) -> usize;
    fn is_ready(&self) -> bool;
    fn name(&self) -> &'static str;
}
Expand description

A streaming technical indicator.

Every indicator in Wickra implements this trait. The contract is:

  • update is called once per input point and must be O(1) in the input length. Pre-existing buffered state may be touched, but no full recomputation over the entire series is permitted.
  • The returned Option<Output> is None while the indicator is still in its warmup phase (insufficient inputs to produce a defined value), and Some once it is ready.
  • reset clears all state, returning the indicator to the exact configuration it had immediately after construction.

Implementors that consume scalar prices use Input = f64 so they automatically gain access to chaining via Chain.

Required Associated Types§

Source

type Input

Type of one input data point (typically f64 for a price, or Candle / Tick).

Source

type Output

Type of one output value.

Required Methods§

Source

fn update(&mut self, input: Self::Input) -> Option<Self::Output>

Feed one new data point into the indicator and return the freshly computed output, or None if the indicator is still warming up.

Source

fn reset(&mut self)

Reset all internal state, leaving the indicator equivalent to a freshly constructed instance with the same parameters.

Source

fn warmup_period(&self) -> usize

Number of inputs required before the first non-None output can be produced.

Source

fn is_ready(&self) -> bool

Whether the indicator has emitted at least one value since the last reset.

Source

fn name(&self) -> &'static str

Stable, human-readable indicator name. Used by chaining and diagnostics.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Indicator for AccelerationBands

Source§

impl Indicator for AcceleratorOscillator

Source§

impl Indicator for AdOscillator

Source§

impl Indicator for AdaptiveCycle

Source§

impl Indicator for Adl

Source§

impl Indicator for Adx

Source§

impl Indicator for Adxr

Source§

impl Indicator for Alligator

Source§

impl Indicator for Alma

Source§

impl Indicator for Alpha

Source§

impl Indicator for AnchoredVwap

Source§

impl Indicator for Apo

Source§

impl Indicator for Aroon

Source§

impl Indicator for AroonOscillator

Source§

impl Indicator for Atr

Source§

impl Indicator for AtrBands

Source§

impl Indicator for AtrTrailingStop

Source§

impl Indicator for Autocorrelation

Source§

impl Indicator for AverageDrawdown

Source§

impl Indicator for AwesomeOscillator

Source§

impl Indicator for AwesomeOscillatorHistogram

Source§

impl Indicator for BalanceOfPower

Source§

impl Indicator for Beta

Source§

impl Indicator for BollingerBands

Source§

impl Indicator for BollingerBandwidth

Source§

impl Indicator for CalmarRatio

Source§

impl Indicator for Camarilla

Source§

impl Indicator for Cci

Source§

impl Indicator for CenterOfGravity

Source§

impl Indicator for Cfo

Source§

impl Indicator for ChaikinMoneyFlow

Source§

impl Indicator for ChaikinOscillator

Source§

impl Indicator for ChaikinVolatility

Source§

impl Indicator for ChandeKrollStop

Source§

impl Indicator for ChandelierExit

Source§

impl Indicator for ChoppinessIndex

Source§

impl Indicator for ClassicPivots

Source§

impl Indicator for Cmo

Source§

impl Indicator for CoefficientOfVariation

Source§

impl Indicator for Cointegration

Source§

impl Indicator for ConditionalValueAtRisk

Source§

impl Indicator for ConnorsRsi

Source§

impl Indicator for Coppock

Source§

impl Indicator for CumulativeVolumeDelta

Source§

impl Indicator for CyberneticCycle

Source§

impl Indicator for Decycler

Source§

impl Indicator for DecyclerOscillator

Source§

impl Indicator for Dema

Source§

impl Indicator for DemandIndex

Source§

impl Indicator for DemarkPivots

Source§

impl Indicator for DetrendedStdDev

Source§

impl Indicator for Doji

Source§

impl Indicator for Donchian

Source§

impl Indicator for DonchianStop

Source§

impl Indicator for DoubleBollinger

Source§

impl Indicator for Dpo

Source§

impl Indicator for DrawdownDuration

Source§

impl Indicator for EaseOfMovement

Source§

impl Indicator for EhlersStochastic

Source§

impl Indicator for ElderImpulse

Source§

impl Indicator for Ema

Source§

impl Indicator for EmpiricalModeDecomposition

Source§

impl Indicator for Engulfing

Source§

impl Indicator for Evwma

Source§

impl Indicator for Fama

Source§

impl Indicator for FibonacciPivots

Source§

impl Indicator for FisherTransform

Source§

impl Indicator for ForceIndex

Source§

impl Indicator for FractalChaosBands

Source§

impl Indicator for Frama

Source§

impl Indicator for GainLossRatio

Source§

impl Indicator for GarmanKlassVolatility

Source§

impl Indicator for Hammer

Source§

impl Indicator for HangingMan

Source§

impl Indicator for Harami

Source§

impl Indicator for HeikinAshi

Source§

impl Indicator for HiLoActivator

Source§

impl Indicator for HilbertDominantCycle

Source§

impl Indicator for HistoricalVolatility

Source§

impl Indicator for Hma

Source§

impl Indicator for HurstChannel

Source§

impl Indicator for HurstExponent

Source§

impl Indicator for Ichimoku

Source§

impl Indicator for Inertia

Source§

impl Indicator for InformationRatio

Source§

impl Indicator for InitialBalance

Source§

impl Indicator for InstantaneousTrendline

Source§

impl Indicator for InverseFisherTransform

Source§

impl Indicator for InvertedHammer

Source§

impl Indicator for Jma

Source§

impl Indicator for Kama

Source§

impl Indicator for KellyCriterion

Source§

impl Indicator for Keltner

Source§

impl Indicator for Kst

Source§

impl Indicator for Kurtosis

Source§

impl Indicator for Kvo

Source§

impl Indicator for LaguerreRsi

Source§

impl Indicator for LeadLagCrossCorrelation

Source§

impl Indicator for LinRegAngle

Source§

impl Indicator for LinRegChannel

Source§

impl Indicator for LinRegSlope

Source§

impl Indicator for LinearRegression

Source§

impl Indicator for MaEnvelope

Source§

impl Indicator for MacdIndicator

Source§

impl Indicator for Mama

Source§

impl Indicator for MarketFacilitationIndex

Source§

impl Indicator for Marubozu

Source§

impl Indicator for MassIndex

Source§

impl Indicator for MaxDrawdown

Source§

impl Indicator for McGinleyDynamic

Source§

impl Indicator for MedianAbsoluteDeviation

Source§

impl Indicator for MedianPrice

Source§

impl Indicator for Mfi

Source§

impl Indicator for Microprice

Source§

impl Indicator for Mom

Source§

impl Indicator for MorningEveningStar

Source§

impl Indicator for Natr

Source§

impl Indicator for Nvi

Source§

impl Indicator for Obv

Source§

impl Indicator for OmegaRatio

Source§

impl Indicator for OpeningRange

Source§

impl Indicator for OrderBookImbalanceFull

Source§

impl Indicator for OrderBookImbalanceTop1

Source§

impl Indicator for OrderBookImbalanceTopN

Source§

impl Indicator for PainIndex

Source§

impl Indicator for PairSpreadZScore

Source§

impl Indicator for PairwiseBeta

Source§

impl Indicator for ParkinsonVolatility

Source§

impl Indicator for PearsonCorrelation

Source§

impl Indicator for PercentB

Source§

impl Indicator for PercentageTrailingStop

Source§

impl Indicator for Pgo

Source§

impl Indicator for PiercingDarkCloud

Source§

impl Indicator for Pmo

Source§

impl Indicator for Ppo

Source§

impl Indicator for ProfitFactor

Source§

impl Indicator for Psar

Source§

impl Indicator for Pvi

Source§

impl Indicator for QuotedSpread

Source§

impl Indicator for RSquared

Source§

impl Indicator for RecoveryFactor

Source§

impl Indicator for RelativeStrengthAB

Source§

impl Indicator for RenkoTrailingStop

Source§

impl Indicator for Roc

Source§

impl Indicator for RogersSatchellVolatility

Source§

impl Indicator for RollingVwap

Source§

impl Indicator for RoofingFilter

Source§

impl Indicator for Rsi

Source§

impl Indicator for Rvi

Source§

impl Indicator for RviVolatility

Source§

impl Indicator for Rwi

Source§

impl Indicator for SharpeRatio

Source§

impl Indicator for ShootingStar

Source§

impl Indicator for SignedVolume

Source§

impl Indicator for SineWave

Source§

impl Indicator for Skewness

Source§

impl Indicator for Sma

Source§

impl Indicator for Smi

Source§

impl Indicator for Smma

Source§

impl Indicator for SortinoRatio

Source§

impl Indicator for SpearmanCorrelation

Source§

impl Indicator for SpinningTop

Source§

impl Indicator for StandardError

Source§

impl Indicator for StandardErrorBands

Source§

impl Indicator for StarcBands

Source§

impl Indicator for Stc

Source§

impl Indicator for StdDev

Source§

impl Indicator for StepTrailingStop

Source§

impl Indicator for StochRsi

Source§

impl Indicator for Stochastic

Source§

impl Indicator for SuperSmoother

Source§

impl Indicator for SuperTrend

Source§

impl Indicator for T3

Source§

impl Indicator for TdCombo

Source§

impl Indicator for TdCountdown

Source§

impl Indicator for TdDeMarker

Source§

impl Indicator for TdDifferential

Source§

impl Indicator for TdLines

Source§

impl Indicator for TdOpen

Source§

impl Indicator for TdPressure

Source§

impl Indicator for TdRangeProjection

Source§

impl Indicator for TdRei

Source§

impl Indicator for TdRiskLevel

Source§

impl Indicator for TdSequential

Source§

impl Indicator for TdSetup

Source§

impl Indicator for Tema

Source§

impl Indicator for ThreeInside

Source§

impl Indicator for ThreeOutside

Source§

impl Indicator for ThreeSoldiersOrCrows

Source§

impl Indicator for Tii

Source§

impl Indicator for TradeImbalance

Source§

impl Indicator for TreynorRatio

Source§

impl Indicator for Trima

Source§

impl Indicator for Trix

Source§

impl Indicator for TrueRange

Source§

impl Indicator for Tsi

Source§

impl Indicator for Tsv

Source§

impl Indicator for TtmSqueeze

Source§

impl Indicator for Tweezer

Source§

impl Indicator for TypicalPrice

Source§

impl Indicator for UlcerIndex

Source§

impl Indicator for UltimateOscillator

Source§

impl Indicator for ValueArea

Source§

impl Indicator for ValueAtRisk

Source§

impl Indicator for Variance

Source§

impl Indicator for VerticalHorizontalFilter

Source§

impl Indicator for Vidya

Source§

impl Indicator for VoltyStop

Source§

impl Indicator for VolumeOscillator

Source§

impl Indicator for VolumePriceTrend

Source§

impl Indicator for Vortex

Source§

impl Indicator for Vwap

Source§

impl Indicator for VwapStdDevBands

Source§

impl Indicator for Vwma

Source§

impl Indicator for Vzo

Source§

impl Indicator for WaveTrend

Source§

impl Indicator for WeightedClose

Source§

impl Indicator for WilliamsFractals

Source§

impl Indicator for WilliamsR

Source§

impl Indicator for Wma

Source§

impl Indicator for WoodiePivots

Source§

impl Indicator for YangZhangVolatility

Source§

impl Indicator for YoyoExit

Source§

impl Indicator for ZScore

Source§

impl Indicator for ZeroLagMacd

Source§

impl Indicator for ZigZag

Source§

impl Indicator for Zlema

Source§

impl<A, B> Indicator for Chain<A, B>
where A: Indicator<Input = f64, Output = f64>, B: Indicator<Input = f64>,