Commit Graph

131 Commits

Author SHA1 Message Date
Miha Kralj 6bd0096297 feat: enhance validation tests for Aroon Oscillator and ADOSC 2025-12-22 15:31:38 -08:00
Miha Kralj 5549c7329a refactor: Remove Codecov upload step and update build process for Momentum, Trends, and Volume projects 2025-12-18 22:12:09 -08:00
Miha Kralj a37d5818be fix: Update ADL calculation to handle empty source and improve versioning in Publish.yml 2025-12-18 22:00:11 -08:00
Miha Kralj 1084644a3d Add Aroon Indicator implementation and tests
- Implemented Aroon Indicator with constructor, initialization, and update methods.
- Added unit tests for AroonIndicator to verify default settings, historical depth, short name, source code link, and processing of historical bars.
- Created Aroon class for core calculations, including methods for updating with TBar and TBarSeries.
- Added validation tests to ensure Aroon calculations match results from Skender and TA-Lib.
- Updated documentation for Aroon Indicator with calculation methods and usage examples.
- Refactored Dema and Wma classes to use Batch methods for calculations.
- Enhanced performance benchmarks by increasing bar count and integrating OoplesFinance indicators.
- Updated project dependencies to include OoplesFinance.StockIndicators.
2025-12-17 13:18:25 -08:00
Miha Kralj 15c4e832ed chore: Update Qodana and Codecov action versions for consistency 2025-12-17 10:21:27 -08:00
Miha Kralj facc814ede chore: Update action versions in Publish.yml; improve .gitignore entries; refactor Alma, Super, and Trima classes for clarity and performance 2025-12-17 10:16:37 -08:00
Miha Kralj 80237b3b5a chore: Update Qodana and Codecov action versions in Publish.yml 2025-12-17 09:40:18 -08:00
Miha Kralj 1664d5d6dd chore: Remove obsolete test files and update dependencies in workflow 2025-12-17 08:01:57 -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 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 8959d9584d chore: update project files and configurations for improved compatibility and performance 2025-12-09 16:04:19 -05: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 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
Miha Kralj 6323f43db4 chore: Update .github workflows for .NET version and action dependencies; add Qodana scan job 2025-12-07 18:34:06 -08:00
Miha Kralj ee358bfdd9 Enhance coding conventions and static analysis setup; update .editorconfig, scanner.sh, and various C# files for improved readability and performance 2025-12-04 14:36:00 -08:00
Miha Kralj 3ed35322a5 Add TRIMA implementation and benchmarks; optimize WMA with SIMD
- Introduced `TrimaVector` class for multi-period Triangular Moving Average (TRIMA) calculations, optimized for SIMD.
- Implemented last-value substitution for invalid inputs in TRIMA.
- Added methods for calculating TRIMA for entire series and individual updates.
- Enhanced `Wma` class with periodic resync to prevent floating-point drift and introduced SIMD optimizations for performance.
- Updated benchmark suite to include TRIMA calculations alongside existing SMA, EMA, and WMA benchmarks.
2025-12-04 13:05:56 -08:00
Miha Kralj 4a0a8d6da2 chore: Update project files and configurations; enhance .gitignore, add Qodana and SonarScanner scripts, and improve test project references 2025-12-03 09:27:29 -08:00
Miha Kralj 626a2afa9b chore: Update .gitignore to exclude SonarQube files and add Codacy and SonarScanner scripts
refactor: Remove WarmupPeriod logging from SMA and WMA examples
2025-11-30 17:17:55 -08:00
Miha Kralj acac3e610c updates from mac 2025-11-28 13:35:16 -08:00
Miha Kralj 33ffd3a37a first iteration 2025-11-25 20:40:46 -08:00
Miha Kralj 11ff82c7ac Add chatmodes and update test files 2025-10-21 18:50:23 -07:00
miha 0f7cfb4b50 Optimize SMA to O(1) using running sum algorithm
- Changed from O(n) CircularBuffer.Average() to O(1) running sum
- Maintains _sum and _p_sum for state management
- Tracks _lastValue and _p_lastValue for isNew=false updates
- Provides ~15-20x speedup for large periods
- Pattern verified against Pine Script reference implementation
- All tests pass including update test for isNew handling

Also added .github/copilot-instructions.md with comprehensive
AI agent guidance for QuanTAlib development patterns
2025-10-21 18:47:10 -07:00
Miha Kralj 82fc868cf5 Dosc 2024-11-04 15:16:05 -08:00
Miha Kralj 5b333bd2ec semver fix 2024-11-04 15:02:19 -08:00
Miha Kralj c0cb90e89b Merge branch 'dev' 2024-11-04 14:50:08 -08:00
Miha Kralj 16d941ded4 semver fix 2024-11-04 14:49:33 -08:00
Miha Kralj 1df0dff12a semver fix 2024-11-04 11:24:07 -08:00
Miha Kralj 7f6c29151c Fixes 2024-11-03 15:52:25 -08:00
Miha Kralj 94928714bf sonar fixes 2024-11-03 15:52:25 -08:00
Miha Kralj 3d648e59e3 improved github actions workflow 2024-11-01 18:54:48 -07:00
Miha b2fcdda785 xml doc rewrite 2024-10-27 09:38:53 -07:00
Miha Kralj 70a2ed0b0b Merge branch 'main' into dev 2024-10-24 19:27:20 -07:00
Miha Kralj 7a4648d5de sonar 2024-10-24 19:05:14 -07:00
Miha Kralj 1e9f0483ec Merge branch 'dev' 2024-10-14 12:29:42 -07:00
Miha Kralj e5a1948fc0 Jvolty 2024-10-14 12:28:56 -07:00
Miha Kralj 264df57696 Jvolty 2024-10-14 11:17:20 -07:00
Miha Kralj ffed6491d4 corrections 2024-10-13 17:31:35 -07:00
Miha Kralj 2236f5f483 gitversion fix 2024-10-12 22:46:36 -07:00
Miha Kralj b3b3b24a25 refresh with new QT DLL 2024-10-12 20:36:37 -07:00