From 418acb7034c74dc01fa6d4d2d2772ae805a8f8ba Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 20 Jun 2025 15:50:19 +0200 Subject: [PATCH] chore: exclude open orders from balance calculation --- freqtrade/data/btanalysis/trade_parallelism.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/freqtrade/data/btanalysis/trade_parallelism.py b/freqtrade/data/btanalysis/trade_parallelism.py index b68692cf9..b8f119786 100644 --- a/freqtrade/data/btanalysis/trade_parallelism.py +++ b/freqtrade/data/btanalysis/trade_parallelism.py @@ -87,7 +87,9 @@ def balance_distribution_over_time( df[stake_currency] = float(start_balance) df[pairlist] = 0.0 for trade in trades.sort_values(by=["open_date"]).itertuples(): - for order in sorted(trade.orders, key=lambda x: x["order_filled_timestamp"]): + # Exclude open orders - these won't have order_filled_timestamp set. + orders = [o for o in trade.orders if o["order_filled_timestamp"]] + for order in sorted(orders, key=lambda x: x["order_filled_timestamp"]): filled_at = pd.Timestamp(dt_from_ts(order["order_filled_timestamp"])) real_amount = order["amount"] / trade.leverage stake = order["safe_price"] * real_amount