4 Commits

Author SHA1 Message Date
Ryan Crowley 553bd3993a Add optional strict parameter to PivotPointsHighLow indicator (#9033)
* Add optional strict parameter to PivotPointsHighLow indicator for relaxed comparison

- Added bool strict parameter (default true) to PivotPointsHighLow constructors
- When strict=true: Uses strict inequalities (> and <) - existing behavior
- When strict=false: Uses relaxed inequalities (>= and <=) - allows equal values
- Updated comparison logic in FindNextLowPivotPoint and FindNextHighPivotPoint
- Added new PPHL overload in QCAlgorithm.Indicators.cs with strict parameter
- Added 5 comprehensive unit tests using TestCase attributes
- All tests pass (19/19 relevant tests)
- Backwards compatible: default behavior unchanged

Addresses #8881

* Fix PPHL method signature to resolve overload ambiguity and maintain API consistency

- Remove wrapper overload to eliminate compilation ambiguity
- Reorder parameters: strict parameter now before resolution
- Keep selector as last parameter (consistent with other indicator helpers)
- Add unit tests verifying no overload ambiguity and correct strict parameter behavior

Addresses PR review feedback on #9033

* Implement backward-compatible PPHL overloads to support strict parameter

Added a second overload to maintain backward compatibility while introducing
the strict parameter. This prevents breaking changes for existing code that
uses positional arguments with the PPHL helper method.

Changes:
- Added backward-compatible overload that accepts (symbol, lengthHigh, lengthLow,
  lastStoredValues, resolution, selector) and delegates to the new implementation
  with strict: true
- Kept the new overload with strict parameter as the primary implementation
- Added comprehensive test (QCAlgorithmHelperOverloadResolution) documenting all
  9 valid call patterns to prevent future regressions

This approach ensures:
- Existing calls like PPHL(symbol, 3, 3, 100, Resolution.Minute) continue to work
- New calls like PPHL(symbol, 3, 3, strict: false) are supported
- No ambiguity in overload resolution
- All 23 PPHL tests pass successfully

* Clean up some test duplication

---------

Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
2025-10-22 09:26:24 -03:00
Louis Szeto c1db23250e Update enum values in comments (#6460)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
2022-07-05 10:29:28 -03:00
bmello4688 67081a8a05 Add virtual overrides for pivotpointshighlow computations (#5987)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Add base class for pivotpointshighlow

* abstracts do not work well with python switch to virtuals and use pivotpointhighlow as base implementation

* added missing documentatino header

* moved reset back to original location
2021-10-19 21:45:18 -03:00
IlshatGaripov c384fe0e2a Implements PivotPointsHighLow indicator + tests (#5352)
Build & Test Lean / build (push) Has been cancelled
* Implements PivotPointsHighLow indicator + tests

# Conflicts:
#	Tests/QuantConnect.Tests.csproj

* Some fixes

* Refactoring + Adds NewPivotPointFormed event

* Fixing tests

* Some fixes for the Get methods to not throw when points array is empty

* To address review + more fixes

* Fixing xml comments typos

* Implements separate rolling windows to calculate highs and low

* Makes the number of last stored indicator values as an input parameter

* Overrides Reset()

* Adds a helper method

* Change numerical return to Enum types

* Changes IsReady condition :

the indicator is ready and starts calculating the pivot point when any of the rollings is ready

* Address reviews

Co-authored-by: Martin-Molinero <martin@quantconnect.com>
2021-05-24 11:09:07 -03:00