checked average_price
This commit is contained in:
parent
d038a1865b
commit
a3c579c3d2
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user