From a8218feea8e638797414fed260a30326d5d724cf Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 28 May 2022 10:07:23 +0200 Subject: [PATCH] Small cleanups --- freqtrade/freqtradebot.py | 1 + freqtrade/persistence/trade_model.py | 8 ++++---- .../templates/subtemplates/strategy_methods_advanced.j2 | 2 +- tests/test_freqtradebot.py | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index 3dd8b0c9d..5e4a37fe4 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -1540,6 +1540,7 @@ class FreqtradeBot(LoggingMixin): profit_rate = order.safe_price if not fill: + # TODO: this call is wrong here. trade.process_exit_sub_trade(order, is_closed=False) profit_ratio = trade.close_profit diff --git a/freqtrade/persistence/trade_model.py b/freqtrade/persistence/trade_model.py index 45d2c74b8..f3f8878f2 100644 --- a/freqtrade/persistence/trade_model.py +++ b/freqtrade/persistence/trade_model.py @@ -632,6 +632,9 @@ class LocalTrade(): Trade.commit() def process_exit_sub_trade(self, order: Order, is_closed: bool = True) -> None: + """ + Recalculate trade amount and realized profit after partial exit + """ exit_amount = order.safe_amount_after_fee exit_rate = order.safe_price exit_stake_amount = exit_rate * exit_amount * (1 - self.fee_close) @@ -642,10 +645,7 @@ class LocalTrade(): self.amount -= exit_amount self.stake_amount = self.open_rate * self.amount self.realized_profit += profit - logger.info( - 'Processed exit sub trade for %s', - self - ) + # logger.info(f"Processed exit sub trade for {self}") self.close_profit_abs = profit if self.is_short: self.close_profit = (exit_stake_amount - profit) / exit_stake_amount - 1 diff --git a/freqtrade/templates/subtemplates/strategy_methods_advanced.j2 b/freqtrade/templates/subtemplates/strategy_methods_advanced.j2 index 0187fa79b..f12319d61 100644 --- a/freqtrade/templates/subtemplates/strategy_methods_advanced.j2 +++ b/freqtrade/templates/subtemplates/strategy_methods_advanced.j2 @@ -243,7 +243,7 @@ def check_exit_timeout(self, pair: str, trade: 'Trade', order: 'Order', """ return False -def adjust_trade_position(self, trade: Trade, current_time: datetime, +def adjust_trade_position(self, trade: 'Trade', current_time: datetime, current_rate: float, current_profit: float, min_stake: Optional[float], max_stake: float, current_entry_rate: float, current_exit_rate: float, diff --git a/tests/test_freqtradebot.py b/tests/test_freqtradebot.py index 7e15ac8c1..cfb9261e1 100644 --- a/tests/test_freqtradebot.py +++ b/tests/test_freqtradebot.py @@ -5860,4 +5860,4 @@ def test_check_and_call_adjust_trade_position(mocker, default_conf_usdt, fee, ca freqtrade.strategy.adjust_trade_position = MagicMock(return_value=-10) freqtrade.process_open_trade_positions() - assert log_has_re(r"Processed exit sub trade for .*", caplog) + # assert log_has_re(r"Processed exit sub trade for .*", caplog)