... rather than simulate an actual market and fill the orders as appropriate.
This only occurs with limit orders. Limit orders execution can be simulated by the user like this:
Market orders transact per backtest at the previous candle close
buy(pairs.btc_usd) # market order
buy(pairs.btc_usd, price = 400) # limit order
You can use the technique in the linked post to volume filter market orders as well.