F2: add ZLEMA, T3 and VWMA advanced moving averages

Completes the F2 family (Advanced MAs) end to end:

- Rust core: zlema.rs (Zero-Lag EMA over the de-lagged series
  2·price − price[lag]), t3.rs (Tillson's six-EMA cascade with the
  volume-factor polynomial), vwma.rs (volume-weighted rolling mean with
  a zero-volume fallback to the unweighted mean). Each with a full
  Indicator impl, runnable doctest and reference-value / warmup /
  reset / batch==streaming / non-finite tests.
- Python: PyZlema / PyT3 / PyVwma PyO3 classes + module registration
  + .pyi stubs (T3 defaults v=0.7).
- Node: ZlemaNode via the scalar macro, explicit T3Node and VwmaNode
  classes; index.d.ts and index.js updated.
- WASM: WasmZlema / WasmT3 via the scalar macro, explicit WasmVwma.
- Wiki: Indicator-Zlema.md, Indicator-T3.md, Indicator-Vwma.md plus
  rows in Indicators-Overview.md and entries in Home.md.

cargo fmt + clippy (core/wickra/data/wasm/node) clean; 232 core tests,
25 data tests and 33 doctests green.
This commit is contained in:
kingchenc
2026-05-22 17:45:02 +02:00
parent ed7324115c
commit 780a176072
15 changed files with 1573 additions and 3 deletions
+6
View File
@@ -25,12 +25,15 @@ mod rsi;
mod sma;
mod smma;
mod stochastic;
mod t3;
mod tema;
mod trima;
mod trix;
mod vwap;
mod vwma;
mod williams_r;
mod wma;
mod zlema;
pub use adx::{Adx, AdxOutput};
pub use aroon::{Aroon, AroonOutput};
@@ -53,9 +56,12 @@ pub use rsi::Rsi;
pub use sma::Sma;
pub use smma::Smma;
pub use stochastic::{Stochastic, StochasticOutput};
pub use t3::T3;
pub use tema::Tema;
pub use trima::Trima;
pub use trix::Trix;
pub use vwap::{RollingVwap, Vwap};
pub use vwma::Vwma;
pub use williams_r::WilliamsR;
pub use wma::Wma;
pub use zlema::Zlema;