checked average_price

This commit is contained in:
மனோஜ்குமார் பழனிச்சாமி 2022-04-03 18:03:04 +05:30
parent d038a1865b
commit a3c579c3d2
4 changed files with 17 additions and 14 deletions

View File

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

View File

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

View File

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

View File

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