Commit Graph

47 Commits

Author SHA1 Message Date
Miha Kralj 16a21a5b65 feat: Add Cumulative Moving Average (CMA) implementation with detailed documentation
- Introduced Cma class for calculating the Cumulative Moving Average using Welford's algorithm with FMA for precision.
- Added methods for batch processing and streaming updates.
- Implemented a comprehensive markdown documentation for CMA, covering its mathematical foundation, performance profile, and use cases.
- Enhanced existing trend indicators (Bessel, Butter, Htit, Jma, Mama, Ssf, Vidya) with FMA for improved numerical stability and precision.
- Updated Adosc to utilize a single-pass algorithm for performance optimization.
- Fixed date initialization in benchmarks to ensure UTC consistency.
2025-12-29 09:34:37 -08:00
Miha Kralj a82f6b7949 Refactor: Remove unnecessary using directives across multiple files
- Cleaned up code by removing unused using directives from various test and implementation files in the trends and volume directories.
- This includes files related to HMA, HTIT, JMA, KAMA, LSMA, MAMA, MGDI, PWMA, RMA, SMA, SSF, SUPER, T3, TEMA, TRIMA, USF, VIDYA, WMA, ATR, ADL, and ADOSC.
- Improved code readability and maintainability by streamlining imports.
2025-12-28 23:55:24 -08:00
Miha Kralj 84ff67fb50 Add validation tests for USF and enhance ATR indicator tests
- Introduced Usf.Validation.Tests.cs to validate the USF (Ehlers Ultimate Smoother Filter) for consistency across batch, streaming, and span modes, as well as mathematical properties and coefficient calculations.
- Added comprehensive tests for the ATR indicator in Atr.Quantower.Tests.cs, including constructor validation, historical data processing, and handling of NaN/Infinity inputs.
- Enhanced Atr.Tests.cs with additional tests for iterative corrections, warmup behavior, and true range calculations.
- Updated Atr.cs to ensure warmup period is derived from RMA.
- Added new tests for Adosc in Adosc.Tests.cs to validate handling of NaN and Infinity inputs, and to ensure batch calculations match iterative results.
- Created a new Volatility.csproj to organize volatility-related implementations.
2025-12-28 23:33:46 -08:00
Miha Kralj 13d7c1215d Refactor code formatting and improve consistency across various test files
- Removed unnecessary blank lines in multiple test files to enhance readability.
- Ensured consistent spacing and formatting in the `Trima`, `Usf`, `Vidya`, `Wma`, and `Atr` test classes.
- Updated comments for clarity and consistency in the `Atr` and `Adl` classes.
- Adjusted project files for better structure and maintainability.
2025-12-28 17:44:08 -08:00
Miha Kralj ad6eebf812 refactor: optimize event args handling for performance improvements 2025-12-28 17:21:53 -08:00
Miha Kralj 14c5f21d9e feat: update Qodana configuration to disable failure conditions and improve build stability
refactor: enhance Bilateral and SMA indicators to handle edge cases and improve state management
refactor: clean up whitespace and formatting in various test files for consistency
2025-12-28 16:22:45 -08:00
Miha Kralj 5c3b3fbab4 Refactor indicators to support optional time step in Prime method
- Updated the Prime method signature in multiple indicators (Jma, Kama, Lsma, Mama, Mgdi, Pwma, Rma, Sma, Ssf, Super, T3, Tema, Trima, Usf, Vidya, Wma, Atr) to accept an optional TimeSpan parameter for improved flexibility.
- Added unit tests for Lsma to verify Dispose functionality, ensuring proper unsubscription from the source and thread safety.
- Enhanced Mama and Wma classes to handle non-finite inputs gracefully and added checks for valid parameters in constructors.
- Introduced additional tests for T3 to validate constructor behavior with invalid volume factors.
- Ensured all indicators maintain consistent behavior when handling edge cases, such as empty buffers and non-finite values.
2025-12-28 15:14:07 -08:00
Miha Kralj d7dbd7078a Refactor event handling and improve argument validation across indicators
- Updated event handler signatures to use TValueEventArgs for consistency in Mama, Mgdi, Pwma, Rma, Sma, Ssf, Super, T3, Tema, Trima, Usf, Vidya, Wma, and Atr classes.
- Enhanced argument validation by specifying parameter names in exceptions for clarity.
- Adjusted tests to align with new event handler signatures.
- Improved code readability and maintainability by using structured records and lambda expressions.
2025-12-27 15:46:28 -08:00
Miha Kralj 4750c2b1e8 refactor: update validation test classes to be sealed and simplify Dispose methods 2025-12-26 16:43:23 -08:00
Miha Kralj 9c113767ec feat(tests): update tests to use GBM for random data generation; improve consistency and realism in Skew and Variance tests; refine validation logic in Beta tests 2025-12-26 12:05:07 -08:00
Miha Kralj c2bc665ecf feat(tests): add comprehensive tests for LinReg, StdDev, Variance, and Mama indicators; enhance Pwma constructor with null check; improve coverage path mappings in Qodana configuration 2025-12-26 11:50:18 -08:00
Miha Kralj ac8b2dbb3f feat(tests): enhance tests with GBM for noise generation and improve tolerance for MAMA validation
feat(trends): implement IDisposable in Bessel and Conv classes to manage event subscriptions
fix(trends): add validation for period and parameters in Kama and MGDI calculations
fix(trends): clamp logarithmic calculations in JMA to avoid -Infinity
2025-12-25 20:18:14 -08:00
Miha Kralj 952d6f142c fix(tests): update tolerance in SkewValidationTests for improved precision 2025-12-25 18:46:16 -08:00
Miha Kralj 4ff6dc0ad9 feat(statistics): add Variance indicator with O(1) calculation and usage example 2025-12-25 17:18:41 -08:00
Miha Kralj 4b17984cfd Add PWMA implementation and tests; enhance documentation 2025-12-13 20:21:21 -08:00
Miha Kralj 33ffd3a37a first iteration 2025-11-25 20:40:46 -08:00
codefactor-io 697f15cc0c [CodeFactor] Apply fixes to commit 4286113 2024-11-11 00:56:50 +00:00
Miha 428611315e prep 2024-11-10 11:11:38 -08:00
codefactor-io 7ee4bd4ca9 [CodeFactor] Apply fixes to commit f46a533 2024-11-09 05:20:15 +00:00
Miha f46a5330bf Covar, Kendall, Spearman 2024-11-08 21:20:06 -08:00
codefactor-io 085c6dc634 [CodeFactor] Apply fixes to commit 0bae9ce 2024-11-05 23:51:44 +00:00
Miha Kralj 0bae9ce15b sonar fixes 2024-11-05 15:51:29 -08:00
Miha Kralj 5d086a1473 new indicators 2024-11-03 18:16:42 -08:00
codefactor-io 2b62aaad6c [CodeFactor] Apply fixes 2024-11-03 23:59:03 +00:00
Miha Kralj 7b41d84c66 Bband, Ccv, Ce, Cv, Cvi, Ewma, Fcb, Gkv, Hlv 2024-11-03 15:52:25 -08:00
codefactor-io a0c99ef326 [CodeFactor] Apply fixes 2024-11-03 23:47:53 +00:00
codefactor-io e60cf47d3a [CodeFactor] Apply fixes 2024-11-03 23:03:24 +00:00
Miha 6231bab9e5 feat: Dpo, Tsi, Vortex, Bpp, Cci, Cfo, Tr, Ui, Vc, Vov, Vr, Vs, Mfi, Nvi, Obv, Pvi, Pvo, Pvol, Pvr, Pvt, Tvi 2024-10-30 13:45:36 -07:00
Miha 06c6875970 feat: Trix, Aroon 2024-10-30 10:42:50 -07:00
Miha 45c6f08e1e Adl, Adosc, Aobv, Cmf 2024-10-28 15:29:29 -07:00
Miha 6c67a0cf31 Class optimization 2024-10-27 16:11:08 -07:00
Miha b2fcdda785 xml doc rewrite 2024-10-27 09:38:53 -07:00
Miha c21b96152c macos dev update 2024-10-26 23:54:55 -07:00
Miha Kralj cc45cebeb4 tests and cleanup 2024-10-11 18:02:09 -07:00
Miha Kralj 0bc41854aa cleanup 2024-10-08 13:59:33 -07:00
Miha Kralj a7eeacf8cb Merge branch 'dev' 2024-10-08 10:47:21 -07:00
Miha Kralj b7b5a4a1bf clean code fixes 2024-10-06 17:16:47 -07:00
deepsource-autofix[bot] 5fe968754f style: format code with dotnet-format
This commit fixes the style issues introduced in 1e77eb8 according to the output
from dotnet-format.

