Of course
@Papafox should chime in, but I've followed him long enough to know how he does it.
If you are going to roll simultaneously, of course there will be a debit transaction to roll out in time. What Papafox recommends is to buy the later call first when the stock price is down and then sell the earlier one later when the stock price has increased. You obviously have to have available cash and/or margin to do this.
As I don't have either, I have sold the earlier calls first on an up day and then put in a GTC order to buy a later expiration at the same strike price at the same price for the option. Obviously, the stock price has to drop a bit for this order to execute. I've been successful once, and trying it a second time today.
There is obviously risk involved if the stock price moves away from you in between the two transactions. For me, selling first and then trying to buy back later offers me a bit of a hedge. The number of contracts I am doing at a time is small, so even if I am not able to buy back in later, the rest of my portfolio will be happy. Kicking myself as there have been so many opportunities in the past month to roll out all of my January 2023 calls.
Hope that all makes sense.