Fix failing test

pull/6467/head
Matthias 4 years ago
parent 478d440e80
commit 1c4a7c25d7

@ -569,8 +569,9 @@ def test_backtest__enter_trade_futures(default_conf_usdt, fee, mocker) -> None:
mocker.patch('freqtrade.exchange.Exchange.get_fee', fee)
mocker.patch("freqtrade.exchange.Exchange.get_min_pair_stake_amount", return_value=0.00001)
mocker.patch("freqtrade.exchange.Exchange.get_max_pair_stake_amount", return_value=float('inf'))
mocker.patch("freqtrade.exchange.Exchange.get_max_leverage", return_value=100)
patch_exchange(mocker)
default_conf_usdt['stake_amount'] = 'unlimited'
default_conf_usdt['stake_amount'] = 300
default_conf_usdt['max_open_trades'] = 2
default_conf_usdt['trading_mode'] = 'futures'
default_conf_usdt['margin_mode'] = 'isolated'
@ -602,17 +603,20 @@ def test_backtest__enter_trade_futures(default_conf_usdt, fee, mocker) -> None:
# cum_b = 0.01
# side_1: -1 if is_short else 1
#
# Binance, Short
# Binance, Long
# ((wb + cum_b) - (side_1 * position * ep1)) / ((position * mmr_b) - (side_1 * position))
# ((60 + 0.01) - ((-1) * 60000 * 0.001)) / ((60000 * 0.01) - ((-1) * 60000)) = 0.00198036303630
# ((300 + 0.01) - (1 * 150000 * 0.001)) / ((150000 * 0.01) - (1 * 150000)) = -0.00101016835
# TODO-lev: is the above formula correct?
# The values inserted above seem correct, but the result is different.
trade = backtesting._enter_trade(pair, row=row, direction='long')
assert pytest.approx(trade.isolated_liq) == 0.0019803630363036304
assert pytest.approx(trade.isolated_liq) == 0.00081767037
# Binance, Long
# Binance, Short
# ((wb + cum_b) - (side_1 * position * ep1)) / ((position * mmr_b) - (side_1 * position))
# ((60 + 0.01) - (1 * 60000 * 0.001)) / ((60000 * 0.01) - (1 * 60000)) = -1.6835016835013486e-07
# ((300 + 0.01) - ((-1) * 150000 * 0.001)) / ((150000 * 0.01) - ((-1) * 150000)) = 0.002970363
trade = backtesting._enter_trade(pair, row=row, direction='short')
assert pytest.approx(trade.isolated_liq) == -1.6835016835013486e-07
assert pytest.approx(trade.isolated_liq) == 0.0011787191
# Stake-amount too high!
mocker.patch("freqtrade.exchange.Exchange.get_min_pair_stake_amount", return_value=600.0)

Loading…
Cancel
Save