quantwave_core/features/
instantaneous_trendline.rs1use crate::indicators::instantaneous_trendline::InstantaneousTrendline;
9use crate::traits::Next;
10
11#[derive(Debug, Clone, Copy, PartialEq)]
12pub struct InstantaneousTrendlineFeatures {
13 pub trend: f64,
14 pub strength: f64,
16}
17
18#[derive(Debug, Clone)]
19pub struct InstantaneousTrendlineFeatureExtractor {
20 inner: InstantaneousTrendline,
21}
22
23impl InstantaneousTrendlineFeatureExtractor {
24 pub fn new() -> Self {
25 Self {
26 inner: InstantaneousTrendline::new(),
27 }
28 }
29}
30
31impl Next<f64> for InstantaneousTrendlineFeatureExtractor {
32 type Output = InstantaneousTrendlineFeatures;
33
34 fn next(&mut self, input: f64) -> Self::Output {
35 let trend = self.inner.next(input);
36 InstantaneousTrendlineFeatures { trend, strength: 0.0 }
38 }
39}