[][src]Trait yata::core::IndicatorConfig

pub trait IndicatorConfig: Clone {
    type Instance: IndicatorInstance<Config = Self>;

    pub const NAME: &'static str;

    pub fn validate(&self) -> bool;
pub fn set(&mut self, name: &str, value: String) -> Result<(), Error>;
pub fn size(&self) -> (u8, u8);
pub fn init<T: OHLCV>(
        self,
        initial_value: &T
    ) -> Result<Self::Instance, Error>; pub fn name(&self) -> &'static str { ... }
pub fn init_fn<'a, T: OHLCV>(
        self,
        initial_value: &'a T
    ) -> Result<Box<dyn FnMut(&'a T) -> IndicatorResult>, Error>
    where
        Self: 'static
, { ... }
pub fn over<T, S>(self, inputs: S) -> Result<Vec<IndicatorResult>, Error>
    where
        T: OHLCV,
        S: AsRef<[T]>,
        Self: Sized
, { ... } }

Each indicator has it's own Configuration with parameters

Each that config should implement IndicatorConfig trait

See example with Example Indicator

Associated Types

type Instance: IndicatorInstance<Config = Self>[src]

Type of State

Loading content...

Associated Constants

pub const NAME: &'static str[src]

Name of an indicator

Loading content...

Required methods

pub fn validate(&self) -> bool[src]

Validates if Configuration is OK

pub fn set(&mut self, name: &str, value: String) -> Result<(), Error>[src]

Dynamically sets Configuration parameters

pub fn size(&self) -> (u8, u8)[src]

Returns an IndicatorResult size processing by the indicator (count of raw values, count of signals)

pub fn init<T: OHLCV>(self, initial_value: &T) -> Result<Self::Instance, Error>[src]

Initializes the State based on current Configuration

Loading content...

Provided methods

pub fn name(&self) -> &'static str[src]

Returns a name of the indicator

pub fn init_fn<'a, T: OHLCV>(
    self,
    initial_value: &'a T
) -> Result<Box<dyn FnMut(&'a T) -> IndicatorResult>, Error> where
    Self: 'static, 
[src]

Creates an IndicatorInstance function from this IndicatorConfig.

pub fn over<T, S>(self, inputs: S) -> Result<Vec<IndicatorResult>, Error> where
    T: OHLCV,
    S: AsRef<[T]>,
    Self: Sized
[src]

Evaluates indicator config over sequence of OHLC and returns sequence of IndicatorResults

use yata::prelude::*;
use yata::helpers::{RandomCandles};
use yata::indicators::Trix;

let candles: Vec<_> = RandomCandles::new().take(10).collect();
let trix = Trix::default();
let results = trix.over(&candles).unwrap();
println!("{:?}", results);
Loading content...

Implementors

impl IndicatorConfig for Example[src]

Implementing IndicatorConfig trait

type Instance = ExampleInstance

pub fn validate(&self) -> bool[src]

Validates config values to be consistent

pub fn set(&mut self, name: &str, value: String) -> Result<(), Error>[src]

Sets attributes of config by given name and value by String

pub fn size(&self) -> (u8, u8)[src]

Our indicator will return single raw value and two signals

impl IndicatorConfig for Aroon[src]

type Instance = AroonInstance

impl IndicatorConfig for AverageDirectionalIndex[src]

type Instance = AverageDirectionalIndexInstance

impl IndicatorConfig for AwesomeOscillator[src]

type Instance = AwesomeOscillatorInstance

impl IndicatorConfig for BollingerBands[src]

type Instance = BollingerBandsInstance

impl IndicatorConfig for ChaikinMoneyFlow[src]

type Instance = ChaikinMoneyFlowInstance

impl IndicatorConfig for ChaikinOscillator[src]

type Instance = ChaikinOscillatorInstance

impl IndicatorConfig for ChandeKrollStop[src]

type Instance = ChandeKrollStopInstance

impl IndicatorConfig for ChandeMomentumOscillator[src]

type Instance = ChandeMomentumOscillatorInstance

impl IndicatorConfig for CommodityChannelIndex[src]

type Instance = CommodityChannelIndexInstance

impl IndicatorConfig for CoppockCurve[src]

type Instance = CoppockCurveInstance

impl IndicatorConfig for DetrendedPriceOscillator[src]

type Instance = DetrendedPriceOscillatorInstance

impl IndicatorConfig for EaseOfMovement[src]

type Instance = EaseOfMovementInstance

impl IndicatorConfig for EldersForceIndex[src]

type Instance = EldersForceIndexInstance

impl IndicatorConfig for Envelopes[src]

type Instance = EnvelopesInstance

impl IndicatorConfig for FisherTransform[src]

type Instance = FisherTransformInstance

impl IndicatorConfig for HullMovingAverage[src]

type Instance = HullMovingAverageInstance

impl IndicatorConfig for IchimokuCloud[src]

type Instance = IchimokuCloudInstance

impl IndicatorConfig for Kaufman[src]

type Instance = KaufmanInstance

impl IndicatorConfig for KeltnerChannel[src]

type Instance = KeltnerChannelInstance

impl IndicatorConfig for KlingerVolumeOscillator[src]

type Instance = KlingerVolumeOscillatorInstance

impl IndicatorConfig for KnowSureThing[src]

type Instance = KnowSureThingInstance

impl IndicatorConfig for MACD[src]

type Instance = MACDInstance

impl IndicatorConfig for MomentumIndex[src]

type Instance = MomentumIndexInstance

impl IndicatorConfig for MoneyFlowIndex[src]

type Instance = MoneyFlowIndexInstance

impl IndicatorConfig for ParabolicSAR[src]

type Instance = ParabolicSARInstance

impl IndicatorConfig for PivotReversalStrategy[src]

type Instance = PivotReversalStrategyInstance

impl IndicatorConfig for PriceChannelStrategy[src]

type Instance = PriceChannelStrategyInstance

impl IndicatorConfig for RelativeStrengthIndex[src]

type Instance = RelativeStrengthIndexInstance

impl IndicatorConfig for RelativeVigorIndex[src]

type Instance = RelativeVigorIndexInstance

impl IndicatorConfig for SMIErgodicIndicator[src]

type Instance = SMIErgodicIndicatorInstance

impl IndicatorConfig for StochasticOscillator[src]

type Instance = StochasticOscillatorInstance

impl IndicatorConfig for TrendStrengthIndex[src]

type Instance = TrendStrengthIndexInstance

impl IndicatorConfig for Trix[src]

type Instance = TRIXInstance

impl IndicatorConfig for TrueStrengthIndex[src]

type Instance = TrueStrengthIndexInstance

impl IndicatorConfig for WoodiesCCI[src]

type Instance = WoodiesCCIInstance

Loading content...