Miha Kralj
4a01f03cb4
Merge branch 'dev'
2026-03-10 20:34:18 -07:00
Miha Kralj
7ec79538aa
refactor: move Decay/Edecay from trends_IIR to numerics; update filter signatures
...
- Move lib/trends_IIR/decay/ → lib/numerics/decay/
- Move lib/trends_IIR/edecay/ → lib/numerics/edecay/
- Update Category in Decay.md/Edecay.md from Trends (IIR) to Numerics
- Add DECAY/EDECAY entries to lib/numerics/_index.md and docs/indicators.md
- Update filter signature .md files and .svg assets
- Update trends_IIR signature docs (htit, mama, holt, etc.)
- All 163 tests passing, 0 warnings, 0 errors
2026-03-10 20:33:55 -07:00
Miha Kralj
35a6702b06
fix(docs): correct .md documentation across errors, dynamics, filters, forecasts, momentum, numerics, oscillators, reversals, statistics, trends, volatility, volume
...
Deep review of all indicator categories verified .md headers against .cs WarmupPeriod, parameters, inputs, and outputs. Fixes include warmup corrections, parameter documentation, output type accuracy, and Pine Script alignment.
2026-03-10 18:38:23 -07:00
Miha Kralj
8906c62dcf
fix(docs): correct warmup values in cycles/channels .md files
...
Cycles:
- ebsw: warmup 1 bar → Math.Max(hpLength, ssfLength) + 3 (default 43)
- homod: warmup 1 bar → maxPeriod * 2 (default 100)
Channels:
- apchannel: warmup 1 bar → ⌈3/alpha⌉ (default 15); params None → alpha; outputs Single → Multiple
- jbands: warmup 1 bar → ⌈20 + 80 × period^0.36⌉
- uchannel: warmup 1 bar → Math.Max(strPeriod, centerPeriod)"
2026-03-10 18:37:19 -07:00
Miha Kralj
031f1b5fe6
feat: add new indicators (Decay, Edecay, MinusDi, MinusDm, PlusDi, PlusDm, Maxindex, Minindex, Sarext) and update pine scripts, core libs, validation tests, and python bindings
2026-03-09 13:45:46 -07:00
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
4b3d4d188c
Merge dev into main
v0.8.4
2026-03-04 15:56:50 -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
f192b6d014
merge: bump version to 0.8.4
2026-03-04 08:50:31 -08:00
Miha Kralj
4f22062f78
chore: bump version to 0.8.4
2026-03-04 08:50:29 -08:00
Miha Kralj
9e8af76de1
merge: move sonar-suppressions.json to .github/
2026-03-04 08:49:12 -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
fc45768f66
merge: restore sonar-suppressions.json for CI fix
2026-03-04 08:40:15 -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
6ae79525f6
merge: dev into main - license docs, Python/PineScript guides, API updates
2026-03-03 22:12:25 -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
9d8cd22ae6
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.
v0.8.2
2026-03-03 13:15:48 -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
codefactor-io
5957ef065c
[CodeFactor] Apply fixes to commit 7737098
2026-03-03 20:43:16 +00: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