diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 753b75a98..c4b2914d1 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -878,7 +878,7 @@ class Exchange: return rate def _fill_dry_limit_order(self, pair: str, side: str, # noqa: max-complexity: 13 - limit: float, given_amount: float) -> Tuple[Optional[float], float]: + limit: float, given_amount: float) -> Tuple[Optional[float], float]: """ Returns average price and filled amount """ @@ -927,7 +927,7 @@ class Exchange: average_price, filled_amount = self._fill_dry_limit_order( pair, order['side'], order['price'], order['remaining']) - if filled_amount: + if average_price: order['remaining'] -= filled_amount order_cost = order['average'] * order['filled'] + average_price * filled_amount order['filled'] += filled_amount diff --git a/tests/rpc/test_rpc.py b/tests/rpc/test_rpc.py index a5ec18873..f6ac287db 100644 --- a/tests/rpc/test_rpc.py +++ b/tests/rpc/test_rpc.py @@ -825,7 +825,8 @@ def test_rpc_forceexit(default_conf, ticker, fee, mocker) -> None: freqtradebot.state = State.RUNNING assert cancel_order_mock.call_count == 0 mocker.patch( - 'freqtrade.exchange.Exchange._fill_dry_limit_order', MagicMock(side_effect=lambda *_: (None, 0)),) + 'freqtrade.exchange.Exchange._fill_dry_limit_order', + MagicMock(side_effect=lambda *_: (None, 0)),) freqtradebot.enter_positions() # make an limit-buy open trade trade = Trade.query.filter(Trade.id == '3').first() diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index bd5c61fe2..260d7c7a8 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -1186,7 +1186,7 @@ def test_api_forcesell(botclient, mocker, ticker, fee, markets): fetch_ticker=ticker, get_fee=fee, markets=PropertyMock(return_value=markets), - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) patch_get_signal(ftbot) diff --git a/tests/test_freqtradebot.py b/tests/test_freqtradebot.py index b5a90f1bd..e870da3a2 100644 --- a/tests/test_freqtradebot.py +++ b/tests/test_freqtradebot.py @@ -259,7 +259,7 @@ def test_total_open_trades_stakes(mocker, default_conf_usdt, ticker_usdt, fee) - 'freqtrade.exchange.Exchange', fetch_ticker=ticker_usdt, get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) freqtrade = FreqtradeBot(default_conf_usdt) patch_get_signal(freqtrade) @@ -294,7 +294,7 @@ def test_create_trade(default_conf_usdt, ticker_usdt, limit_order, 'freqtrade.exchange.Exchange', fetch_ticker=ticker_usdt, get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) # Save state of current whitelist @@ -3056,7 +3056,7 @@ def test_execute_trade_exit_up(default_conf_usdt, ticker_usdt, fee, ticker_usdt_ 'freqtrade.exchange.Exchange', fetch_ticker=ticker_usdt, get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) patch_whitelist(mocker, default_conf_usdt) freqtrade = FreqtradeBot(default_conf_usdt) @@ -3135,7 +3135,7 @@ def test_execute_trade_exit_down(default_conf_usdt, ticker_usdt, fee, ticker_usd 'freqtrade.exchange.Exchange', fetch_ticker=ticker_usdt, get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) patch_whitelist(mocker, default_conf_usdt) freqtrade = FreqtradeBot(default_conf_usdt) @@ -3200,7 +3200,7 @@ def test_execute_trade_exit_custom_exit_price( 'freqtrade.exchange.Exchange', fetch_ticker=ticker_usdt, get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) config = deepcopy(default_conf_usdt) config['custom_price_max_distance_ratio'] = 0.1 @@ -3277,7 +3277,7 @@ def test_execute_trade_exit_down_stoploss_on_exchange_dry_run( 'freqtrade.exchange.Exchange', fetch_ticker=ticker_usdt, get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) patch_whitelist(mocker, default_conf_usdt) freqtrade = FreqtradeBot(default_conf_usdt) @@ -3392,7 +3392,8 @@ def test_execute_trade_exit_with_stoploss_on_exchange( price_to_precision=lambda s, x, y: y, stoploss=stoploss, cancel_stoploss_order=cancel_order, - _fill_dry_limit_order=MagicMock(side_effect=SideEffect(lambda *_: _[-2:], lambda *_: (None, 0))), + _fill_dry_limit_order=MagicMock( + side_effect=SideEffect(lambda *_: _[-2:], lambda *_: (None, 0))), ) freqtrade = FreqtradeBot(default_conf_usdt) @@ -3441,7 +3442,8 @@ def test_may_execute_trade_exit_after_stoploss_on_exchange_hit( get_fee=fee, amount_to_precision=lambda s, x, y: y, price_to_precision=lambda s, x, y: y, - _fill_dry_limit_order=MagicMock(side_effect=SideEffect(lambda *_: (None, 0), lambda *_: _[-2:])), + _fill_dry_limit_order=MagicMock( + side_effect=SideEffect(lambda *_: (None, 0), lambda *_: _[-2:])), ) stoploss = MagicMock(return_value={ @@ -3541,7 +3543,7 @@ def test_execute_trade_exit_market_order( 'freqtrade.exchange.Exchange', fetch_ticker=ticker_usdt, get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) patch_whitelist(mocker, default_conf_usdt) freqtrade = FreqtradeBot(default_conf_usdt) @@ -4050,7 +4052,7 @@ def test_disable_ignore_roi_if_buy_signal(default_conf_usdt, limit_order, limit_ {'id': 1234553383} ]), get_fee=fee, - _fill_dry_limit_order=MagicMock(side_effect=lambda *_ :(None, 0)), + _fill_dry_limit_order=MagicMock(side_effect=lambda *_: (None, 0)), ) default_conf_usdt['exit_pricing'] = { 'ignore_roi_if_buy_signal': False