Commit Graph

635 Commits

Author SHA1 Message Date
Miha Kralj 14c5f21d9e feat: update Qodana configuration to disable failure conditions and improve build stability
refactor: enhance Bilateral and SMA indicators to handle edge cases and improve state management
refactor: clean up whitespace and formatting in various test files for consistency
2025-12-28 16:22:45 -08:00
Miha Kralj 5c3b3fbab4 Refactor indicators to support optional time step in Prime method
- Updated the Prime method signature in multiple indicators (Jma, Kama, Lsma, Mama, Mgdi, Pwma, Rma, Sma, Ssf, Super, T3, Tema, Trima, Usf, Vidya, Wma, Atr) to accept an optional TimeSpan parameter for improved flexibility.
- Added unit tests for Lsma to verify Dispose functionality, ensuring proper unsubscription from the source and thread safety.
- Enhanced Mama and Wma classes to handle non-finite inputs gracefully and added checks for valid parameters in constructors.
- Introduced additional tests for T3 to validate constructor behavior with invalid volume factors.
- Ensured all indicators maintain consistent behavior when handling edge cases, such as empty buffers and non-finite values.
2025-12-28 15:14:07 -08:00
Miha Kralj af7abea6e7 feat: update Qodana configuration for improved analysis and upload SARIF reports to Codacy 2025-12-27 19:14:39 -08:00
Miha Kralj f2487ced04 Refactor tests and project files for improved consistency and clarity 2025-12-27 18:09:04 -08:00
Miha Kralj bf99f3caa9 feat: enhance documentation for event flow patterns, SoA storage, and argument validation in AGENTS and MODELS 2025-12-27 15:56:34 -08:00
Miha Kralj d7dbd7078a Refactor event handling and improve argument validation across indicators
- Updated event handler signatures to use TValueEventArgs for consistency in Mama, Mgdi, Pwma, Rma, Sma, Ssf, Super, T3, Tema, Trima, Usf, Vidya, Wma, and Atr classes.
- Enhanced argument validation by specifying parameter names in exceptions for clarity.
- Adjusted tests to align with new event handler signatures.
- Improved code readability and maintainability by using structured records and lambda expressions.
2025-12-27 15:46:28 -08:00
Miha Kralj 4750c2b1e8 refactor: update validation test classes to be sealed and simplify Dispose methods 2025-12-26 16:43:23 -08:00
Miha Kralj bfb0f6a322 feat(ci): update coverage path handling in Qodana configuration; add debug output for coverage XML paths 2025-12-26 14:22:13 -08:00
Miha Kralj f45ffde425 qodana wants .net8.0 2025-12-26 13:59:13 -08:00
Miha Kralj 5d176b00b1 feat(qodana): update .NET SDK targeting to net8.0; remove installation of net10.0 SDK 2025-12-26 13:43:34 -08:00
Miha Kralj 618837dc27 feat(subscriptions): update event subscription handling to use non-nullable source parameters; remove defensive null checks 2025-12-26 13:34:21 -08:00
Miha Kralj 47488985e1 feat(ci): fix coverage paths in Qodana configuration; remove unused pathMappings in qodana.yaml 2025-12-26 12:17:49 -08:00
Miha Kralj 9c113767ec feat(tests): update tests to use GBM for random data generation; improve consistency and realism in Skew and Variance tests; refine validation logic in Beta tests 2025-12-26 12:05:07 -08:00
Miha Kralj c2bc665ecf feat(tests): add comprehensive tests for LinReg, StdDev, Variance, and Mama indicators; enhance Pwma constructor with null check; improve coverage path mappings in Qodana configuration 2025-12-26 11:50:18 -08:00
Miha Kralj 86e2934f1b feat(rsi, alma, bilateral, blma, butter, ema, htit, kama, lsma, pwma, rma, trima, vidya, wma): enhance calculations with NaN handling and edge case management; improve performance and stability across multiple classes 2025-12-25 22:16:07 -08:00
Miha Kralj 0d077c24d8 feat(validation): add input validation for Bilateral and Blma constructors; enhance Butter and Mgdi calculations with NaN handling 2025-12-25 20:53:56 -08:00
Miha Kralj ac8b2dbb3f feat(tests): enhance tests with GBM for noise generation and improve tolerance for MAMA validation
feat(trends): implement IDisposable in Bessel and Conv classes to manage event subscriptions
fix(trends): add validation for period and parameters in Kama and MGDI calculations
fix(trends): clamp logarithmic calculations in JMA to avoid -Infinity
2025-12-25 20:18:14 -08:00
Miha Kralj df598c810d fix(qodana): remove msbuild properties from Qodana configuration 2025-12-25 18:55:25 -08:00
Miha Kralj f6d92defaa fix(qodana): update linter version to jetbrains/qodana-dotnet:2024.3 2025-12-25 18:51:42 -08:00
Miha Kralj b3e3c9549f fix(qodana): update linter version to jetbrains/qodana-cdnet-eap:2024.3 2025-12-25 18:48:52 -08:00
Miha Kralj 952d6f142c fix(tests): update tolerance in SkewValidationTests for improved precision 2025-12-25 18:46:16 -08:00
Miha Kralj 4ff6dc0ad9 feat(statistics): add Variance indicator with O(1) calculation and usage example 2025-12-25 17:18:41 -08:00
Miha Kralj 9ba89812cd Refactor MAMA and HTIT implementation for improved accuracy and performance 2025-12-24 20:50:58 -08:00
Miha Kralj 8917575994 Refactor IndicatorExtensions: Remove unused methods and optimize price retrieval 2025-12-24 13:50:19 -08:00
Miha Kralj c47b106597 fix: Update Balance of Power description in momentum indicators documentation 2025-12-23 20:17:18 -08:00
Miha Kralj 68168ec414 feat: Implement Butterworth Filter with tests and documentation 2025-12-22 22:45:27 -08:00
Miha Kralj 57aaec1ac8 feat: Add Blackman Window Moving Average (BLMA) implementation and documentation 2025-12-22 22:15:27 -08:00
Miha Kralj 7b1e0c738d feat: add Ooples WWMA tests and validate convergence for Aroon Oscillator
refactor: update BOP indicator properties to static and improve performance
2025-12-22 21:34:05 -08:00
Miha Kralj 4efa0e773e Enhance documentation and validation for various indicators 2025-12-22 20:42:26 -08:00
Miha Kralj 5bb8c122c0 chore: remove next-version entry from GitVersion.yml 2025-12-22 15:55:21 -08:00
Miha Kralj 31cca5557f fix: update return statement to use spread operator for TSeries in Adx and Adxr classes 2025-12-22 15:51:44 -08:00
Miha Kralj 2c114fdb08 feat: add timestamp handling in Adx and remove obsolete Pwma comparison tests 2025-12-22 15:41:09 -08:00
Miha Kralj 6bd0096297 feat: enhance validation tests for Aroon Oscillator and ADOSC 2025-12-22 15:31:38 -08:00
Miha Kralj d2a622bff9 test tolerances updated 2025-12-22 12:50:41 -08:00
Miha Kralj a7b7207801 Refactor documentation to remove "Zero-Allocation Design" sections across various trend indicators and implement a PowerShell script for automated cleanup
- Updated mathematical foundations and performance profiles where necessary to maintain clarity and coherence.
2025-12-21 14:37:44 -08:00
Miha Kralj 54c309e5cf feat: Implement Ehlers Ultimate Smoother Filter (USF) with documentation and tests 2025-12-20 15:57:38 -08:00
Miha Kralj d21fea3c18 feat: Enhance volume indicators with ADOSC and SSF implementation and validation 2025-12-20 15:08:07 -08:00
Miha Kralj 5549c7329a refactor: Remove Codecov upload step and update build process for Momentum, Trends, and Volume projects 2025-12-18 22:12:09 -08:00
Miha Kralj a37d5818be fix: Update ADL calculation to handle empty source and improve versioning in Publish.yml 2025-12-18 22:00:11 -08:00
Miha Kralj b5358091ae feat: Add Absolute Price Oscillator (APO) implementation and documentation
feat: Implement ADL (Accumulation/Distribution Line) indicator
2025-12-18 21:32:01 -08:00
Miha Kralj 35e5571237 docs 2025-12-18 13:51:06 -08:00
Miha Kralj 5d03dec741 Refactor documentation for clarity and detail 2025-12-17 23:00:52 -08:00
Miha Kralj 1084644a3d Add Aroon Indicator implementation and tests
- Implemented Aroon Indicator with constructor, initialization, and update methods.
- Added unit tests for AroonIndicator to verify default settings, historical depth, short name, source code link, and processing of historical bars.
- Created Aroon class for core calculations, including methods for updating with TBar and TBarSeries.
- Added validation tests to ensure Aroon calculations match results from Skender and TA-Lib.
- Updated documentation for Aroon Indicator with calculation methods and usage examples.
- Refactored Dema and Wma classes to use Batch methods for calculations.
- Enhanced performance benchmarks by increasing bar count and integrating OoplesFinance indicators.
- Updated project dependencies to include OoplesFinance.StockIndicators.
2025-12-17 13:18:25 -08:00
Miha Kralj 15c4e832ed chore: Update Qodana and Codecov action versions for consistency 2025-12-17 10:21:27 -08:00
Miha Kralj facc814ede chore: Update action versions in Publish.yml; improve .gitignore entries; refactor Alma, Super, and Trima classes for clarity and performance 2025-12-17 10:16:37 -08:00
Miha Kralj 80237b3b5a chore: Update Qodana and Codecov action versions in Publish.yml 2025-12-17 09:40:18 -08:00
Miha Kralj 1664d5d6dd chore: Remove obsolete test files and update dependencies in workflow 2025-12-17 08:01:57 -08:00
Miha Kralj 612d2d2c89 Refactor code structure for improved readability and maintainability 2025-12-17 07:51:53 -08:00
Miha Kralj 8cec2fec8d feat: Refactor TBar and TValue to record structs; improve readability and performance
fix: Update condition checks in Htit and Mgdi for better numerical stability
refactor: Simplify parameter struct in T3 and enhance Vidya state management
2025-12-17 07:27:45 -08:00
Miha Kralj d277e08056 refactoring 2025-12-16 21:16:50 -08:00