diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2026-04-01 18:44:20 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2026-04-01 18:44:20 +0900 |
| commit | cb55c81dbc43df83ef4d5b717fe22b4d04a93d2e (patch) | |
| tree | 26ef6f6a89233fa8cf74ea6467b07f1158d75ff1 /services/strategy-engine/strategies/combined_strategy.py | |
| parent | 0b0aace94fa633cd7a90c95ee89658167a8afd35 (diff) | |
feat(strategy): apply filters, conviction scoring, and ATR stops to all strategies
Diffstat (limited to 'services/strategy-engine/strategies/combined_strategy.py')
| -rw-r--r-- | services/strategy-engine/strategies/combined_strategy.py | 8 |
1 files changed, 4 insertions, 4 deletions
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 |
