Define liquidation price only once in adjustment test
This commit is contained in:
@@ -154,12 +154,13 @@ def test_backtest_position_adjustment_detailed(default_conf, fee, mocker, levera
|
|||||||
|
|
||||||
trade = backtesting._get_adjust_trade_entry_for_candle(trade, row, current_time)
|
trade = backtesting._get_adjust_trade_entry_for_candle(trade, row, current_time)
|
||||||
|
|
||||||
|
liq_price = 0.1038916 if leverage == 1 else 1.2127791
|
||||||
assert trade
|
assert trade
|
||||||
assert pytest.approx(trade.stake_amount) == 200.0
|
assert pytest.approx(trade.stake_amount) == 200.0
|
||||||
assert pytest.approx(trade.amount) == 95.23809524 * leverage
|
assert pytest.approx(trade.amount) == 95.23809524 * leverage
|
||||||
assert len(trade.orders) == 2
|
assert len(trade.orders) == 2
|
||||||
assert trade.orders[-1].ft_order_tag == 'PartIncrease'
|
assert trade.orders[-1].ft_order_tag == 'PartIncrease'
|
||||||
assert pytest.approx(trade.liquidation_price) == (0.1038916 if leverage == 1 else 1.2127791)
|
assert pytest.approx(trade.liquidation_price) == liq_price
|
||||||
|
|
||||||
# Reduce by more than amount - no change to trade.
|
# Reduce by more than amount - no change to trade.
|
||||||
backtesting.strategy.adjust_trade_position = MagicMock(return_value=-500)
|
backtesting.strategy.adjust_trade_position = MagicMock(return_value=-500)
|
||||||
@@ -171,7 +172,7 @@ def test_backtest_position_adjustment_detailed(default_conf, fee, mocker, levera
|
|||||||
assert pytest.approx(trade.amount) == 95.23809524 * leverage
|
assert pytest.approx(trade.amount) == 95.23809524 * leverage
|
||||||
assert len(trade.orders) == 2
|
assert len(trade.orders) == 2
|
||||||
assert trade.nr_of_successful_entries == 2
|
assert trade.nr_of_successful_entries == 2
|
||||||
assert pytest.approx(trade.liquidation_price) == (0.1038916 if leverage == 1 else 1.2127791)
|
assert pytest.approx(trade.liquidation_price) == liq_price
|
||||||
|
|
||||||
# Reduce position by 50
|
# Reduce position by 50
|
||||||
backtesting.strategy.adjust_trade_position = MagicMock(return_value=(-100, 'partDecrease'))
|
backtesting.strategy.adjust_trade_position = MagicMock(return_value=(-100, 'partDecrease'))
|
||||||
@@ -184,7 +185,7 @@ def test_backtest_position_adjustment_detailed(default_conf, fee, mocker, levera
|
|||||||
assert trade.orders[-1].ft_order_tag == 'partDecrease'
|
assert trade.orders[-1].ft_order_tag == 'partDecrease'
|
||||||
assert trade.nr_of_successful_entries == 2
|
assert trade.nr_of_successful_entries == 2
|
||||||
assert trade.nr_of_successful_exits == 1
|
assert trade.nr_of_successful_exits == 1
|
||||||
assert pytest.approx(trade.liquidation_price) == (0.1038916 if leverage == 1 else 1.2127791)
|
assert pytest.approx(trade.liquidation_price) == liq_price
|
||||||
|
|
||||||
# Adjust below minimum
|
# Adjust below minimum
|
||||||
backtesting.strategy.adjust_trade_position = MagicMock(return_value=-99)
|
backtesting.strategy.adjust_trade_position = MagicMock(return_value=-99)
|
||||||
@@ -196,4 +197,4 @@ def test_backtest_position_adjustment_detailed(default_conf, fee, mocker, levera
|
|||||||
assert len(trade.orders) == 3
|
assert len(trade.orders) == 3
|
||||||
assert trade.nr_of_successful_entries == 2
|
assert trade.nr_of_successful_entries == 2
|
||||||
assert trade.nr_of_successful_exits == 1
|
assert trade.nr_of_successful_exits == 1
|
||||||
assert pytest.approx(trade.liquidation_price) == (0.1038916 if leverage == 1 else 1.2127791)
|
assert pytest.approx(trade.liquidation_price) == liq_price
|
||||||
|
|||||||
Reference in New Issue
Block a user