[][src]Struct ta::indicators::BollingerBands

pub struct BollingerBands { /* fields omitted */ }

A Bollinger Bands (BB). (BB). It is a type of infinite impulse response filter that calculates Bollinger Bands using Exponential Moving Average. The Bollinger Bands are represented by Average EMA and standard deviaton that is moved 'k' times away in both directions from calculated average value.

Formula

See SMA, SD documentation.

BB is composed as:

  • BBMiddle Band - Simple Moving Average (SMA).
  • BBUpper Band = SMA + SD of observation * multipler (usually 2.0)
  • BBLower Band = SMA - SD of observation * multipler (usually 2.0)

Example

 use ta::indicators::{BollingerBands, BollingerBandsOutput};
 use ta::Next;

 let mut bb = BollingerBands::new(3, 2.0_f64).unwrap();

 let out_0 = bb.next(2.0);

 let out_1 = bb.next(5.0);

 assert_eq!(out_0.average, 2.0);
 assert_eq!(out_0.upper, 2.0);
 assert_eq!(out_0.lower, 2.0);

 assert_eq!(out_1.average, 3.5);
 assert_eq!(out_1.upper, 6.5);
 assert_eq!(out_1.lower, 0.5);

Links

Bollinger Bands, Wikipedia

Methods

impl BollingerBands[src]

pub fn new(length: u32, multiplier: f64) -> Result<Self>[src]

pub fn length(&self) -> u32[src]

pub fn multiplier(&self) -> f64[src]

Trait Implementations

impl Clone for BollingerBands[src]

impl Debug for BollingerBands[src]

impl Default for BollingerBands[src]

impl Display for BollingerBands[src]

impl<'a, T: Close> Next<&'a T> for BollingerBands[src]

type Output = BollingerBandsOutput

impl Next<f64> for BollingerBands[src]

type Output = BollingerBandsOutput

impl Reset for BollingerBands[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.