mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-07-27 17:27:43 +00:00
33d20f2a18
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
1.6 KiB
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
Updatehot 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
isNewrollback pattern - Dual API with stateful
Update+ stateless staticCalculate - 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 |