Commit Graph

14 Commits

Author SHA1 Message Date
Miha Kralj aec3a64e4e feat(dynamics): add PTA - Ehlers Precision Trend Analysis
TASC Sep 2024. Dual 2-pole Butterworth highpass bandpass for
near-zero-lag trend extraction. HP(long) - HP(short) preserves
cycles between shortPeriod and longPeriod.

- Core: Pta.cs with O(1) streaming, Span batch, state rollback
- Quantower: PtaIndicator adapter with LineSeries + SetValue
- Tests: 31 lib + 11 Quantower (all passing)
- Pine: pta.pine PineScript v6 reference
- Docs: Pta.md canonical template v3
- Python: Exports.Generated.cs + _bridge.py + dynamics.py
- Indexes: _sidebar.md, lib/_index.md, dynamics/_index.md,
  docs/indicators.md, docs/pinescript.md
2026-03-17 17:25:17 -07:00
Miha Kralj 84d12e5706 feat: add USI (Ehlers Ultimate Strength Index) - TASC Nov 2024 2026-03-17 16:44:48 -07:00
Miha Kralj d3cb9d2513 feat(cycles): add AMFM - Ehlers AM Detector / FM Demodulator 2026-03-17 15:56:55 -07:00
Miha Kralj 8112009b32 feat(filters): add NET - Ehlers Noise Elimination Technology (TASC Dec 2020) 2026-03-17 14:38:31 -07:00
Miha Kralj f7dcc20f7c feat: add EEO (Ehlers Elegant Oscillator) - TASC Feb 2022 2026-03-17 14:18:57 -07:00
Miha Kralj b4523b5cca feat: add MADH (Ehlers Moving Average Difference with Hann) indicator 2026-03-17 13:48:34 -07:00
Miha Kralj 4fa29c04b7 feat: add DMH (Ehlers Directional Movement with Hann) indicator 2026-03-17 13:35:03 -07:00
Miha Kralj 4552d8529d feat: add RSIH (Ehlers Hann-Windowed RSI) indicator 2026-03-17 12:40:55 -07:00
Miha Kralj 7db48e2418 feat(oscillators): add DSO - Ehlers Deviation-Scaled Oscillator
Implement DSO (TASC Oct 2018) with SSF 2-pole filter, RMS normalization,
and Fisher Transform (±0.99 clamp). Sealed class, O(1) streaming RMS via
RingBuffer, precomputed SSF coefficients.

New files: Dso.cs, Dso.Quantower.cs, Dso.md, dso.pine,
  Dso.Tests.cs (27), Dso.Validation.Tests.cs (7), Dso.Quantower.Tests.cs (11)

Updated: Exports.cs, _bridge.py, oscillators.py, SPEC.md,
  _sidebar.md, lib/_index.md, oscillators/_index.md,
  docs/indicators.md, docs/pinescript.md

All 19,565 tests pass, 0 warnings.
2026-03-17 11:59:04 -07:00
Miha Kralj 5fc6e27d8e Rename EACP to ACP across entire codebase
- Renamed directory lib/cycles/eacp → lib/cycles/acp
- Renamed class Eacp → Acp, EacpIndicator → AcpIndicator
- Renamed all files: Eacp.cs → Acp.cs, Eacp.Quantower.cs → Acp.Quantower.cs,
  eacp.md → acp.md, eacp.pine → acp.pine, and all test files
- Updated display names: EACP → ACP in Quantower Name/ShortName properties
- Updated all documentation surfaces: _sidebar.md, lib/_index.md,
  lib/cycles/_index.md, docs/indicators.md, docs/validation.md,
  docs/pinescript.md, lib/cycles/cg/cg.md cross-reference
- Updated Python bridge: qtl_eacp → qtl_acp entry point, _bridge.py,
  cycles.py wrapper, SPEC.md, test_shapes.py, run_all_exported
- All 83 tests pass (38 AcpTests + 22 AcpValidationTests + 23 AcpIndicatorTests)
- Build: 0 warnings, 0 errors across all projects
2026-03-17 11:35:11 -07:00
Miha Kralj 6f0a339c9b fix: resolve build and test errors
- Sar.Quantower.Tests.cs: add missing opening quote on string literal (line 48)
- Exports.cs: rename Correlation.Batch → Correl.Batch (CS0103)
- Ad.Validation.Tests.cs: fix Ooples OutputValues key "Ad" → "Adl"
2026-03-16 12:45:13 -07:00
Miha Kralj 107f64c7c6 docs: rewrite pinescript.md with all 396 .pine indicators
Complete rewrite of docs/pinescript.md to include every .pine file
organized by category (core, FIR trends, IIR trends, filters,
oscillators, dynamics, momentum, volatility, volume, channels,
cycles, reversals, forecasts, statistics, numerics, errors).
Previously listed ~120 indicators with many missing categories.
2026-03-12 14:20:41 -07:00
Miha Kralj 8f387e72b8 docs: rewrite README, add docsify search, reorder sidebar, fix license refs 2026-03-12 14:07:03 -07: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