Dry-run orders should have filled set correctly
This commit is contained in:
parent
caea8967d5
commit
6684bff963
@ -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)
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user