diff --git a/freqtrade/optimize/backtesting.py b/freqtrade/optimize/backtesting.py index 18c7288dd..47f920e01 100644 --- a/freqtrade/optimize/backtesting.py +++ b/freqtrade/optimize/backtesting.py @@ -1139,7 +1139,7 @@ class Backtesting: amount=amount, filled=0, remaining=amount, - cost=amount * propose_rate + trade.fee_open, + cost=amount * propose_rate * (1 + self.fee), ft_order_tag=entry_tag, ) order._trade_bt = trade diff --git a/tests/optimize/test_backtesting.py b/tests/optimize/test_backtesting.py index 7c14956e7..05ebf2298 100644 --- a/tests/optimize/test_backtesting.py +++ b/tests/optimize/test_backtesting.py @@ -632,7 +632,7 @@ def test_backtest__enter_trade_futures(default_conf_usdt, fee, mocker) -> None: trade = backtesting._enter_trade(pair, row=row, direction="short") assert pytest.approx(trade.liquidation_price) == 0.11787191 assert pytest.approx(trade.orders[0].cost) == ( - trade.stake_amount * trade.leverage + trade.fee_open + trade.stake_amount * trade.leverage * (1 + fee.return_value) ) assert pytest.approx(trade.orders[-1].stake_amount) == trade.stake_amount