Commit Graph

22 Commits

Author SHA1 Message Date
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 86e2934f1b feat(rsi, alma, bilateral, blma, butter, ema, htit, kama, lsma, pwma, rma, trima, vidya, wma): enhance calculations with NaN handling and edge case management; improve performance and stability across multiple classes 2025-12-25 22:16:07 -08:00
Miha Kralj 0d077c24d8 feat(validation): add input validation for Bilateral and Blma constructors; enhance Butter and Mgdi calculations with NaN handling 2025-12-25 20:53:56 -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 4ff6dc0ad9 feat(statistics): add Variance indicator with O(1) calculation and usage example 2025-12-25 17:18:41 -08:00
Miha Kralj 8917575994 Refactor IndicatorExtensions: Remove unused methods and optimize price retrieval 2025-12-24 13:50:19 -08:00
Miha Kralj 4efa0e773e Enhance documentation and validation for various indicators 2025-12-22 20:42:26 -08:00
Miha Kralj d2a622bff9 test tolerances updated 2025-12-22 12:50:41 -08:00
Miha Kralj a7b7207801 Refactor documentation to remove "Zero-Allocation Design" sections across various trend indicators and implement a PowerShell script for automated cleanup
- Updated mathematical foundations and performance profiles where necessary to maintain clarity and coherence.
2025-12-21 14:37:44 -08:00
Miha Kralj d21fea3c18 feat: Enhance volume indicators with ADOSC and SSF implementation and validation 2025-12-20 15:08:07 -08:00
Miha Kralj 35e5571237 docs 2025-12-18 13:51:06 -08:00
Miha Kralj 5d03dec741 Refactor documentation for clarity and detail 2025-12-17 23:00:52 -08:00
Miha Kralj d277e08056 refactoring 2025-12-16 21:16:50 -08:00
Miha Kralj cea3e0c46d Refactor validation tests for various indicators to utilize shared test data structure 2025-12-12 13:47:57 -08:00
Miha Kralj e6033638ad Refactor trend indicators to use record structs for state management 2025-12-10 21:58:45 -05:00
Miha Kralj b26d5d7751 Enhance code quality and stability across various modules
- Updated .coderabbit.yaml to exclude additional file types from reviews, improving the focus on relevant code changes.
- Modified scanner.sh to handle test failures more gracefully, ensuring that analysis stops on test failures and improving logging.
- Improved sonarscanner.sh to ensure build and test failures are properly reported, enhancing CI reliability.
- Refined SimdExtensions.cs documentation for clarity on variance calculation methods.
- Cleaned up TSeries.Tests.cs by simplifying the test structure and ensuring proper namespace usage.
- Fixed potential issues in tseries.cs by ensuring correct handling of DateTime values.
- Enhanced CsvFeed.cs to improve error handling during CSV parsing, ensuring robustness against malformed data.
- Updated GBM.cs to correctly calculate volume in the current bar, ensuring accurate simulation.
- Adjusted index.html to use globalThis for better compatibility across environments.
- Refined quantalib.csproj to exclude unnecessary files from compilation, streamlining the build process.
- Added comprehensive tests for the Mama class to ensure correct behavior during updates and state management.
- Improved error handling in various trend classes (Kama, Dema, Ema, T3, Tema, Wma) to ensure NaN values are managed correctly.
- Removed redundant Mama.Repro.Tests.cs file and consolidated tests into Mama.Tests.cs for better organization.
- Enhanced T3 and Tema classes to maintain state integrity during updates, particularly with NaN values.
2025-12-10 14:51:58 -05:00
Miha Kralj c802a9ea80 fix: address code review issues in indicators and core components 2025-12-09 16:00:04 -05:00
Miha Kralj c1caaf36b4 refactor: Update list initialization in DEMA, EMA, SMA, T3, TEMA, TRIMA, and WMA classes for improved readability 2025-12-08 19:11:53 -05:00
Miha Kralj 5f57cbbe74 refactor: Simplify TSeries and Dema constructors, and streamline benchmark methods for improved readability 2025-12-08 18:43:23 -05:00
Miha Kralj c2b33a8320 Add unit tests for various indicators and update project file
- Implemented unit tests for the following indicators:
  - KAMA (Kaufman Adaptive Moving Average)
  - SMA (Simple Moving Average)
  - T3 (Tillson T3 Moving Average)
  - TEMA (Triple Exponential Moving Average)
  - TRIMA (Triangular Moving Average)
  - WMA (Weighted Moving Average)

- Each test class includes tests for constructor defaults, history depth, short name, initialization, processing updates, and source type handling.

- Updated the Quantower.Tests.csproj to include all new test files in the lib directory.
2025-12-08 11:40:21 -08:00
Miha Kralj ed5e5c8209 Add unit tests for various moving average indicators
- Implement tests for HMA (Hull Moving Average) indicator to verify default settings, history depth calculations, and value computations during updates.
- Create tests for KAMA (Kaufman Adaptive Moving Average) indicator, ensuring correct defaults, history depth, and value calculations.
- Add tests for SMA (Simple Moving Average) indicator, checking default values, history depth, and value computations.
- Develop tests for T3 (Tillson T3 Moving Average) indicator, validating defaults, history depth, and value calculations.
- Implement tests for TEMA (Triple Exponential Moving Average) indicator, ensuring correct defaults and value computations.
- Create tests for TRIMA (Triangular Moving Average) indicator, verifying defaults, history depth, and value calculations.
- Add tests for WMA (Weighted Moving Average) indicator, checking default values, history depth, and value computations.
2025-12-08 11:00:58 -08:00