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
+3
View File
@@ -81,6 +81,9 @@ Rust / Python / Node examples. They are grouped by family, mirroring the
- [Indicator-Kama.md](indicators/trend/Indicator-Kama.md)
- [Indicator-Smma.md](indicators/trend/Indicator-Smma.md)
- [Indicator-Trima.md](indicators/trend/Indicator-Trima.md)
- [Indicator-Zlema.md](indicators/trend/Indicator-Zlema.md)
- [Indicator-T3.md](indicators/trend/Indicator-T3.md)
- [Indicator-Vwma.md](indicators/trend/Indicator-Vwma.md)
**Momentum** — measure the rate of price change rather than the level.