34 Commits

Author SHA1 Message Date
Miha Kralj d3f5fbf4e6 fix: restrict StampReadmeVersion to single project to prevent parallel race corruption 2026-03-13 22:08:37 -07:00
Miha Kralj 67ad6f0cba v0.8.7: Replace periodic ResyncInterval with Kahan compensated summation
Comprehensive refactor across all indicators replacing the periodic
ResyncInterval-based drift correction (every 1000 ticks recalculate
from scratch) with Kahan compensated summation for running sums.

Key changes:
- Remove ResyncInterval constants and TickCount fields from all State records
- Add Kahan compensation fields (SumComp, SumSqComp, etc.) to State records
- Replace naive sum += val - removed with Kahan delta pattern
- Remove Resync()/RecalculateSum() methods that did O(N) recalculation
- Update batch/SIMD paths to use Kahan compensation instead of resync loops
- IIR filters (EMA, REMA, RGMA) simplified: inherently self-correcting
- Version bump to 0.8.7
- Build system: README version stamping via Directory.Build.props
- Minor doc/test tolerance adjustments for new numerical characteristics

Affected modules: channels, core, cycles, dynamics, errors, momentum,
oscillators, statistics, trends_FIR, trends_IIR, volatility, volume
2026-03-13 22:01:31 -07:00
Miha Kralj 0d85d820cd suppress S1192 in Directory.Build.props NoWarn for build-time silence 2026-03-04 10:31:31 -08:00
Miha Kralj 07054ae20a refactor: centralize versioning and stabilize PMA validation 2026-03-01 14:07:14 -08:00
Miha Kralj 19df6763a9 fix: guard SonarLint ruleset refs with Exists() condition
.sonarlint/ is gitignored so CI and fresh clones lack these files. Unconditional CodeAnalysisRuleSet reference caused MSB3884 error which with /warnaserror broke Release builds and froze JB InspectCode.
2026-03-01 13:45:47 -08:00
Miha Kralj 83e9511261 python wrapper 2026-02-28 14:14:35 -08:00
Miha Kralj 7253f61299 Add TRAMA implementation and comprehensive tests
- Implemented the TRAMA (Trend Regularity Adaptive Moving Average) class with adaptive EMA logic.
- Added unit tests for TRAMA functionality, including constructor validation, basic calculations, state management, and robustness checks.
- Created validation tests to ensure consistency across different modes of operation (streaming, batch, and static calculations).
- Enhanced documentation for TRAMA, including performance profiles and quality metrics.
- Updated workspace configuration by removing unnecessary folder references.
2026-02-21 20:45:38 -08:00
Miha Kralj 79c0d72d0a Add exact-zero div guards and floating point equality checks to SonarLint rules for quantitative indicators 2026-02-16 22:59:36 -08:00
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 71b7166e2e fix: remove symbols package, JetBrains.Annotations dep, target net10.0 only
- Disabled symbol package generation (IncludeSymbols=false)
- Removed JetBrains.Annotations dependency from Directory.Build.props
- Changed QuanTAlib package to target net10.0 only (net8.0 remains for Quantower wrappers)
2026-01-21 23:40:28 -08: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 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 351214ed31 moar Chart indicators 2024-11-07 21:40:02 -08:00
Miha Kralj c622b0e2d3 Merge branch 'dev' 2024-11-04 13:58:51 -08:00
Miha Kralj d711ecccc7 semver fix 2024-11-04 13:58:37 -08:00
Miha Kralj a9228abc58 Merge branch 'dev' 2024-11-04 11:36:37 -08:00
Miha Kralj 1df0dff12a semver fix 2024-11-04 11:24:07 -08:00
Miha Kralj 9f3f23e50e semver fix 2024-11-04 07:21:19 -08:00
Miha Kralj 7b41d84c66 Bband, Ccv, Ce, Cv, Cvi, Ewma, Fcb, Gkv, Hlv 2024-11-03 15:52:25 -08:00
Miha 6c67a0cf31 Class optimization 2024-10-27 16:11:08 -07:00
Miha c21b96152c macos dev update 2024-10-26 23:54:55 -07:00
Miha Kralj e5a1948fc0 Jvolty 2024-10-14 12:28:56 -07:00
Miha Kralj 14ec3cd2b0 tests 2024-10-08 17:58:02 -07:00
Miha Kralj af234594cc event tests 2024-10-08 09:25:01 -07:00
Miha Kralj b7b5a4a1bf clean code fixes 2024-10-06 17:16:47 -07:00
Miha Kralj 2dd680e9ee sonarcloud workflow 2024-10-05 23:51:52 -07:00
Miha Kralj 728017c9ca Merge branch 'dev' 2024-09-30 09:07:08 -07:00
Miha Kralj bdc01bff4a Atr 2024-09-30 06:46:07 -07:00
Miha Kralj 133c65ceaf Afirma + documentation +semver: patch 2024-09-24 16:41:26 -07:00
Miha Kralj 58d72c06ca Squash
dotcover

s1

.sln

s1

s1

s2

s3

s4

s5

s1

s2

x

x2

x3

x4

x5

x6

x1

sonarcube cleanup1

sonarcube cleanup2

sonarcube cleanup 3

fixes

q

q

q

q

q

q

q

q

q1

q2

q

q1

codacy 1
2024-09-23 22:08:40 -07:00
Miha Kralj 7cef131da0 minor fix of IsLocalBuild 2024-09-22 18:12:35 -07:00
Miha Kralj 1a2f431e32 minor fixes of references in csproj files 2024-09-22 17:57:09 -07:00
Miha Kralj d475bcd19a New version merge 2024-09-22 17:31:24 -07:00