Commit Graph

28 Commits

Author SHA1 Message Date
Miha Kralj 016c10b68a feat: Implement ADX Indicator with Quantower integration 2025-12-14 20:32:01 -08:00
Miha Kralj 78775c1da0 feat: implement SuperTrend indicator with tests and documentation 2025-12-14 19:28:07 -08:00
Miha Kralj 18759beb5e feat: implement McGinley Dynamic Indicator (MGDI) with tests and documentation 2025-12-14 17:14:51 -08:00
Miha Kralj 822aaa0d40 Add Ehlers Hilbert Transform Instantaneous Trend (HTIT) implementation and tests
- Implemented the HTIT indicator in Htit.cs, utilizing the Hilbert Transform for trend analysis.
- Added unit tests for HTIT validation against TA-Lib, Skender, and Ooples implementations in Htit.Validation.Tests.cs.
- Created documentation for HTIT in Htit.md, detailing its core concepts, formula, parameters, usage, and interpretation.
2025-12-14 16:52:02 -08:00
Miha Kralj 7168866098 fix: update return type for empty source in Jma to an empty array 2025-12-13 22:32:12 -08:00
Miha Kralj c1a476ed9c fix: update validation logic to prevent negative start index and improve error message for alpha parameter 2025-12-13 22:16:29 -08:00
Miha Kralj 9587560cd8 feat: Add Jurik Composite Fractal Behavior (CFB) indicator and tests 2025-12-13 21:38:32 -08:00
Miha Kralj 4b17984cfd Add PWMA implementation and tests; enhance documentation 2025-12-13 20:21:21 -08:00
Miha Kralj 60227a23c1 Implement Jurik Moving Average (JMA) with adaptive smoothing and comprehensive tests 2025-12-12 21:35:00 -08:00
Miha Kralj 79dcbcaddd Refactor validation tests to improve tolerance handling and clarify validation logic for TEMA and VIDYA indicators 2025-12-12 19:03:23 -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 cfc54bf1f7 Enhance SIMD support in moving average implementations; add AVX512 and ARM64 optimizations for HMA, SMA, and WMA 2025-12-10 21:12:14 -05:00
Miha Kralj 053234045f VIDYA indicator with adaptive smoothing based on market volatility. 2025-12-10 20:07:46 -05:00
Miha Kralj 66b1fc3dca Add RMA indicator implementation and related tests; update existing indicators to return empty array for zero count 2025-12-10 19:24:55 -05:00
Miha Kralj 8df3480d1f DWMA Indicator implementation and tests 2025-12-10 18:22:10 -05:00
Miha Kralj 81830c9031 Optimize memory allocation in ALMA and Conv classes; improve performance by using stackalloc for small periods 2025-12-10 15:15:20 -05:00
Miha Kralj 47884bddab Refactor and optimize TBar, TBarSeries, and TSeries notebooks; remove obsolete code
- Enhanced Alma class by simplifying the CalculateWeightedSum method and removing unnecessary comments.
- Removed SIMD-related methods from Conv class, replacing them with optimized DotProduct calls.
- Updated Sma and Wma classes to use source.ContainsNonFinite() for non-finite value checks, improving readability and performance.
2025-12-10 15:03:58 -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 7a4850956b Convolution Indicator (CONV) with customizable kernel support 2025-12-10 11:48:52 -05:00
Miha Kralj b46e83475e Add MAMA Indicator Implementation and Tests 2025-12-09 21:32:06 -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 861571d249 LSMA indicator with tests and documentation 2025-12-09 14:19:33 -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 53a2dd2c05 chore: Update various indicators to improve null handling and code readability 2025-12-08 18:02:36 -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