From e4804c1fe6113259d70997c1c5ba39f790ba8148 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sat, 8 Nov 2025 23:34:54 +0100 Subject: [PATCH] fix(qav3): fix exit stage number computation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../user_data/strategies/QuickAdapterV3.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 80ead4c..23de0f2 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -811,15 +811,13 @@ class QuickAdapterV3(IStrategy): @staticmethod def get_trade_exit_stage(trade: Trade) -> int: - exit_side = "buy" if trade.is_short else "sell" - try: - return sum( - 1 - for order in trade.orders - if order.side == exit_side and order.status in {"open", "closed"} + n_open_orders = 0 + if trade.has_open_orders: + exit_side = "buy" if trade.is_short else "sell" + n_open_orders = sum( + 1 for open_order in trade.open_orders if open_order.side == exit_side ) - except Exception: - return 0 + return trade.nr_of_successful_exits + n_open_orders @staticmethod @lru_cache(maxsize=128) -- 2.43.0