pub fn natr(
high: &[f64],
low: &[f64],
close: &[f64],
params: AtrParams,
) -> FinanceResult<NatrSeries>Expand description
Normalized ATR: 100 * ATR / close when both defined and close ≠ 0.
use finance_solution::stocks::ta::{natr, AtrParams};
let n = 30usize;
let h: Vec<_> = (0..n).map(|_| 102.0).collect();
let l: Vec<_> = (0..n).map(|_| 100.0).collect();
let c: Vec<_> = (0..n).map(|_| 100.0).collect();
let s = natr(&h, &l, &c, AtrParams::period_14()).unwrap();
// ATR≈2 → NATR ≈ 100*2/100 = 2
assert!((s.natr.last().unwrap().unwrap() - 2.0).abs() < 1e-9);