Commit Graph

582 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 f7b8fe1654 feat: implement DMX indicator with comprehensive tests and documentation 2025-12-13 23:17:56 -08:00
Miha Kralj fd3065e7b9 fix: add validation for empty span in MinScalar and MaxScalar methods; ensure valid OHLC values in GBM calculations 2025-12-13 22:51:26 -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 487d651cca fix: ensure sonarscanner.sh has LF endings and executable permission 2025-12-13 22:11:15 -08:00
Miha Kralj bb2bd1e707 refactor: improve Codacy CLI download robustness and error handling
- Use curl with -fSL flags for fail-fast behavior and proper redirects
- Check curl exit code immediately after download
- Replace piped echo with temporary file for sha256sum verification
- Use sha256sum -c --status for cleaner verification
- Add detailed error logging with expected checksum
- Clean up temp file and binary on any failure
- Exit 1 immediately on download or verification failure
2025-12-13 21:50:47 -08:00
Miha Kralj e0e6396acb fix: convert scanner.sh to LF line endings and enforce for all shell scripts
- Convert .github/scanner.sh from CRLF to LF line endings
- Add .gitattributes to enforce LF for *.sh files
- Update .editorconfig with explicit shell script settings
- Prevents line ending issues on Linux/WSL execution
2025-12-13 21:49:57 -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 8959d9584d chore: update project files and configurations for improved compatibility and performance 2025-12-09 16:04:19 -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 5e6e3a070e chore: update CodeRabbit configuration to exclude additional cache directories 2025-12-09 14:30:50 -05:00
Miha Kralj ab532883ad chore: add more aggressive exclusions for coderabbit 2025-12-09 14:26:24 -05:00
Miha Kralj c970c58082 chore: exclude tests from coderabbit review to reduce file count 2025-12-09 14:25:13 -05:00
Miha Kralj 0db10a74fd chore: add coderabbit configuration to exclude generated files 2025-12-09 14:24:33 -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
Miha Kralj 488de7ea1e chore: Update documentation links and improve code readability in averages and tests 2025-12-07 20:44:24 -08:00
Miha Kralj 03df45003e chore: Enhance Snyk scan and GitVersion regex for improved branch handling 2025-12-07 20:26:19 -08:00
Miha Kralj 944c215327 chore: Simplify Snyk test command by removing unnecessary options 2025-12-07 20:10:27 -08:00
Miha Kralj 8277ed9ccf chore: Add Snyk CLI installation and update CodeQL action versions; add assertion for SonarCloud compliance 2025-12-07 20:05:09 -08:00
Miha Kralj 28f7e981c0 chore: Add check for CODACY_PROJECT_TOKEN before upload to Codacy 2025-12-07 19:59:22 -08:00
Miha Kralj e951f0a602 chore: Update Publish.yml for SonarCloud token handling and improve logging configuration 2025-12-07 19:54:05 -08:00
Miha Kralj 36526e1d43 chore: Update Publish.yml to switch shell to bash, add SONAR_TOKEN validation, and enable verbose logging for SonarCloud analysis 2025-12-07 19:44:26 -08:00
Miha Kralj 910f2751f0 chore: Update Publish.yml to improve SonarCloud scanner commands and enhance checkout steps with fetch-depth 2025-12-07 19:36:27 -08:00
Miha Kralj 966dc83131 chore: Update Publish.yml to enhance CI workflow with improved coverage reporting and additional job steps 2025-12-07 19:28:09 -08:00
Miha Kralj 3f7ca390bf chore: Update Publish.yml to run on ubuntu-latest; specify SonarScanner version and improve coverage report paths 2025-12-07 18:53:40 -08:00
Miha Kralj 5f8fef513b chore: Remove SonarCloud scanner caching from Publish.yml; update Qodana linter version in qodana.yaml 2025-12-07 18:45:45 -08:00
Miha Kralj 00643e74c2 chore: Update shell from powershell to pwsh in Publish.yml; specify Qodana linter version in qodana.yaml 2025-12-07 18:37:14 -08:00