Skip to main content

SupertrendEngine

Struct SupertrendEngine 

Source
pub struct SupertrendEngine { /* private fields */ }
Expand description

Supertrend: a trailing band that flips with the close.

ATR is the plain mean of the last period true ranges (the first high - low), not a Wilder average. Basic bands are (high + low) / 2 ± multiplier * ATR. A final band only moves against the trend when the previous close crossed it: the upper band takes the new basic value if that is lower or the previous close was above the old band, the lower band if it is higher or the previous close was below. The trend starts up and flips when the close falls below the final lower band (in an uptrend) or rises above the final upper band (in a downtrend).

value: the lower band in an uptrend, the upper band in a downtrend; extra["trend"] (1/-1), extra["upper"], extra["lower"]. First output: with the period-th bar. Indicator::reset clears the window and the bands.

Implementations§

Source§

impl SupertrendEngine

Source

pub fn new(period: usize, multiplier: f64) -> Self

Trait Implementations§

Source§

impl Indicator for SupertrendEngine

Source§

fn name(&self) -> &str

Source§

fn warmup_period(&self) -> usize

Source§

fn reset(&mut self)

Source§

fn on_bar(&mut self, bar: &Bar) -> Option<IndicatorOutput>

Source§

fn alerts(&self) -> Vec<IndicatorAlert>

Source§

fn on_checked_bar( &mut self, bar: &Bar, ) -> Result<Option<IndicatorOutput>, BarValidationError>

Validates a bar before forwarding it to Indicator::on_bar.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.