Commit Graph

601 Commits

Author SHA1 Message Date
Miha Kralj 8e43d62cbb fix: move Roslyn SARIF upload from Sonar_Analysis to ReSharper_Analysis
SonarScanner wrapper overrides ErrorLog MSBuild property, preventing
Roslyn SARIF generation. ReSharper_Analysis already builds without
SonarScanner wrapping, so ErrorLog works correctly there.
development
2026-03-04 17:54:25 -08:00
Miha Kralj 935a5ab26c fix(python): align QtlEacp export params with Eacp.Batch signature
The NativeAOT export had stale parameter names (period, minPeriod,
maxPeriod, useMedian) from an older API. Renamed to match the actual
Eacp.Batch(minPeriod, maxPeriod, avgLength, enhance) signature.
ABI preserved — same 7 params, same types, no Python-side changes needed.
2026-03-04 11:59:42 -08: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 37eea8761b suppress S1192: guard clause exception messages are inline by convention 2026-03-04 10:29:51 -08:00
Miha Kralj ef330e527c fix: target quantalib.csproj instead of .slnx for inspectcode
Analysis of full .slnx (800+ files across 5 projects) still times out
even with --no-build. Target lib/quantalib.csproj directly to scope
analysis to the main library (~400 files). Consistent with proven
local inspectcode approach.
2026-03-04 10:03:50 -08:00
Miha Kralj 0868f20820 refactor: use --include=**.cs instead of --exclude for inspectcode
Per JetBrains docs, --exclude only filters report output, not scanning.
Switch to --include="**/*.cs" for cleaner SARIF with only C# results.
2026-03-04 10:01:37 -08:00
Miha Kralj 92ccb7e53a fix: resolve ReSharper InspectCode CI timeout
- Pre-build solution before inspectcode to avoid redundant 4-min internal build
- Add --no-build flag to jb inspectcode
- Add --exclude patterns for bin/obj/TestResults and binary artifacts
- Bump timeout-minutes from 15 to 20 as safety margin
2026-03-04 09:52:09 -08:00
Miha Kralj 4f22062f78 chore: bump version to 0.8.4 2026-03-04 08:50:29 -08:00
Miha Kralj 0d94b4df52 refactor: move sonar-suppressions.json to .github/ directory
Keeps CI config files consolidated under .github/.
Updated Publish.yml references accordingly.
2026-03-04 08:49:10 -08:00
Miha Kralj 7e72b0760e fix: restore sonar-suppressions.json for CI pipeline
File was accidentally deleted in repo cleanup (1910fdca).
Required by Codacy_Rule_Sync and Sonar_Analysis jobs.
2026-03-04 08:40:07 -08:00
Miha Kralj 56602c725d docs: fix README formatting 2026-03-03 22:12:23 -08:00
Miha Kralj f10baa6dfb docs: add license rationale, Python/PineScript guides, API updates
- Add docs/license.md with Apache 2.0 rationale and patent protection analysis
- Add docs/python.md and docs/pinescript.md platform guides
- Expand README license section with disclosure and link to rationale
- Update docs/api.md and docs/architecture.md
- Update Python bindings: helpers, all indicator modules, pyproject.toml
- Add Python tests for Arrow and Polars integration
- Update TValue core type and documentation
- Add fix_length_to_period tooling script
2026-03-03 22:11:35 -08:00
Miha Kralj 6f4e083811 fix: add environment 'pypi' to Publish_Package job for trusted publishing
PyPI trusted publisher OIDC token exchange failed because the workflow
job did not declare a GitHub environment. PyPI's trusted publisher config
requires environment claim to match. Added environment: pypi to the
Publish_Package job in Release.yml.
2026-03-03 13:15:17 -08:00
Miha Kralj 7737098a54 fix: suppress MA0077 on ref struct types and fix variable shadowing
ref struct types (BatchOutputs, BatchInputs, ScalarState, WorkBuffers)
cannot implement IEquatable<T> — C# prohibits interface implementation
on ref structs. Added #pragma warning disable/restore MA0077 at type
declaration level in AccBands.cs, Aberr.cs, Apz.cs (9 ref structs).

Renamed local 'output' to 'result' in Wma.Coverage.Tests.cs to avoid
shadowing the primary constructor ITestOutputHelper parameter (S1117/MA0084).
2026-03-03 12:42:42 -08:00
Miha Kralj 3e858ca39e chore: bump version to 0.8.2 2026-03-03 10:37:45 -08:00
Miha Kralj 50711933e1 chore: remove gitignored files from tracking, update channels
- Remove .vscode/, __pycache__/, publish binaries, and .dll/.pdb files from git tracking (now covered by .gitignore)
2026-03-03 10:33:23 -08:00
Miha Kralj 1910fdca93 chore: repo cleanup and code quality improvements
- Remove global.json (SDK pinning unnecessary)

