Dry-run orders should have filled set correctly

This commit is contained in:
Matthias 2022-01-15 15:23:08 +01:00
parent caea8967d5
commit 6684bff963
2 changed files with 6 additions and 0 deletions

View File

@ -612,6 +612,7 @@ class Exchange:
'cost': _amount * rate, 'cost': _amount * rate,
'type': ordertype, 'type': ordertype,
'side': side, 'side': side,
'filled': 0,
'remaining': _amount, 'remaining': _amount,
'datetime': arrow.utcnow().isoformat(), 'datetime': arrow.utcnow().isoformat(),
'timestamp': arrow.utcnow().int_timestamp * 1000, 'timestamp': arrow.utcnow().int_timestamp * 1000,
@ -627,6 +628,7 @@ class Exchange:
average = self.get_dry_market_fill_price(pair, side, amount, rate) average = self.get_dry_market_fill_price(pair, side, amount, rate)
dry_order.update({ dry_order.update({
'average': average, 'average': average,
'filled': _amount,
'cost': dry_order['amount'] * average, 'cost': dry_order['amount'] * average,
}) })
dry_order = self.add_dry_order_fee(pair, dry_order) dry_order = self.add_dry_order_fee(pair, dry_order)

View File

@ -1018,6 +1018,7 @@ def test_create_dry_run_order_limit_fill(default_conf, mocker, side, startprice,
assert order_book_l2_usd.call_count == 1 assert order_book_l2_usd.call_count == 1
assert order_closed['status'] == 'open' assert order_closed['status'] == 'open'
assert not order['fee'] assert not order['fee']
assert order_closed['filled'] == 0
order_book_l2_usd.reset_mock() order_book_l2_usd.reset_mock()
order_closed['price'] = endprice order_closed['price'] = endprice
@ -1025,6 +1026,8 @@ def test_create_dry_run_order_limit_fill(default_conf, mocker, side, startprice,
order_closed = exchange.fetch_dry_run_order(order['id']) order_closed = exchange.fetch_dry_run_order(order['id'])
assert order_closed['status'] == 'closed' assert order_closed['status'] == 'closed'
assert order['fee'] assert order['fee']
assert order_closed['filled'] == 1
assert order_closed['filled'] == order_closed['amount']
# Empty orderbook test # Empty orderbook test
mocker.patch('freqtrade.exchange.Exchange.fetch_l2_order_book', mocker.patch('freqtrade.exchange.Exchange.fetch_l2_order_book',
@ -1064,6 +1067,7 @@ def test_create_dry_run_order_market_fill(default_conf, mocker, side, rate, amou
assert order["type"] == "market" assert order["type"] == "market"
assert order["symbol"] == "LTC/USDT" assert order["symbol"] == "LTC/USDT"
assert order['status'] == 'closed' assert order['status'] == 'closed'
assert order['filled'] == amount
assert round(order["average"], 4) == round(endprice, 4) assert round(order["average"], 4) == round(endprice, 4)