Merge pull request #4155 from freqtrade/fix_dry_open_order_update

Don't update open orders in dry-run mode
This commit is contained in:
Matthias 2021-01-06 10:52:39 +01:00 committed by GitHub
commit dfe9247c65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View File

@ -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):

View File

@ -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()