summaryrefslogtreecommitdiff
path: root/services/strategy-engine/tests/test_base_filters.py
diff options
context:
space:
mode:
Diffstat (limited to 'services/strategy-engine/tests/test_base_filters.py')
-rw-r--r--services/strategy-engine/tests/test_base_filters.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/services/strategy-engine/tests/test_base_filters.py b/services/strategy-engine/tests/test_base_filters.py
index 97d9e16..3e55973 100644
--- a/services/strategy-engine/tests/test_base_filters.py
+++ b/services/strategy-engine/tests/test_base_filters.py
@@ -1,11 +1,12 @@
"""Tests for BaseStrategy filters (ADX, volume, ATR stops)."""
+
import sys
from pathlib import Path
+
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from decimal import Decimal
from datetime import datetime, timezone
-import pytest
from shared.models import Candle, Signal, OrderSide
from strategies.base import BaseStrategy
@@ -28,9 +29,12 @@ class DummyStrategy(BaseStrategy):
def on_candle(self, candle: Candle) -> Signal | None:
self._update_filter_data(candle)
signal = Signal(
- strategy=self.name, symbol=candle.symbol,
- side=OrderSide.BUY, price=candle.close,
- quantity=self._quantity, reason="test",
+ strategy=self.name,
+ symbol=candle.symbol,
+ side=OrderSide.BUY,
+ price=candle.close,
+ quantity=self._quantity,
+ reason="test",
)
return self._apply_filters(signal)
@@ -39,10 +43,13 @@ def _candle(price=100.0, volume=10.0, high=None, low=None):
h = high if high is not None else price + 5
lo = low if low is not None else price - 5
return Candle(
- symbol="BTCUSDT", timeframe="1h",
+ symbol="BTCUSDT",
+ timeframe="1h",
open_time=datetime(2025, 1, 1, tzinfo=timezone.utc),
- open=Decimal(str(price)), high=Decimal(str(h)),
- low=Decimal(str(lo)), close=Decimal(str(price)),
+ open=Decimal(str(price)),
+ high=Decimal(str(h)),
+ low=Decimal(str(lo)),
+ close=Decimal(str(price)),
volume=Decimal(str(volume)),
)