From 993b05d1abd1988b1cf5a3fd1f8edc47c0f0a030 Mon Sep 17 00:00:00 2001 From: Kavinkumar <33546454+mkavinkumar1@users.noreply.github.com> Date: Sun, 27 Feb 2022 12:02:08 +0530 Subject: [PATCH] rpc fix --- freqtrade/freqtradebot.py | 7 ++++--- freqtrade/persistence/models.py | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index c22d99a2d..294f659c6 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -690,6 +690,7 @@ class FreqtradeBot(LoggingMixin): Sends rpc notification when a buy occurred. """ open_rate = safe_value_fallback(order, 'average', 'price') + amount = order.get('filled') or order.get('amount') if open_rate is None: open_rate = trade.open_rate @@ -709,7 +710,7 @@ class FreqtradeBot(LoggingMixin): 'stake_amount': trade.stake_amount, 'stake_currency': self.config['stake_currency'], 'fiat_currency': self.config.get('fiat_display_currency', None), - 'amount': order.get('amount') if fill else order.get('filled'), + 'amount': order.get('amount') if fill else amount, 'open_date': trade.open_date or datetime.utcnow(), 'current_rate': current_rate, 'sub_trade': sub_trade, @@ -1257,9 +1258,9 @@ class FreqtradeBot(LoggingMixin): if sub_trade: amount = order.get('filled') or order.get('amount') or 0 profit_rate = order.get('average') or order.get('price') or 0 - profit = self.close_profit_abs open_rate = trade.get_open_rate(profit, profit_rate, amount) - profit_ratio = self.close_profit + profit_ratio = trade.close_profit + profit = trade.close_profit_abs else: profit_rate = trade.close_rate if trade.close_rate else trade.close_rate_requested profit = trade.calc_profit(rate=profit_rate) diff --git a/freqtrade/persistence/models.py b/freqtrade/persistence/models.py index ea8158927..47b0cddb5 100644 --- a/freqtrade/persistence/models.py +++ b/freqtrade/persistence/models.py @@ -717,9 +717,9 @@ class LocalTrade(): :param is_open: Only search for open orders? :return: latest Order object if it exists, else None """ - orders = self.orders + orders = [o for o in self.orders if not o.is_fully_realized] if order_side: - orders = [o for o in self.orders if o.ft_order_side == order_side] + orders = [o for o in orders if o.ft_order_side == order_side] if is_open is not None: orders = [o for o in orders if o.ft_is_open == is_open] if len(orders) > 0: