From 91f86678817975d8c35d32bc502103a45e601a0b Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 6 Jan 2021 09:57:36 +0100 Subject: [PATCH] DOn't update open orders in dry-run mode --- freqtrade/freqtradebot.py | 5 +++++ tests/test_freqtradebot.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py index d60b111f2..6dc8eacf9 100644 --- a/freqtrade/freqtradebot.py +++ b/freqtrade/freqtradebot.py @@ -246,6 +246,10 @@ class FreqtradeBot(LoggingMixin): Updates open orders based on order list kept in the database. Mainly updates the state of orders - but may also close trades """ + if self.config['dry_run']: + # Updating open orders in dry-run does not make sense and will fail. + return + orders = Order.get_open_orders() logger.info(f"Updating {len(orders)} open orders.") for order in orders: @@ -256,6 +260,7 @@ class FreqtradeBot(LoggingMixin): self.update_trade_state(order.trade, order.order_id, fo) except ExchangeError as e: + logger.warning(f"Error updating Order {order.order_id} due to {e}") def update_closed_trades_without_assigned_fees(self): diff --git a/tests/test_freqtradebot.py b/tests/test_freqtradebot.py index 12be5ae8b..5c5666788 100644 --- a/tests/test_freqtradebot.py +++ b/tests/test_freqtradebot.py @@ -4313,6 +4313,11 @@ def test_update_open_orders(mocker, default_conf, fee, caplog): create_mock_trades(fee) freqtrade.update_open_orders() + assert not log_has_re(r"Error updating Order .*", caplog) + + freqtrade.config['dry_run'] = False + freqtrade.update_open_orders() + assert log_has_re(r"Error updating Order .*", caplog) caplog.clear()