nautilus_indicators/python/ratio/
efficiency_ratio.rs1use nautilus_model::enums::PriceType;
17use pyo3::prelude::*;
18
19use crate::{indicator::Indicator, ratio::efficiency_ratio::EfficiencyRatio};
20
21#[pymethods]
22impl EfficiencyRatio {
23 #[new]
24 #[pyo3(signature = (period, price_type=None))]
25 fn py_new(period: usize, price_type: Option<PriceType>) -> Self {
26 Self::new(period, price_type)
27 }
28
29 fn __repr__(&self) -> String {
30 format!("EfficiencyRatio({})", self.period)
31 }
32
33 #[getter]
34 #[pyo3(name = "name")]
35 fn py_name(&self) -> String {
36 self.name()
37 }
38
39 #[getter]
40 #[pyo3(name = "period")]
41 const fn py_period(&self) -> usize {
42 self.period
43 }
44
45 #[getter]
46 #[pyo3(name = "value")]
47 const fn py_value(&self) -> f64 {
48 self.value
49 }
50
51 #[getter]
52 #[pyo3(name = "initialized")]
53 const fn py_initialized(&self) -> bool {
54 self.initialized
55 }
56
57 #[pyo3(name = "has_inputs")]
58 fn py_has_inputs(&self) -> bool {
59 self.has_inputs()
60 }
61
62 #[pyo3(name = "update_raw")]
63 fn py_update_raw(&mut self, value: f64) {
64 self.update_raw(value);
65 }
66}