From c9403eb9464543d4b1ea50485b4c4f70c3c5914a Mon Sep 17 00:00:00 2001 From: Stefano Date: Fri, 22 Aug 2025 08:40:14 +0900 Subject: [PATCH] fix calc_profit_ratio to correctly fallback to available values when amount or open_rate is None --- freqtrade/persistence/trade_model.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/freqtrade/persistence/trade_model.py b/freqtrade/persistence/trade_model.py index ee1f9d9ff..a60ecbf34 100644 --- a/freqtrade/persistence/trade_model.py +++ b/freqtrade/persistence/trade_model.py @@ -1181,15 +1181,19 @@ class LocalTrade: """ Calculates the profit as ratio (including fee). :param rate: rate to compare with. - :param amount: Amount to use for the calculation. Falls back to trade.amount if not set. + :param amount: Amount to use for the calculation. Falls back to self.amount if not set. :param open_rate: open_rate to use. Defaults to self.open_rate if not provided. :return: profit ratio as float """ close_trade_value = self.calc_close_trade_value(rate, amount) - if amount is None or open_rate is None: + if (amount is None) and (open_rate is None): open_trade_value = self.open_trade_value else: + if amount is None: + amount = self.amount + if open_rate is None: + open_rate = self.open_rate open_trade_value = self._calc_open_trade_value(amount, open_rate) if open_trade_value == 0.0: