Files
QuanTAlib/lib/core/_index.md
T
Miha Kralj 33d20f2a18 feat(dynamics): add PlusDI, MinusDI, PlusDM, MinusDM indicators
Complete thin Dx-composition wrapper indicators with full test coverage:

- PlusDi/MinusDi: Directional Indicator wrappers (DiPlus/DiMinus from Dx)
- PlusDm/MinusDm: Directional Movement wrappers (DmPlus/DmMinus from Dx)
- Individual validation tests per indicator directory (TALib, Skender, bounds)
- Combined unit tests (DiDm.Tests.cs) and validation tests (DiDm.Validation.Tests.cs)
- Quantower wrappers + tests for all 4 indicators
- PineScript v6 implementations with compensated RMA
- Normalized .md documentation for all indicators and categories
- 182 tests passing, 0 failures
2026-03-11 20:21:52 -07:00

1.6 KiB

Core

Price transforms and fundamental building blocks. These indicators compute derived prices from OHLCV bars and serve as inputs to higher-order indicators.

Indicators

Indicator Full Name Description
AVGPRICE Average Price (O+H+L+C) * 0.25 via FMA
MEDPRICE Median Price (H+L) * 0.5
MIDPOINT Rolling Midpoint (Max+Min) * 0.5 over lookback window
MIDPRICE Mid Price (Highest High + Lowest Low) * 0.5
MIDBODY Open-Close Average (O+C) * 0.5
TYPPRICE Typical Price (H+L+C) * OneThird via FMA
HA Heikin-Ashi Modified OHLC candles. Smoothed trend visualization. Output is TBar.
WCLPRICE Weighted Close Price (H+L+2C) * 0.25 via FMA

Architecture

All Core indicators share common traits:

  • Zero allocation in Update hot path
  • FMA optimization where applicable (Avgprice, Typprice, Wclprice)
  • Multiplication over division (0.25 instead of /4, OneThird instead of /3)
  • NaN/Infinity guard via last-valid-value substitution
  • Bar correction via isNew rollback pattern
  • Dual API with stateful Update + stateless static Calculate
  • SIMD batch via ReadOnlySpan<double> / Span<double> overloads

TBar-Based vs TValue-Based

Type Indicators Input
TBar AVGPRICE, MEDPRICE, MIDPRICE, MIDBODY, TYPPRICE, WCLPRICE OHLCV bars
TValue MIDPOINT Single value series