Details: None
2024-10-06 06:59:26 +00:00
Miha Kralj 3458b14ebb XML Documentation 2024-10-05 15:20:13 -07:00
Miha Kralj 964a25814f Merge branch 'dev' 2024-09-30 19:09:26 -07:00
Miha Kralj 11100b0685 Slope and Curvature 2024-09-30 18:59:05 -07:00
Miha Kralj 697fa19cfa Sonarcloud fixes 2024-09-30 15:53:48 -07:00
Miha Kralj 728017c9ca Merge branch 'dev' 2024-09-30 09:07:08 -07:00
Miha Kralj 93085d24bd sln file 2024-09-30 08:55:50 -07:00
Miha Kralj 133c65ceaf Afirma + documentation +semver: patch 2024-09-24 16:41:26 -07:00
Miha Kralj 58d72c06ca Squash
dotcover

s1

.sln

s1

s1

s2

s3

s4

s5

s1

s2

x

x2

x3

x4

x5

x6

x1

sonarcube cleanup1

sonarcube cleanup2

sonarcube cleanup 3

fixes

q

q

q

q

q

q

q

q

q1

q2

q

q1

codacy 1
2024-09-23 22:08:40 -07:00
Miha Kralj d475bcd19a New version merge 2024-09-22 17:31:24 -07:00