Just in case also check for closed to avoid counting in canceled orders.

This commit is contained in:
Reigo Reinmets 2022-01-23 17:56:41 +02:00
parent 8c79d55739
commit 51b94889b2
2 changed files with 3 additions and 2 deletions

View File

@ -587,7 +587,7 @@ class LocalTrade():
tmp_price = o.average or o.price or 0.0
if o.filled is not None:
tmp_amount = o.filled
if tmp_amount > 0.0 and tmp_price is not None:
if tmp_amount > 0.0 and tmp_price is not None and o.status == 'closed':
total_amount += tmp_amount
total_stake += tmp_price * tmp_amount

View File

@ -243,6 +243,8 @@ def test_dca_buying(default_conf_usdt, ticker_usdt, fee, mocker) -> None:
freqtrade.process()
trade = Trade.get_trades().first()
assert len(trade.orders) == 2
for o in trade.orders:
assert o.status == "closed"
assert trade.stake_amount == 120
# Open-rate averaged between 2.0 and 2.0 * 0.995
@ -258,7 +260,6 @@ def test_dca_buying(default_conf_usdt, ticker_usdt, fee, mocker) -> None:
assert trade.orders[1].amount == 60 / ticker_usdt_modif['bid']
assert trade.amount == trade.orders[0].amount + trade.orders[1].amount
assert trade.nr_of_successful_buys == 2
# Sell