diff options
Diffstat (limited to 'services/strategy-engine/strategies/bollinger_strategy.py')
| -rw-r--r-- | services/strategy-engine/strategies/bollinger_strategy.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/strategy-engine/strategies/bollinger_strategy.py b/services/strategy-engine/strategies/bollinger_strategy.py index bee7ee4..4aceee4 100644 --- a/services/strategy-engine/strategies/bollinger_strategy.py +++ b/services/strategy-engine/strategies/bollinger_strategy.py @@ -29,6 +29,13 @@ class BollingerStrategy(BaseStrategy): self._min_bandwidth = float(params.get("min_bandwidth", 0.02)) self._quantity = Decimal(str(params.get("quantity", "0.01"))) + if self._period < 2: + raise ValueError(f"Bollinger period must be >= 2, got {self._period}") + if self._num_std <= 0: + raise ValueError(f"Bollinger num_std must be > 0, got {self._num_std}") + if self._quantity <= 0: + raise ValueError(f"Quantity must be positive, got {self._quantity}") + def reset(self) -> None: self._closes.clear() self._was_below_lower = False |
