From 100aa624ad3f8ad466a95f9da8af30f31f77cc9c Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Wed, 1 Apr 2026 16:24:30 +0900 Subject: fix: resolve lint issues and final integration fixes - Fix ambiguous variable name in binance_rest.py - Remove unused volumes variable in volume_profile_strategy.py - Fix import ordering in backtester main.py and test_metrics.py - Auto-format all files with ruff --- services/strategy-engine/tests/conftest.py | 1 + .../tests/test_bollinger_strategy.py | 2 +- .../tests/test_ema_crossover_strategy.py | 2 +- services/strategy-engine/tests/test_engine.py | 3 +- .../strategy-engine/tests/test_grid_strategy.py | 16 ++++--- .../strategy-engine/tests/test_macd_strategy.py | 2 +- .../strategy-engine/tests/test_plugin_loader.py | 2 +- .../strategy-engine/tests/test_rsi_strategy.py | 2 +- .../tests/test_volume_profile_strategy.py | 54 +++++++++++++++------- .../strategy-engine/tests/test_vwap_strategy.py | 2 +- 10 files changed, 55 insertions(+), 31 deletions(-) (limited to 'services/strategy-engine/tests') diff --git a/services/strategy-engine/tests/conftest.py b/services/strategy-engine/tests/conftest.py index c9ef308..eb31b23 100644 --- a/services/strategy-engine/tests/conftest.py +++ b/services/strategy-engine/tests/conftest.py @@ -1,4 +1,5 @@ """Pytest configuration: ensure strategies/ is importable.""" + import sys from pathlib import Path diff --git a/services/strategy-engine/tests/test_bollinger_strategy.py b/services/strategy-engine/tests/test_bollinger_strategy.py index b3d17ac..348a9e0 100644 --- a/services/strategy-engine/tests/test_bollinger_strategy.py +++ b/services/strategy-engine/tests/test_bollinger_strategy.py @@ -1,8 +1,8 @@ """Tests for the Bollinger Bands strategy.""" + from datetime import datetime, timezone from decimal import Decimal -import pytest from shared.models import Candle, OrderSide from strategies.bollinger_strategy import BollingerStrategy diff --git a/services/strategy-engine/tests/test_ema_crossover_strategy.py b/services/strategy-engine/tests/test_ema_crossover_strategy.py index 5a40319..0cf767b 100644 --- a/services/strategy-engine/tests/test_ema_crossover_strategy.py +++ b/services/strategy-engine/tests/test_ema_crossover_strategy.py @@ -1,8 +1,8 @@ """Tests for the EMA Crossover strategy.""" + from datetime import datetime, timezone from decimal import Decimal -import pytest from shared.models import Candle, OrderSide from strategies.ema_crossover_strategy import EmaCrossoverStrategy diff --git a/services/strategy-engine/tests/test_engine.py b/services/strategy-engine/tests/test_engine.py index 33ad4dd..ac9a596 100644 --- a/services/strategy-engine/tests/test_engine.py +++ b/services/strategy-engine/tests/test_engine.py @@ -1,4 +1,5 @@ """Tests for the StrategyEngine.""" + from datetime import datetime, timezone from decimal import Decimal from unittest.mock import AsyncMock, MagicMock @@ -6,7 +7,7 @@ from unittest.mock import AsyncMock, MagicMock import pytest from shared.models import Candle, Signal, OrderSide -from shared.events import CandleEvent, SignalEvent +from shared.events import CandleEvent from strategy_engine.engine import StrategyEngine diff --git a/services/strategy-engine/tests/test_grid_strategy.py b/services/strategy-engine/tests/test_grid_strategy.py index d96ebba..79eb22a 100644 --- a/services/strategy-engine/tests/test_grid_strategy.py +++ b/services/strategy-engine/tests/test_grid_strategy.py @@ -1,8 +1,8 @@ """Tests for the Grid strategy.""" + from datetime import datetime, timezone from decimal import Decimal -import pytest from shared.models import Candle, OrderSide from strategies.grid_strategy import GridStrategy @@ -23,12 +23,14 @@ def make_candle(close: float) -> Candle: def _configured_strategy() -> GridStrategy: strategy = GridStrategy() - strategy.configure({ - "lower_price": 48000, - "upper_price": 52000, - "grid_count": 5, - "quantity": "0.01", - }) + strategy.configure( + { + "lower_price": 48000, + "upper_price": 52000, + "grid_count": 5, + "quantity": "0.01", + } + ) return strategy diff --git a/services/strategy-engine/tests/test_macd_strategy.py b/services/strategy-engine/tests/test_macd_strategy.py index e1ae2a3..9931b43 100644 --- a/services/strategy-engine/tests/test_macd_strategy.py +++ b/services/strategy-engine/tests/test_macd_strategy.py @@ -1,8 +1,8 @@ """Tests for the MACD strategy.""" + from datetime import datetime, timezone from decimal import Decimal -import pytest from shared.models import Candle, OrderSide from strategies.macd_strategy import MacdStrategy diff --git a/services/strategy-engine/tests/test_plugin_loader.py b/services/strategy-engine/tests/test_plugin_loader.py index 9496bab..5191fc3 100644 --- a/services/strategy-engine/tests/test_plugin_loader.py +++ b/services/strategy-engine/tests/test_plugin_loader.py @@ -1,7 +1,7 @@ """Tests for the plugin loader.""" + from pathlib import Path -import pytest from strategy_engine.plugin_loader import load_strategies diff --git a/services/strategy-engine/tests/test_rsi_strategy.py b/services/strategy-engine/tests/test_rsi_strategy.py index 90fface..2a2f4e7 100644 --- a/services/strategy-engine/tests/test_rsi_strategy.py +++ b/services/strategy-engine/tests/test_rsi_strategy.py @@ -1,8 +1,8 @@ """Tests for the RSI strategy.""" + from datetime import datetime, timezone from decimal import Decimal -import pytest from shared.models import Candle, OrderSide from strategies.rsi_strategy import RsiStrategy diff --git a/services/strategy-engine/tests/test_volume_profile_strategy.py b/services/strategy-engine/tests/test_volume_profile_strategy.py index be123b0..71f0eca 100644 --- a/services/strategy-engine/tests/test_volume_profile_strategy.py +++ b/services/strategy-engine/tests/test_volume_profile_strategy.py @@ -1,8 +1,8 @@ """Tests for the Volume Profile strategy.""" + from datetime import datetime, timezone from decimal import Decimal -import pytest from shared.models import Candle, OrderSide from strategies.volume_profile_strategy import VolumeProfileStrategy @@ -39,17 +39,27 @@ def test_volume_profile_no_signal_insufficient_data(): def test_volume_profile_buy_at_value_area_low(): """Concentrate volume around 95-105, price drops to 88, bounces back to 99.""" strategy = VolumeProfileStrategy() - strategy.configure({ - "lookback_period": 10, - "num_bins": 5, - "value_area_pct": 0.7, - "quantity": "0.01", - }) + strategy.configure( + { + "lookback_period": 10, + "num_bins": 5, + "value_area_pct": 0.7, + "quantity": "0.01", + } + ) # Build profile: 10 candles with volume concentrated around 95-105 profile_data = [ - (95, 50), (97, 50), (99, 100), (100, 100), (101, 100), - (103, 50), (105, 50), (100, 100), (99, 100), (101, 50), + (95, 50), + (97, 50), + (99, 100), + (100, 100), + (101, 100), + (103, 50), + (105, 50), + (100, 100), + (99, 100), + (101, 50), ] for price, vol in profile_data: strategy.on_candle(make_candle(price, vol)) @@ -67,17 +77,27 @@ def test_volume_profile_buy_at_value_area_low(): def test_volume_profile_sell_at_value_area_high(): """Concentrate volume around 95-105, price rises to 112, pulls back to 101.""" strategy = VolumeProfileStrategy() - strategy.configure({ - "lookback_period": 10, - "num_bins": 5, - "value_area_pct": 0.7, - "quantity": "0.01", - }) + strategy.configure( + { + "lookback_period": 10, + "num_bins": 5, + "value_area_pct": 0.7, + "quantity": "0.01", + } + ) # Build profile: 10 candles with volume concentrated around 95-105 profile_data = [ - (95, 50), (97, 50), (99, 100), (100, 100), (101, 100), - (103, 50), (105, 50), (100, 100), (99, 100), (101, 50), + (95, 50), + (97, 50), + (99, 100), + (100, 100), + (101, 100), + (103, 50), + (105, 50), + (100, 100), + (99, 100), + (101, 50), ] for price, vol in profile_data: strategy.on_candle(make_candle(price, vol)) diff --git a/services/strategy-engine/tests/test_vwap_strategy.py b/services/strategy-engine/tests/test_vwap_strategy.py index 37d35bc..5d76b04 100644 --- a/services/strategy-engine/tests/test_vwap_strategy.py +++ b/services/strategy-engine/tests/test_vwap_strategy.py @@ -1,8 +1,8 @@ """Tests for the VWAP strategy.""" + from datetime import datetime, timezone from decimal import Decimal -import pytest from shared.models import Candle, OrderSide from strategies.vwap_strategy import VwapStrategy -- cgit v1.2.3