- Remove nuget.config, move MyGet source to .csproj RestoreAdditionalProjectSources

- Gitignore ndepend/ entirely, move badges to docs/img/

- Update README.md and docs/ndepend.md badge paths

- Add NDepend project property to QuanTAlib.slnx

- Expand .editorconfig ReSharper/diagnostic suppressions

- Use ArgumentOutOfRangeException instead of ArgumentException

- Use discard _ for unused event sender parameters

- Remove quantalib.code-workspace and sonar-suppressions.json

- Add filter signature SVGs
2026-03-03 09:22:55 -08:00
Miha Kralj e1a6743bda fix: add .md extension to signature links in indicator docs 2026-03-03 08:45:25 -08:00
Miha Kralj d6c8dea98b docs: audit and fix all category _index.md files 2026-03-03 08:33:20 -08:00
Miha Kralj 751d9ff041 fix: Aberr tests expect ArgumentOutOfRangeException to match actual throws 2026-03-02 18:07:09 -08:00
Miha Kralj c23fbbd99f fix(frama): rewire Python export to use H/L arrays instead of single source 2026-03-02 15:56:12 -08:00
Miha Kralj fbdc9172cc fix(nlma): restore original Igorad cycle zone numerator (i-phase+1)
The cycle zone t parameter must use (i-phase+1) per original MQL4 NonLagMA v7.1.

Using (i-phase) eliminated the intentional discontinuity at the phase/cycle boundary, producing incorrect kernel weights visible in the signature SVG.
2026-03-02 15:03:38 -08:00
Miha Kralj f0f9382817 docs: add SVG signature wrapper .md pages, fix docsify links, minimize content margins 2026-03-02 14:55:34 -08:00
Miha Kralj 18694e337e feat: add length->period kwargs alias across all 168 indicator functions for pandas-ta compat 2026-03-02 10:00:29 -08:00
Miha Kralj ae7207c3d8 test: add Jma_Period_AffectsResult verifying period changes output across all modes 2026-03-02 09:11:48 -08:00
Miha Kralj 439b818201 fix: rebuild NativeAOT DLL after JMA power removal + add length kwargs alias 2026-03-01 22:37:56 -08:00
Miha Kralj fa77882be7 refactor: remove unused JMA power parameter from entire stack 2026-03-01 22:14:30 -08:00
Miha Kralj ce04e2792b fix: sync 28+ Python default params with C# constructors 2026-03-01 22:04:30 -08:00
Miha Kralj ce4416d388 fix(python): critical bug fixes across Python wrapper 2026-03-01 21:35:19 -08:00
Miha Kralj 9c03a5bbbe fix: stabilize platform wheel retagging and manylinux uploads 2026-03-01 18:31:45 -08:00
Miha Kralj d4d0646c4f feat: publish platform-tagged wheels for all target runtimes 2026-03-01 17:47:31 -08:00
Miha Kralj aa229caf99 fix: use supported macOS Intel runner label 2026-03-01 17:19:28 -08:00
Miha Kralj 7eff56e01c fix: run linux-arm64 wheel build on native ARM runner 2026-03-01 17:17:26 -08:00
Miha Kralj 0b52892288 ci: build and publish multi-platform wheels via release workflow 2026-03-01 17:04:27 -08:00
Miha Kralj bc531d392a feat: add Python wheel release pipeline and TestPyPI publish fixes 2026-03-01 16:20:41 -08:00
Miha Kralj 1b8e7e6155 fix: publish quantower_quantalib.dll release asset 2026-03-01 14:20:17 -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 89fa0757ef python ignore 2026-02-28 19:05:37 -08:00
Miha Kralj aa69f31a9f secrects exclusion 2026-02-28 18:54:42 -08:00
Miha Kralj 9fe9a8dab6 chore 2026-02-28 17:12:11 -08:00
Miha Kralj 42390aa22e Remove pandas_ta.tar.gz from the repository 2026-02-28 17:12:08 -08:00
Miha Kralj 768123d056 minor 2026-02-28 16:05:11 -08:00
Miha Kralj 83e9511261 python wrapper 2026-02-28 14:14:35 -08:00
Miha Kralj 82e0248eb0 test: refine robustness test to be more agnostic 2026-02-27 12:57:22 -08:00
Miha Kralj 769a923a24 test: setup common stability and robustness properties tracking 2026-02-27 12:50:05 -08:00
Miha Kralj 4ab3a7fb53 doc headers 2026-02-27 07:48:12 -08:00
Miha Kralj 8a1ba95173 validation and profiles 2026-02-26 22:02:52 -08:00
Miha Kralj 9ab37c1200 adding missing validations 2026-02-26 09:59:44 -08:00
Miha Kralj 467a8c1cef filters update 2026-02-23 17:27:35 -08:00