diff --git a/freqtrade/optimize/backtesting.py b/freqtrade/optimize/backtesting.py index e16ea8606..59432bd97 100644 --- a/freqtrade/optimize/backtesting.py +++ b/freqtrade/optimize/backtesting.py @@ -778,6 +778,7 @@ class Backtesting: t = self._get_exit_for_signal(trade, row, exit_, current_time) if t: return t + return None def _run_funding_fees(self, trade: LocalTrade, current_time: datetime, force: bool = False): """ diff --git a/tests/optimize/test_backtesting_adjust_position.py b/tests/optimize/test_backtesting_adjust_position.py index 983e4b47f..cf30489e1 100644 --- a/tests/optimize/test_backtesting_adjust_position.py +++ b/tests/optimize/test_backtesting_adjust_position.py @@ -213,3 +213,8 @@ def test_backtest_position_adjustment_detailed(default_conf, fee, mocker, levera assert trade.nr_of_successful_entries == 2 assert trade.nr_of_successful_exits == 1 assert pytest.approx(trade.liquidation_price) == liq_price + + # Adjust to close trade + backtesting.strategy.adjust_trade_position = MagicMock(return_value=-trade.stake_amount) + trade = backtesting._get_adjust_trade_entry_for_candle(trade, row_exit, current_time) + assert trade.is_open is False