Commit Graph

120 Commits

Author SHA1 Message Date
Miha Kralj 915d7a007b Add Standardize class for Z-Score normalization and update project files
- Implemented the Standardize class for calculating Z-Score normalization over a specified lookback period.
- Updated NDepend badge SVG files to reflect new metrics.
- Modified NDepend project files to reference the updated solution file name.
- Removed outdated documentation files related to indicator proposals and channel documentation remediation.
- Updated workspace configuration to point to the new solution file.
2026-02-07 12:47:13 -08:00
Miha Kralj 26280ce80b Add Choppiness Index (CHOP) implementation and tests
- Implemented ChopIndicator for Quantower with configurable period and cold value display.
- Created Chop class for calculating the Choppiness Index with detailed documentation.
- Added comprehensive unit tests for Chop functionality, covering various market conditions and edge cases.
- Developed markdown documentation for CHOP, detailing its historical context, mathematical foundation, and usage examples.
- Established a remediation plan for channel indicators documentation, identifying gaps and prioritizing updates.
2026-02-05 19:42:49 -08:00
Miha Kralj 3e854eac3f Refactor documentation links in numerics, oscillators, reversals, and statistics modules to use relative paths; update Bias class to handle division by zero more robustly; remove obsolete CUMMEAN Pine script; enhance trend indicators documentation; add Visual Studio Code workspace configuration. 2026-02-04 11:43:59 -08:00
Miha Kralj 5ed4b6c0fc pine files 2026-01-31 14:05:53 -08:00
Miha Kralj c7e55c2f1e Add Intraday Intensity Index (III) implementation and tests
- Implemented the III indicator in Iii.Quantower.cs, measuring buying/selling pressure based on close price within the day's range, weighted by volume.
- Added unit tests for III functionality in Iii.Tests.cs, covering various scenarios including default parameters, updates, and cumulative mode.
- Created validation tests in Iii.Validation.Tests.cs to ensure consistency between streaming, batch, and span calculations.
- Developed comprehensive documentation for III in Iii.md, detailing its historical context, mathematical foundation, and common pitfalls.
2026-01-28 08:56:41 -08:00
Miha Kralj a9e72dae0d Refactor and enhance various channel indicators for improved performance and stability
- Updated Codacy instructions to streamline usage guidelines.
- Refactored Bbands class to utilize ArrayPool for memory management, preventing stack overflow on large series.
- Changed Fcb class to use long for monotonic deques to avoid truncation issues.
- Enhanced Kchannel class to ensure safe defaults for non-finite values.
- Improved Maenv class to prevent double-priming during calculations.
- Modified Mmchannel class to ensure non-negative buffer indices and removed unnecessary state tracking.
- Updated Pchannel class to correctly reference IsHot state.
- Refined Regchannel class to avoid double-processing during calculations.
- Enhanced Starchannel class to sanitize non-finite values during calculations.
- Adjusted Stbands.Quantower.cs to allow finer control over multiplier precision.
- Updated Ubands class to only update last valid values on new bars.
- Modified Uchannel.Quantower.cs to allow for finer multiplier precision.
- Enhanced Vwapbands classes to include standard deviation calculations and ensure consistent array lengths.
- Refactored Vwapsd classes to include standard deviation outputs and ensure consistent array lengths.
- Updated MonotonicDeque to use long for indices to prevent overflow.
- Improved Mdape class to handle zero actual values with a substitute value for error calculation.
- Enhanced Rae class to ensure correct state management during updates.
- Refined Wmape class to simplify the logic for finding last valid actual and predicted values.
- Updated Cmf.Quantower classes to ensure MinHistoryDepths reflects the current period.
2026-01-27 23:48:33 -08:00
Miha Kralj d04a1521a3 fix: restore truncated Codacy_Upload job in workflow 2026-01-26 16:04:40 -08:00
Miha Kralj 4652df360f feat: sync Sonar rule suppressions across SonarCloud, Codacy, and local builds 2026-01-26 15:57:45 -08:00
Miha Kralj 480715f66f Add Sonar rule suppressions and update Publish workflow for Codacy rule sync 2026-01-26 12:00:06 -08:00
Miha Kralj 2836f253c4 Refactor error handling and calculations in TheilU, Wmape, and TukeyBiweight classes; update buffer handling for consistency
- Updated buffer handling in TheilU and Wmape classes to ensure consistency after adding new values.
- Changed the resync interval constant in TukeyBiweight for better clarity.
- Refactored state structures to record structs in Gauss, Hann, Hp, Hpf, Kalman, Loess, Notch, and other filter classes for improved performance and readability.
- Enhanced numerical stability in Mama class calculations using Fused Multiply-Add (FMA) for precision.
- Added comprehensive tests for Atan2 validation to compare .NET's Math.Atan2 with PineScript's implementation, ensuring accuracy across various edge cases.
- Updated NDepend badges to reflect changes in classes, methods, and lines of code.
2026-01-24 23:07:09 -08:00
Miha Kralj fd6c80e8db Add Chaikin Money Flow (CMF) Indicator Implementation and Tests
- Implemented CMF indicator in Cmf.cs with detailed calculations and methods.
- Created unit tests for CMF validation against Skender, Ooples, and batch processing.
- Added documentation for CMF in Cmf.md, explaining its purpose, calculations, and usage.
- Updated project files to include new statistics library.
- Updated NDepend badges to reflect changes in classes, methods, and lines of code.
2026-01-23 18:40:20 -08:00
Miha Kralj 24db200d19 fix: remove standalone DLL from release assets (NuGet package contains all frameworks) 2026-01-21 23:51:55 -06:00
Miha Kralj cd7f753f14 fix: update file patterns for NuGet packing to ensure correct DLL inclusion 2026-01-21 23:35:50 -06:00
Miha Kralj 0c3b944485 feat: streamline release workflow and remove unnecessary warnings in test files 2026-01-21 23:27:03 -06:00
Miha Kralj da4e56bf40 feat: Add new CodeQL extension for C# and SonarLint configuration
- Introduced a new CodeQL extension for C# in `.github/codeql/extensions/quantalib-csharp/codeql-pack.yml`.
- Added SonarLint configuration in `.sonarlint/CSharp/SonarLint.xml` and `.sonarlint/csharp.ruleset` to suppress specific rules for high-performance indicators.
- Removed outdated `.vscode/launch.json` configurations.
- Updated `.vscode/tasks.json` to streamline build and test tasks, including renaming and consolidating tasks.
- Modified `Directory.Build.props` to enhance SARIF output directory handling and integrate SonarLint rules.
- Refactored various indicator classes to improve code clarity and maintainability, including updates to method parameters for consistency.
- Added XML documentation comments to several classes and methods for better code understanding.
- Improved numerical stability in calculations by replacing direct comparisons with `double.Epsilon` checks in multiple classes.
2026-01-21 23:05:38 -06:00
Miha Kralj 32f3366952 feat: enhance SARIF file handling in Publish workflow 2026-01-21 17:50:08 -05:00
Miha Kralj fdfbfd98f0 Add Starchannel indicator implementation and validation tests
- Implemented the Starchannel class, which calculates a volatility-based envelope using SMA as the middle line and ATR for band width.
- Added methods for updating the indicator with new data, batch calculations, and state management.
- Created comprehensive unit tests for the Starchannel indicator, validating various scenarios including manual calculations, consistency across modes, eventing, and handling of large datasets.
- Ensured that the indicator's outputs are finite and that band widths are consistent across different calculation modes.
2026-01-21 17:21:29 -05:00
Miha Kralj 470d2f0121 fixing workflows 2026-01-21 16:06:19 -05:00
Miha Kralj 2d3c8fbaf8 feat: update Release workflow to build additional Quantower projects 2026-01-21 16:02:54 -05:00
Miha Kralj e966000d48 feat: add DeepSource coverage upload to workflow (#57) 2026-01-19 12:21:33 -08:00
Miha Kralj abef7e8cf6 chore: suppress S107 rule for SIMD methods with many parameters 2026-01-19 12:07:54 -08:00
Miha Kralj 86fe32a682 SIMD Refactor: Merge simd-dev into dev (#55)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat>
Co-authored-by: Warp <agent@warp.dev>
2026-01-18 19:02:03 -08: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
Miha Kralj 14ec3cd2b0 tests 2024-10-08 17:58:02 -07:00
Miha Kralj 00b5bf3242 nuget publish 2024-10-08 14:52:46 -07:00
Miha Kralj a7eeacf8cb Merge branch 'dev' 2024-10-08 10:47:21 -07:00
Miha Kralj 931bbdb6a0 pull request changes 2024-10-08 10:31:04 -07:00
Miha Kralj b7b5a4a1bf clean code fixes 2024-10-06 17:16:47 -07:00
Miha Kralj b7d646ce55 Merge branch 'dev' 2024-10-06 11:05:31 -07:00
Miha Kralj bcac34bf09 small workflow cleanups 2024-10-06 11:04:48 -07:00
Miha Kralj 1e77eb80a4 Merge branch 'dev' 2024-10-05 23:56:59 -07:00
Miha Kralj 2dd680e9ee sonarcloud workflow 2024-10-05 23:51:52 -07:00
Miha Kralj 2a09ea8343 sonarcloud workflow 2024-10-05 19:36:01 -07:00
Miha Kralj 2e0fa17d81 minor fix 2024-09-30 12:31:20 -07:00