diff --git a/docs/indicators/indicators.md b/docs/indicators/indicators.md index 4ef85e51..e68c12a9 100644 --- a/docs/indicators/indicators.md +++ b/docs/indicators/indicators.md @@ -4,39 +4,107 @@ ✔️= Validation tests passed
❌= Issue -|**VOLATILITY INDICATORS**|QuanTALib|Skender.Stock|TALib.NETCore| + +|**MOMENTUM INDICATORS**|**QuanTALib**|Skender.Stock|TALib.NETCore| |--|:--:|:--:|:--:| +|*DMI - Directional Movement Index|`?`|GetDmi|| +|*DMX - Jurik Directional Movement Index|`?`||| +|*MOM - Momentum|`?`||| +|*VEL - Jurik Signal Velocity|`?`||| +|ADX - Average Directional Movement Index|`?`|GetAdx|Adx| +|ADXR - Average Directional Movement Index|`?`|Rating|Adxr| +|APO - Absolute Price Oscillator|`?`|Apo|| +|DPO - Detrended Price Oscillator|`?`|GetDpo|| +|MACD - Movign Average Convergence/Divergence|`?`||| +|PO - Price Oscillator|`?`||| +|PPO - Percentage Price Oscillator|`?`||| +|PMO - Price Momentum Oscillator|`?`|GetPmo|| +|PRS - Price Relative Strength|`?`|GetPrs|| +|ROC - Rate of Change|`?`|GetRoc|| +|TRIX - 1-day ROC of TEMA|`?`|GetTrix|| +|VORTEX - Vortex Indicator|`?`||| +
+|**VOLATILITY INDICATORS**|**QuanTALib**|Skender.Stock|TALib.NETCore| +|ADR - Average Daily Range|||| +|ANDREW - Andrew's Pitchfork|||| +|ATR - Average True Range|`Atr`|GetAtr|Atr| +|ATRP - Average True Range Percent|||| +|ATRSTOP - ATR Trailing Stop ||GetAtrStop|| +|BBANDS - Bollinger Bands®||BollingerBands|| +|CHAND - Chandelier Exit||GetChandelier|| +|CVI - Chaikins Volatility|||| +|DON - Donchian Channels||GetDonchian|| +|FCB - Fractal Chaos Bands||GetFcb|| +|HV - Historical Volatility|||| +|ICH - Ichimoku Cloud||GetIchimoku|| +|KEL - Keltner Channels||GetKeltner|| +|NATR - Normalized Average True Range||GetAtr|| +|CHN - Price Channel Indicator|||| +|SAR - Parabolic Stop and Reverse||GetParabolicSar|| +|STARC - Starc Bands||GetStarcBands|| +|TR - True Range|||| +|UI - Ulcer Index||GetUlcerIndex|| +|VSTOP - Volatility Stop||GetVolatilityStop|| +
+|**OSCILLATORS**|**QuanTALib**|Skender.Stock|TALib.NETCore| +|RSI - Relative Strength Index|`Rsi`|GetRsi|| +|RSX - Jurik Trend Strength Index|`Rsx`||| +|AC - Acceleration Oscillator||||| +|AO - Awesome Oscillator||GetAwesome||| +|AROON - Aroon oscillator||GetAroon|Aroon|| +|BOP - Balance of Power||GetBop|Bop|| +|CCI - Commodity Channel Index||GetCci|Cci|| +|CFO - Chande Forcast Oscillator||||| +|CMO - Chande Momentum Oscillator||GetCmo|Cmo|| +|CHOP - Choppiness Index||GetChop||| +|COG - Ehler's Center of Gravity||||| +|COPPOCK - Coppock Curve||||| +|CRSI - Connor RSI||GetConnorsRsi||| +|CTI - Ehler's Correlation Trend Indicator||||| +|DOSC - Derivative Oscillator||||| +|EFI - Elder Ray's Force Index||GetElderRay||| +|FISHER - Fisher Transform||||| +|FOSC - Forecast Oscillator|||||| +|GATOR - Williams Alliator Oscillator||GetGator||| +|KDJ - KDJ Indicator (trend reversal)||||| +|KRI - Kairi Relative Index||||| +|RVGI - Relative Vigor Index||||| +|SMI - Stochastic Momentum Index||GetSmi||| +|SRSI - Stochastic RSI||GetStochRsi||| +|STC - Schaff Trend Cycle||GetStc||| +|STOCH - Stochastic Oscillator||`GetStoch||| +|TSI - True Strength Index||GetTsi||| +|UO - Ultimate Oscillator||GetUltimate||| +|WILLR - Larry Williams' %R||GetWilliamsR||| +
+|**VOLUME INDICATORS**|**QuanTALib**|Skender.Stock|TALib.NETCore| |ADL - Chaikin Accumulation Distribution Line||GetAdl|Ad|| |ADOSC - Chaikin Accumulation Distribution Oscillator||GetChaikinOsc|AdOsc|| -|ATR - Average True Range|`Atr`|GetAtr|Atr|| -|ATRP - Average True Range Percent||||| -|ATRSTOP - ATR Trailing Stop ||GetAtrStop||| -|BBANDS - Bollinger Bands®||BollingerBands||| -|CHAND - Chandelier Exit||GetChandelier||| -|CRSI - Connor RSI||GetConnorsRsi||| -|CVI - Chaikins Volatility||||| -|DON - Donchian Channels||GetDonchian||| -|FCB - Fractal Chaos Bands||GetFcb||| -|FISHER - Fisher Transform||||| -|HV - Historical Volatility||||| -|ICH - Ichimoku Cloud||GetIchimoku||| -|KEL - Keltner Channels||GetKeltner||| -|NATR - Normalized Average True Range||GetAtr||| -|CHN - Price Channel Indicator||||| -|RSI - Relative Strength Index|`Rsi`|GetRsi||| -|SAR - Parabolic Stop and Reverse||GetParabolicSar||| -|SRSI - Stochastic RSI||GetStochRsi||| -|STARC - Starc Bands||GetStarcBands||| -|TR - True Range||||| -|UI - Ulcer Index||GetUlcerIndex||| -|VSTOP - Volatility Stop||GetVolatilityStop||| -|**NUMERICAL ANALYSIS**|QuanTALib|Skender.Stock|TALib.NETCore| +|AOBV - Archer On-Balance Volume||||| +|CMF - Chaikin Money Flow||GetCmf||| +|EOM - Ease of Movement||||| +|KVO - Klinger Volume Oscillator||GetKvo|||| +|MFI - Money Flow Index||GetMfi||| +|NVI - Negative Volume Index||||| +|OBV - On-Balance Volume||GetObv||| +|PVI - Positive Volume Index||||| +|PVOL - Price-Volume||||| +|PVO - Percentage Volume Oscillator||GetPvo||| +|PVR - Price Volume Rank||||| +|PVT - Price Volume Trend||||| +|TVI - Trade Volume Index||||| +|VP - Volume Profile||||| +|VWAP - Volume Weighted Average Price||GetVwap||| +|VWMA - Volume Weighted Moving Average||GetVwma|||| +
+|**NUMERICAL ANALYSIS**|**QuanTALib**|Skender.Stock|TALib.NETCore| |BETA - Beta coefficient||||| |CORR - Correlation Coefficient||||| |CURVATURE - Rate of Change in Direction or Slope|`Curvature`|||| |ENTROPY - Measure of Uncertainty or Disorder|`Entropy`|||| |KURTOSIS - Measure of Tails/Peakedness|`Kurtosis`|||| |HUBER - Huber Loss|`Huberloss`|||| +|HURST - Hurst Exponent||GetHurst||| |MAX - Maximum with exponential decay|`Max`|||| |MEDIAN - Middle value|`Median`|||| |MIN - Minimum with exponential decay|`Min`|||| @@ -47,9 +115,11 @@ |SLOPE - Rate of Change, Linear Regression|`Slope`|||| |STDDEV - Standard Deviation, Measure of Spread|`Stddev`|||| |THEIL - Theil's U Statistics||||| +|TSF - Time Series Forecast|||`✔️`|`✔️`| |VARIANCE - Average of Squared Deviations|`Variance`|||| |ZSCORE - Standardized Score|`Zscore`|||| -|**ERRORS**|QuanTALib|Skender.Stock|TALib.NETCore| +
+|**ERRORS**|**QuanTALib**|Skender.Stock|TALib.NETCore| |MAE - Mean Absolute Error|`Mae`|||| |MAPD - Mean Absolute Percentage Deviation|`Mapd`|||| |MAPE - Mean Absolute Percentage Error|`Mape`|||| @@ -64,13 +134,14 @@ |RSE - Relateive Squared Error|`Rse`|||| |RMSLE - Root Mean Squared Logarithmic Error|`Rmsle`|||| |SMAPE - Symmetric Mean Absolute Percentage Error|`Smape`|||| -|**AVERAGES & TRENDS**QuanTALib|Skender.Stock|TALib.NETCore| +
+|**AVERAGES & TRENDS**|**QuanTALib**|Skender.Stock|TALib.NETCore| |AFIRMA - Autoregressive Finite Impulse Response Moving Average|`Afirma`|||| -|ALMA - Arnaud Legoux Moving Average|`Alma`|`✔️`||| -|⭐DEMA - Double EMA Average|`Dema`|`⭐`|`⭐`|`⭐`|| +|ALMA - Arnaud Legoux Moving Average|`Alma`|`✔️`|| +|DEMA - Double EMA Average|`Dema`|`✔️`|`✔️`| |DSMA - Deviation Scaled Moving Average|`Dsma`|||| |DWMA - Double WMA Average|`Dwma`|||| -|⭐EMA - Exponential Moving Average|`Ema`|`⭐`|`⭐`|`⭐`|`⭐`| +|EMA - Exponential Moving Average|`Ema`|`⭐`|`⭐`|`⭐`|`⭐`| |EPMA - Endpoint Moving Average|`Epma`|`✔️`||| |FRAMA - Fractal Adaptive Moving Average|`Frama`|||| |FWMA - Fibonacci Weighted Moving Average|`Fwma`|||| @@ -80,87 +151,31 @@ |HMA - Hull Moving Average|`Hma`|`✔️`||`✔️`| |HWMA - Holt-Winter Moving Average|`Hwma`|||| |JMA - Jurik Moving Average|`Jma`|||| +|JORDAN - Jordan Moving Average||||| |KAMA - Kaufman's Adaptive Moving Average|`Kama`|`✔️`|`✔️`|`✔️`| -|KDJ - KDJ Indicator (trend reversal)||||| |LTMA - Laguerre Transform Moving Average|`Ltma`|||| |MAAF - Median-Average Adaptive Filter|`Maaf`|||| |MAMA - MESA Adaptive Moving Average|`Mama`|`✔️`|`✔️`|| |MGDI - McGinley Dynamic Indicator|`Mgdi`|`✔️`||| +|MLMA - Minimal Lag Moving Average||||| |MMA - Modified Moving Average|`Mma`|||| |PPMA - Pivot Point Moving Average||||| |PWMA - Pascal's Weighted Moving Average|`Pwma`|||| |QEMA - Quad Exponential Moving Average|`Qema`|||| |RMA - WildeR's Moving Average|`Rma`|||| |SINEMA - Sine Weighted Moving Average|`Sinema`|||| -|⭐SMA - Simple Moving Average|`Sma`|`⭐`|`⭐`|`⭐`|`⭐`| -|SMMA - Smoothed Moving Average|`Smma`|`✔️`||| -|SSF - Ehler's Super Smoother Filter||||| -|SUPERTREND - Supertrend||`✔️`||| -|T3 - Tillson T3 Moving Average|`T3`|`✔️`|`✔️`|| -|TEMA - Triple EMA Average|`Tema`|`✔️`|`✔️`|`✔️`| -|TRIMA - Triangular Moving Average|`Trima`|`✔️`||`✔️`| -|TSF - Time Series Forecast|||`✔️`|`✔️`| -|VIDYA - Variable Index Dynamic Average|`Vidya`|||`✔️`| -|VORTEX - Vortex Indicator||`✔️`||| -|WMA - Weighted Moving Average|`Wma`|`✔️`||`✔️`| -|ZLEMA - Zero Lag EMA Average|`Zlema`|||`✔️`| - -|**MOMENTUM INDICATORS & OSCILLATORS**|QuanTALib|Skender.Stock|TALib.NETCore| -|AC - Acceleration Oscillator||||| -|ADX - Average Directional Movement Index||GetAdx|Adx|| -|ADXR - Average Directional Movement Index||Rating|Adxr|| -|AO - Awesome Oscillator||GetAwesome||| -|APO - Absolute Price Oscillator||Apo||| -|AROON - Aroon oscillator||GetAroon|Aroon|| -|BOP - Balance of Power||GetBop|Bop|| -|CCI - Commodity Channel Index||GetCci|Cci|| -|CFO - Chande Forcast Oscillator||||| -|CMO - Chande Momentum Oscillator||GetCmo|Cmo|| -|CHOP - Choppiness Index||GetChop||| -|COG - Center of Gravity||||| -|COPPOCK - Coppock Curve||||| -|CTI - Ehler's Correlation Trend Indicator||||| -|DPO - Detrended Price Oscillator||GetDpo||| -|DMI - Directional Movement Index||GetDmi||| -|EFI - Elder Ray's Force Index||GetElderRay||| -|FOSC - Forecast oscillator|||||| -|GATOR - Gator oscillator||GetGator||| -|HURST - Hurst Exponent||GetHurst||| -|KRI - Kairi Relative Index||||| -|KVO - Klinger Volume Oscillator||GetKvo|||| -|MACD - Movign Average Convergence/Divergence||`✔️`|`✔️`|| -|MFI - Money Flow Index||GetMfi||| -|MOM - Momentum||||| -|NVI - Negative Volume Index||||| -|PO - Price Oscillator||||| -|PPO - Percentage Price Oscillator||||| -|PMO - Price Momentum Oscillator||GetPmo||| -|PVI - Positive Volume Index||||| -|ROC - Rate of Change||GetRoc||| -|RVGI - Relative Vigor Index||||| -|SMI - Stochastic Momentum Index||GetSmi||| -|STC - Schaff Trend Cycle||GetStc||| -|STOCH - Stochastic Oscillator||`GetStoch||| -|TRIX - 1-day ROC of TEMA||GetTrix||trix.Run| -|TSI - True Strength Index||GetTsi||| -|UO - Ultimate Oscillator||GetUltimate||| -|WILLR - Larry Williams' %R||GetWilliamsR||| -|WGAT - Williams Alligator||GetAlligator||| -|**VOLUME INDICATORS**|QuanTALib|Skender.Stock|TALib.NETCore| -|AOBV - Archer On-Balance Volume||||| -|CMF - Chaikin Money Flow||GetCmf||| -|EOM - Ease of Movement||||| -|KVO - Klinger Volume Oscilaltor||||| -|OBV - On-Balance Volume||GetObv||| -|PRS - Price Relative Strength||`GetPrs||| -|PVOL - Price-Volume||||| -|PVO - Percentage Volume Oscillator||GetPvo||| -|PVR - Price Volume Rank||||| -|PVT - Price Volume Trend||||| -|VP - Volume Profile||||| -|VWAP - Volume Weighted Average Price||GetVwap||| -|VWMA - Volume Weighted Moving Average||GetVwma|||| -|**BASIC TRANSFORMS**|QuanTALib|Skender.Stock|TALib.NETCore| +|SMA - Simple Moving Average|`Sma`||| +|SMMA - Smoothed Moving Average|`Smma`|`✔️`|| +|SSF - Ehler's Super Smoother Filter|||| +|SUPERTREND - Supertrend||`✔️`|| +|T3 - Tillson T3 Moving Average|`T3`|`✔️`|`✔️`| +|TEMA - Triple EMA Average|`Tema`|`✔️`|`✔️`| +|TRIMA - Triangular Moving Average|`Trima`|`✔️`|| +|VIDYA - Variable Index Dynamic Average|`Vidya`||| +|WMA - Weighted Moving Average|`Wma`|`✔️`|| +|ZLEMA - Zero Lag EMA Average|`Zlema`||| +
+|**BASIC TRANSFORMS**|**QuanTALib**|Skender.Stock|TALib.NETCore| |OC2 - Midpoint price|️`.OC2`|CandlePart.OC2|MidPoint| |HL2 - Median Price|️`.HL2`|CandlePart.HL2|MedPrice| |HLC3 - Typical Price|️`.HLC3`|CandlePart.HLC3|TypPrice| diff --git a/docs/styles.css b/docs/styles.css index 143773fa..5f30ab96 100644 --- a/docs/styles.css +++ b/docs/styles.css @@ -97,7 +97,7 @@ --table-row-odd-background: var(--mono-shade2); /* Layout */ - --content-max-width: 100em; + --content-max-width: 75em; /* Cover */ --cover-margin: 0 auto; diff --git a/lib/volatility/Cmo.cs b/lib/oscillators/Cmo.cs similarity index 96% rename from lib/volatility/Cmo.cs rename to lib/oscillators/Cmo.cs index df64d3a9..0b8d92c5 100644 --- a/lib/volatility/Cmo.cs +++ b/lib/oscillators/Cmo.cs @@ -1,6 +1,3 @@ -using System; -using System.Collections.Generic; - namespace QuanTAlib; ///