From a9bbc45ba5a76432213d260d42191a8f24a68cc6 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 3 Feb 2026 07:16:41 +0100 Subject: [PATCH] fix(migration): stake should be non-leveraged. --- freqtrade/data/btanalysis/trade_parallelism.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/freqtrade/data/btanalysis/trade_parallelism.py b/freqtrade/data/btanalysis/trade_parallelism.py index 22a63e14d..d03c8eb48 100644 --- a/freqtrade/data/btanalysis/trade_parallelism.py +++ b/freqtrade/data/btanalysis/trade_parallelism.py @@ -123,16 +123,17 @@ def balance_distribution_over_time( filled_at = pd.Timestamp(dt_from_ts(order["order_filled_timestamp"])) real_amount = order.get("filled", order["amount"]) stake = order["safe_price"] * real_amount + stake_no_lev = stake / trade.leverage if order["ft_is_entry"]: fee = stake * trade.fee_open df.loc[filled_at:end_date, pair] += real_amount - df.loc[filled_at:end_date, f"{pair}_collateral"] += stake / trade.leverage - df.loc[filled_at:, stake_currency] -= stake + fee + df.loc[filled_at:end_date, f"{pair}_collateral"] += stake_no_lev + df.loc[filled_at:, stake_currency] -= stake_no_lev + fee else: fee = stake * trade.fee_close df.loc[filled_at:end_date, pair] -= real_amount - df.loc[filled_at:end_date, f"{pair}_collateral"] -= stake / trade.leverage - df.loc[filled_at:, stake_currency] += stake - fee + df.loc[filled_at:end_date, f"{pair}_collateral"] -= stake_no_lev + df.loc[filled_at:, stake_currency] += stake_no_lev - fee # Round to avoid floating point issues df = df.round(14)