nautilus_indicators::average::ama

Struct AdaptiveMovingAverage

Source
#[repr(C)]
pub struct AdaptiveMovingAverage { pub period_efficiency_ratio: usize, pub period_fast: usize, pub period_slow: usize, pub price_type: PriceType, pub value: f64, pub count: usize, pub initialized: bool, /* private fields */ }
Expand description

An indicator which calculates an adaptive moving average (AMA) across a rolling window. Developed by Perry Kaufman, the AMA is a moving average designed to account for market noise and volatility. The AMA will closely follow prices when the price swings are relatively small and the noise is low. The AMA will increase lag when the price swings increase.

Fields§

§period_efficiency_ratio: usize

The period for the internal EfficiencyRatio indicator.

§period_fast: usize

The period for the fast smoothing constant (> 0).

§period_slow: usize

The period for the slow smoothing constant (> 0 < period_fast).

§price_type: PriceType

The price type used for calculations.

§value: f64

The last indicator value.

§count: usize

The input count for the indicator.

§initialized: bool

Implementations§

Source§

impl AdaptiveMovingAverage

Source

pub fn new( period_efficiency_ratio: usize, period_fast: usize, period_slow: usize, price_type: Option<PriceType>, ) -> Self

Creates a new AdaptiveMovingAverage instance.

Source

pub fn alpha_diff(&self) -> f64

Source

pub fn reset(&mut self)

Source§

impl AdaptiveMovingAverage

Source

pub fn py_new( period_efficiency_ratio: usize, period_fast: usize, period_slow: usize, price_type: Option<PriceType>, ) -> Self

Trait Implementations§

Source§

impl Debug for AdaptiveMovingAverage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for AdaptiveMovingAverage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Indicator for AdaptiveMovingAverage

Source§

fn name(&self) -> String

Source§

fn has_inputs(&self) -> bool

Source§

fn initialized(&self) -> bool

Source§

fn handle_quote(&mut self, quote: &QuoteTick)

Source§

fn handle_trade(&mut self, trade: &TradeTick)

Source§

fn handle_bar(&mut self, bar: &Bar)

Source§

fn reset(&mut self)

Source§

fn handle_delta(&mut self, delta: &OrderBookDelta)

Source§

fn handle_deltas(&mut self, deltas: &OrderBookDeltas)

Source§

fn handle_depth(&mut self, depth: &OrderBookDepth10)

Source§

fn handle_book(&mut self, book: &OrderBook)

Source§

impl IntoPy<Py<PyAny>> for AdaptiveMovingAverage

Source§

fn into_py(self, py: Python<'_>) -> PyObject

Performs the conversion.
Source§

impl MovingAverage for AdaptiveMovingAverage

Source§

fn value(&self) -> f64

Source§

fn count(&self) -> usize

Source§

fn update_raw(&mut self, value: f64)

Source§

impl PyClass for AdaptiveMovingAverage

Source§

type Frozen = False

Whether the pyclass is frozen. Read more
Source§

impl PyClassImpl for AdaptiveMovingAverage

Source§

const IS_BASETYPE: bool = false

#[pyclass(subclass)]
Source§

const IS_SUBCLASS: bool = false

#[pyclass(extends=…)]
Source§

const IS_MAPPING: bool = false

#[pyclass(mapping)]
Source§

const IS_SEQUENCE: bool = false

#[pyclass(sequence)]
Source§

type BaseType = PyAny

Base class
Source§

type ThreadChecker = SendablePyClass<AdaptiveMovingAverage>

This handles following two situations: Read more
Source§

type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild

Immutable or mutable
Source§

type Dict = PyClassDummySlot

Specify this class has #[pyclass(dict)] or not.
Source§

type WeakRef = PyClassDummySlot

Specify this class has #[pyclass(weakref)] or not.
Source§

type BaseNativeType = PyAny

The closest native ancestor. This is PyAny by default, and when you declare #[pyclass(extends=PyDict)], it’s PyDict.
Source§

fn items_iter() -> PyClassItemsIter

Source§

fn doc(py: Python<'_>) -> PyResult<&'static CStr>

Rendered class doc
Source§

fn lazy_type_object() -> &'static LazyTypeObject<Self>

§

fn dict_offset() -> Option<isize>

§

fn weaklist_offset() -> Option<isize>

Source§

impl PyClassNewTextSignature<AdaptiveMovingAverage> for PyClassImplCollector<AdaptiveMovingAverage>

Source§

fn new_text_signature(self) -> Option<&'static str>

Source§

impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a AdaptiveMovingAverage

Source§

type Holder = Option<PyRef<'py, AdaptiveMovingAverage>>

Source§

fn extract( obj: &'a Bound<'py, PyAny>, holder: &'a mut Self::Holder, ) -> PyResult<Self>

Source§

impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a mut AdaptiveMovingAverage

Source§

type Holder = Option<PyRefMut<'py, AdaptiveMovingAverage>>

Source§

fn extract( obj: &'a Bound<'py, PyAny>, holder: &'a mut Self::Holder, ) -> PyResult<Self>

Source§

impl PyMethods<AdaptiveMovingAverage> for PyClassImplCollector<AdaptiveMovingAverage>

Source§

fn py_methods(self) -> &'static PyClassItems

Source§

impl PyTypeInfo for AdaptiveMovingAverage

Source§

const NAME: &'static str = "AdaptiveMovingAverage"

Class name.
Source§

const MODULE: Option<&'static str>

Module name, if any.
Source§

fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject

Returns the PyTypeObject instance for this type.
§

fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>

Returns the safe abstraction over the type object.
§

fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of this type or a subclass of this type.
§

fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of this type.
Source§

impl DerefToPyAny for AdaptiveMovingAverage

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.

§

impl<T> PyErrArguments for T
where T: IntoPy<Py<PyAny>> + Send + Sync,

§

fn arguments(self, py: Python<'_>) -> Py<PyAny>

Arguments for exception
§

impl<T> PyTypeCheck for T
where T: PyTypeInfo,

§

const NAME: &'static str = <T as PyTypeInfo>::NAME

Name of self. This is used in error messages, for example.
§

fn type_check(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of Self, which may include a subtype. Read more
Source§

impl<T> Separable for T
where T: Display,

Source§

fn separate_by_policy(&self, policy: SeparatorPolicy<'_>) -> String

Adds separators according to the given SeparatorPolicy. Read more
Source§

fn separate_with_commas(&self) -> String

Inserts a comma every three digits from the right. Read more
Source§

fn separate_with_spaces(&self) -> String

Inserts a space every three digits from the right. Read more
Source§

fn separate_with_dots(&self) -> String

Inserts a period every three digits from the right. Read more
Source§

fn separate_with_underscores(&self) -> String

Inserts an underscore every three digits from the right. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> Ungil for T
where T: Send,