mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-15 09:08:04 +00:00
adding missing validations
This commit is contained in:
@@ -156,6 +156,7 @@ Bounded indicators that oscillate around a centerline or between fixed extremes.
|
||||
| [**DECO**](../lib/oscillators/deco/Deco.md) | Ehlers Decycler Oscillator | Dual HP bandpass cycle isolation |
|
||||
| [**DPO**](../lib/oscillators/dpo/Dpo.md) | Detrended Price Oscillator | Displaced SMA trend removal |
|
||||
| [**FISHER**](../lib/oscillators/fisher/Fisher.md) | Ehlers Fisher Transform | Gaussian-normalized price reversal |
|
||||
| [**GATOR**](../lib/oscillators/gator/Gator.md) | Williams Gator Oscillator | Alligator line difference histograms (upper/lower) |
|
||||
| [**IMI**](../lib/oscillators/imi/Imi.md) | Intraday Momentum Index | Candlestick RSI (0-100 oscillator) |
|
||||
| [**INERTIA**](../lib/oscillators/inertia/Inertia.md) | Inertia | Linear regression residual |
|
||||
| [**KDJ**](../lib/oscillators/kdj/Kdj.md) | KDJ Indicator | Enhanced Stochastic (J = 3K − 2D) |
|
||||
@@ -188,13 +189,17 @@ Indicators measuring trend strength, regime, and directional movement quality.
|
||||
| [**CHOP**](../lib/dynamics/chop/Chop.md) | Choppiness Index | ATR sum vs range; trending vs choppy |
|
||||
| [**DMX**](../lib/dynamics/dmx/Dmx.md) | Jurik DMX | Enhanced directional movement |
|
||||
| [**DX**](../lib/dynamics/dx/Dx.md) | Directional Movement Index | Raw directional strength |
|
||||
| [**GHLA**](../lib/dynamics/ghla/Ghla.md) | Gann High-Low Activator | SMA(High)/SMA(Low) alternating on crossover |
|
||||
| [**HT_TRENDMODE**](../lib/dynamics/ht_trendmode/HtTrendmode.md) | Ehlers Hilbert Transform Trend vs Cycle Mode | Cycle vs trend regime detection |
|
||||
| [**ICHIMOKU**](../lib/dynamics/ichimoku/Ichimoku.md) | Ichimoku Cloud | Multi-component trend system |
|
||||
| [**IMPULSE**](../lib/dynamics/impulse/Impulse.md) | Elder Impulse System | EMA + MACD-H trend/momentum fusion |
|
||||
| [**QSTICK**](../lib/dynamics/qstick/Qstick.md) | Qstick | Average close-open difference |
|
||||
| [**PFE**](../lib/dynamics/pfe/Pfe.md) | Polarized Fractal Efficiency | Fractal path efficiency as trend strength |
|
||||
| [**RAVI**](../lib/dynamics/ravi/Ravi.md) | Chande Range Action Verification Index | Dual-SMA divergence as trend strength |
|
||||
| [**SUPER**](../lib/dynamics/super/Super.md) | SuperTrend | ATR-based trend bands |
|
||||
| [**TTM_SQUEEZE**](../lib/dynamics/ttm_squeeze/TtmSqueeze.md) | TTM Squeeze | BB inside KC squeeze with momentum |
|
||||
| [**TTM_TREND**](../lib/dynamics/ttm_trend/TtmTrend.md) | TTM Trend | Bar coloring by close vs midline |
|
||||
| [**VHF**](../lib/dynamics/vhf/Vhf.md) | Vertical Horizontal Filter | Range / path ratio trend strength |
|
||||
| [**VORTEX**](../lib/dynamics/vortex/Vortex.md) | Vortex Indicator | Uptrend/downtrend movement comparison |
|
||||
|
||||
### Momentum
|
||||
@@ -237,6 +242,7 @@ Measures of price variability and range. Essential for position sizing and stop
|
||||
| [**CCV**](../lib/volatility/ccv/Ccv.md) | Close-to-Close Volatility | Log-return standard deviation |
|
||||
| [**CV**](../lib/volatility/cv/Cv.md) | Coefficient of Variation | StdDev / Mean ratio |
|
||||
| [**CVI**](../lib/volatility/cvi/Cvi.md) | Chaikin Volatility | EMA change of H-L range |
|
||||
| [**ETHERM**](../lib/volatility/etherm/Etherm.md) | Elder's Thermometer | Absolute bar range in ATR units |
|
||||
| [**EWMA**](../lib/volatility/ewma/Ewma.md) | EWMA Volatility | Exponentially weighted variance |
|
||||
| [**GKV**](../lib/volatility/gkv/Gkv.md) | Garman-Klass Volatility | OHLC-based efficiency estimator |
|
||||
| [**HLV**](../lib/volatility/hlv/Hlv.md) | High-Low Volatility | Parkinson range-based estimator |
|
||||
@@ -403,11 +409,23 @@ Mathematical transformations and derivative indicators. Building blocks for anal
|
||||
| Indicator | Full Name | Notes |
|
||||
| :-------- | :-------- | :---- |
|
||||
| [**ACCEL**](../lib/numerics/accel/Accel.md) | Acceleration (2nd Derivative) | Change in slope |
|
||||
| [**BETADIST**](../lib/numerics/betadist/Betadist.md) | Beta Distribution (CDF/PDF) | Rolling Beta CDF — probability normalized observation falls below threshold |
|
||||
| [**BINOMDIST**](../lib/numerics/binomdist/Binomdist.md) | Binomial Distribution (CDF) | Rolling Binomial CDF — probability normalized observation falls below threshold |
|
||||
| [**EXPDIST**](../lib/numerics/expdist/Expdist.md) | Exponential Distribution (CDF) | Rolling Exponential CDF — probability normalized observation falls below threshold |
|
||||
| [**FDIST**](../lib/numerics/fdist/Fdist.md) | F-Distribution (CDF) | Rolling Fisher-Snedecor CDF — variance-ratio probability transform via regularized incomplete beta |
|
||||
| [**GAMMADIST**](../lib/numerics/gammadist/Gammadist.md) | Gamma Distribution (CDF) | Rolling Gamma CDF — shape/scale-parameterized probability transform via regularized incomplete gamma |
|
||||
| [**NORMDIST**](../lib/numerics/normdist/Normdist.md) | Normal Distribution (CDF) | Rolling Gaussian CDF — z-score normalized probability transform via erf approximation |
|
||||
| [**POISSONDIST**](../lib/numerics/poissondist/Poissondist.md) | Poisson Distribution (CDF) | Rolling Poisson CDF — count-based probability transform via regularized incomplete gamma |
|
||||
| [**TDIST**](../lib/numerics/tdist/Tdist.md) | Student's t-Distribution (CDF) | Rolling Student's t CDF — heavy-tailed probability transform via regularized incomplete beta |
|
||||
| [**WEIBULLDIST**](../lib/numerics/weibulldist/Weibulldist.md) | Weibull Distribution (CDF) | Rolling Weibull CDF — two-parameter closed-form probability transform via pow + exp |
|
||||
| [**CHANGE**](../lib/numerics/change/Change.md) | Percentage Change | Relative price movement |
|
||||
| [**CWT**](../lib/numerics/cwt/Cwt.md) | Continuous Wavelet Transform | Morlet CWT magnitude at a specified scale — time-frequency decomposition |
|
||||
| [**DWT**](../lib/numerics/dwt/Dwt.md) | Discrete Wavelet Transform | À trous Haar stationary DWT — multi-resolution approximation + detail, WarmupPeriod = 2^levels |
|
||||
| [**EXPTRANS**](../lib/numerics/exptrans/Exptrans.md) | Exponential Transform | e^x for log-space reversal |
|
||||
| [**HIGHEST**](../lib/numerics/highest/Highest.md) | Rolling Maximum | O(1) via monotonic deque |
|
||||
| [**JERK**](../lib/numerics/jerk/Jerk.md) | Jerk (3rd Derivative) | Change in acceleration |
|
||||
| [**LINEARTRANS**](../lib/numerics/lineartrans/Lineartrans.md) | Linear Transform | y = ax + b scaling |
|
||||
| [**LOGNORMDIST**](../lib/numerics/lognormdist/Lognormdist.md) | Log-Normal Distribution | Log-normal CDF via min-max normalization |
|
||||
| [**LOGTRANS**](../lib/numerics/logtrans/Logtrans.md) | Logarithmic Transform | Natural log for percentage analysis |
|
||||
| [**LOWEST**](../lib/numerics/lowest/Lowest.md) | Rolling Minimum | O(1) via monotonic deque |
|
||||
| [**NORMALIZE**](../lib/numerics/normalize/Normalize.md) | Min-Max Normalization | Scale to [0,1] via rolling min/max |
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
# Release Note: CCI WarmupPeriod — Static to Instance Migration
|
||||
|
||||
## Summary
|
||||
|
||||
`Cci.WarmupPeriod` has been changed from a **static** property to an **instance** property.
|
||||
This allows each `Cci` instance to report the warmup period for its configured `period` parameter,
|
||||
rather than a single hard-coded default.
|
||||
|
||||
## Breaking Change
|
||||
|
||||
Code that previously accessed `Cci.WarmupPeriod` as a static member will no longer compile:
|
||||
|
||||
```csharp
|
||||
// ❌ Before (no longer compiles)
|
||||
int warmup = Cci.WarmupPeriod;
|
||||
```
|
||||
|
||||
## Migration
|
||||
|
||||
### Option A — Use the instance property (recommended)
|
||||
|
||||
```csharp
|
||||
var cci = new Cci(period: 14);
|
||||
int warmup = cci.WarmupPeriod; // returns 14
|
||||
```
|
||||
|
||||
### Option B — Use the obsolete static accessor (temporary bridge)
|
||||
|
||||
A static `DefaultWarmupPeriod` property has been added and marked `[Obsolete]` to ease migration:
|
||||
|
||||
```csharp
|
||||
// ⚠️ Compiles with a warning; will be removed in a future major version.
|
||||
#pragma warning disable CS0618
|
||||
int warmup = Cci.DefaultWarmupPeriod; // returns 20 (the default period)
|
||||
#pragma warning restore CS0618
|
||||
```
|
||||
|
||||
## Timeline
|
||||
|
||||
| Milestone | Action |
|
||||
|-----------|--------|
|
||||
| Current release | `Cci.DefaultWarmupPeriod` available as `[Obsolete]` static bridge |
|
||||
| Next major version | `Cci.DefaultWarmupPeriod` will be removed |
|
||||
|
||||
## Related Changes
|
||||
|
||||
- **Ppo.Update(TSeries):** Fixed state synchronization — `_p_state = _state` is now
|
||||
assigned after the batch loop, matching the pattern used in `Pmo.Update(TSeries)`.
|
||||
- **Ppo.Batch(ReadOnlySpan):** Added `fastPeriod >= slowPeriod` guard to match the
|
||||
constructor validation, ensuring invalid parameter combinations are rejected early.
|
||||
@@ -63,6 +63,18 @@ No external reference exists. Implementation verified through unit tests, edge c
|
||||
| **Bessel Filter** | [Bessel](../lib/filters/bessel/Bessel.md) | - | - | - | - |
|
||||
| **Bessel-Weighted MA** | [Bwma](../lib/trends_FIR/bwma/Bwma.md) | - | - | - | - |
|
||||
| **Beta Coefficient** | [Beta](../lib/statistics/beta/Beta.md) | ❔ | - | ✔️ | - |
|
||||
| **Beta Distribution** | [Betadist](../lib/numerics/betadist/Betadist.md) | - | - | - | - |
|
||||
| **Binomial Distribution** | [Binomdist](../lib/numerics/binomdist/Binomdist.md) | - | - | - | - |
|
||||
| **Exponential Distribution** | [Expdist](../lib/numerics/expdist/Expdist.md) | - | - | - | - |
|
||||
| **F-Distribution** | [Fdist](../lib/numerics/fdist/Fdist.md) | - | - | - | - |
|
||||
| **Gamma Distribution** | [Gammadist](../lib/numerics/gammadist/Gammadist.md) | - | - | - | - |
|
||||
| **Log-Normal Distribution** | [Lognormdist](../lib/numerics/lognormdist/Lognormdist.md) | - | - | - | - |
|
||||
| **Normal Distribution** | [Normdist](../lib/numerics/normdist/Normdist.md) | - | - | - | - |
|
||||
| **Poisson Distribution** | [Poissondist](../lib/numerics/poissondist/Poissondist.md) | - | - | - | - |
|
||||
| **Student's t-Distribution** | [Tdist](../lib/numerics/tdist/Tdist.md) | - | - | - | - |
|
||||
| **Weibull Distribution** | [Weibulldist](../lib/numerics/weibulldist/Weibulldist.md) | - | - | - | - |
|
||||
| **Continuous Wavelet Transform** | [Cwt](../lib/numerics/cwt/Cwt.md) | - | - | - | - |
|
||||
| **Discrete Wavelet Transform** | [Dwt](../lib/numerics/dwt/Dwt.md) | - | - | - | - |
|
||||
| **Bias** | [Bias](../lib/momentum/bias/Bias.md) | - | - | - | - |
|
||||
| **Bilateral Filter** | [Bilateral](../lib/filters/bilateral/Bilateral.md) | - | - | - | - |
|
||||
| **Blackman Window MA** | [Blma](../lib/trends_FIR/blma/Blma.md) | - | - | - | - |
|
||||
@@ -125,12 +137,15 @@ No external reference exists. Implementation verified through unit tests, edge c
|
||||
| **Exponential Moving Average** | [Ema](../lib/trends_IIR/ema/Ema.md) | ✔️ | ✔️ | ✔️ | ✔️ |
|
||||
| **Exponential Transformation** | Exptrans | - | - | - | - |
|
||||
| **Exponential Weighted MA Volatility** | [Ewma](../lib/volatility/ewma/Ewma.md) | - | - | - | ❔ |
|
||||
| **Elder's Thermometer** | [Etherm](../lib/volatility/etherm/Etherm.md) | - | - | - | - |
|
||||
| **Extended Traditional Pivots** | [Pivotext](../lib/reversals/pivotext/Pivotext.md) | - | - | - | - |
|
||||
| **Fibonacci Pivot Points** | Pivotfib | - | - | - | ❔ |
|
||||
| **Ehlers Fisher Transform** | [Fisher](../lib/oscillators/fisher/Fisher.md) | - | ❔ | ❔ | ❔ |
|
||||
| **Force Index** | [Efi](../lib/volume/efi/Efi.md) | - | - | ✔️ | ✔️ |
|
||||
| **Fractal Chaos Bands** | [Fcb](../lib/channels/fcb/fcb.md) | - | - | ✔️ | ❔ |
|
||||
| **Garman-Klass Volatility** | [Gkv](../lib/volatility/gkv/Gkv.md) | - | - | - | - |
|
||||
| **Gator Oscillator** | [Gator](../lib/oscillators/gator/Gator.md) | - | - | - | - |
|
||||
| **Gann High-Low Activator** | [Ghla](../lib/dynamics/ghla/Ghla.md) | - | - | - | - |
|
||||
| **Gaussian Filter** | [Gauss](../lib/filters/gauss/Gauss.md) | - | - | - | ❔ |
|
||||
| **Gaussian-Weighted MA** | Gwma | - | - | - | - |
|
||||
| **Geometric Mean** | [Geomean](../lib/statistics/geomean/Geomean.md) | - | - | - | - |
|
||||
@@ -227,6 +242,7 @@ No external reference exists. Implementation verified through unit tests, edge c
|
||||
| **Percentage Price Oscillator** | Ppo | ✔️ | ✔️ | - | ✔️ |
|
||||
| **Percentage Volume Oscillator** | [Pvo](../lib/volume/pvo/Pvo.md) | - | - | - | ❔ |
|
||||
| **Percentile** | Percentile | - | - | - | - |
|
||||
| **Polarized Fractal Efficiency** | [Pfe](../lib/dynamics/pfe/Pfe.md) | - | - | - | - |
|
||||
| **Pivot Points** | [Pivot](../lib/reversals/pivot/Pivot.md) | - | - | - | ❔ |
|
||||
| **Pivot Points (Camarilla)** | [Pivotcam](../lib/reversals/pivotcam/Pivotcam.md) | - | - | - | ❔ |
|
||||
| **Pivot Points (DeMark)** | [Pivotdem](../lib/reversals/pivotdem/Pivotdem.md) | - | - | - | ❔ |
|
||||
@@ -243,6 +259,7 @@ No external reference exists. Implementation verified through unit tests, edge c
|
||||
| **Qstick Indicator** | Qstick | - | - | - | ❔ |
|
||||
| **Quad Exponential MA** | [Qema](../lib/trends_IIR/qema/Qema.md) | - | - | - | - |
|
||||
| **Quantile** | Quantile | - | - | - | - |
|
||||
| **Range Action Verification Index** | [Ravi](../lib/dynamics/ravi/Ravi.md) | - | - | - | - |
|
||||
| **Rate of acceleration; 3rd derivative** | [Jerk](../lib/numerics/jerk/Jerk.md) | - | - | - | - |
|
||||
| **Rate of Change** | [Roc](../lib/momentum/roc/Roc.md) | - | ✔️ | ✔️ | ❔ |
|
||||
| **Rate of change; 1st derivative** | [Slope](../lib/statistics/linreg/LinReg.md) | - | - | ✔️ | ❔ |
|
||||
@@ -320,6 +337,7 @@ No external reference exists. Implementation verified through unit tests, edge c
|
||||
| **Volume Weighted Accumulation/Distribution** | [Vwad](../lib/volume/vwad/Vwad.md) | - | - | - | - |
|
||||
| **Volume Weighted Average Price** | [Vwap](../lib/volume/vwap/Vwap.md) | - | - | - | - |
|
||||
| **Volume Weighted Moving Average** | [Vwma](../lib/volume/vwma/Vwma.md) | - | - | ✔️ | - |
|
||||
| **Vertical Horizontal Filter** | [Vhf](../lib/dynamics/vhf/Vhf.md) | - | - | - | - |
|
||||
| **Vortex Indicator** | Vortex | - | - | ✔️ | ❔ |
|
||||
| **Ehlers Voss Predictive Filter** | [Voss](../lib/filters/voss/Voss.md) | - | - | - | ✔️ |
|
||||
| **VWAP Bands** | [Vwapbands](../lib/channels/vwapbands/Vwapbands.md) | - | - | - | - |
|
||||
|
||||
Reference in New Issue
Block a user