From cb55c81dbc43df83ef4d5b717fe22b4d04a93d2e Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Wed, 1 Apr 2026 18:44:20 +0900 Subject: feat(strategy): apply filters, conviction scoring, and ATR stops to all strategies --- services/strategy-engine/strategies/combined_strategy.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'services/strategy-engine/strategies/combined_strategy.py') diff --git a/services/strategy-engine/strategies/combined_strategy.py b/services/strategy-engine/strategies/combined_strategy.py index c70538d..be1cbed 100644 --- a/services/strategy-engine/strategies/combined_strategy.py +++ b/services/strategy-engine/strategies/combined_strategy.py @@ -60,11 +60,11 @@ class CombinedStrategy(BaseStrategy): signal = strategy.on_candle(candle) if signal is not None: if signal.side == OrderSide.BUY: - score += weight - reasons.append(f"{strategy.name}:BUY({weight})") + score += weight * signal.conviction + reasons.append(f"{strategy.name}:BUY({weight}*{signal.conviction:.2f})") elif signal.side == OrderSide.SELL: - score -= weight - reasons.append(f"{strategy.name}:SELL({weight})") + score -= weight * signal.conviction + reasons.append(f"{strategy.name}:SELL({weight}*{signal.conviction:.2f})") normalized = score / total_weight # Range: -1.0 to 1.0 -- cgit v1.2.3