Hi,

I'm backtesting an options strategy that trades straddles on ~300 stocks with weekly rebalancing. I'm using .t8 files with historical bid/ask data from ORATS.
I understand that for options, Zorro fills long entries at fAsk and short entries at fBid from the contract chain, and that Spread and Slippage are ignored
for options.

My question: how can I control the fill price for options in a backtest?

Specifically, I want to simulate fills at the mid-price (average of bid and ask), or at a configurable percentage between mid and the natural side (e.g., 5%
from mid toward ask for a buy). This is important because in practice, limit orders on liquid options regularly fill at or near the mid.

I've tried:
- Setting Spread = 0 ? ignored for options
- Setting Slippage = 0 ? ignored for options
- Modifying c->fAsk and c->fBid on the CONTRACT before enterLong()/enterShort() ? works for entry, but I cannot control the exit fill when using exitTrade()
or LifeTime, because Zorro reads fresh prices from the .t8 chain at exit time

The only approach that fully works is writing mid-prices into the .t8 files (fAsk = fBid = mid), but then I lose the real bid/ask data and have to regenerate
all .t8 files to test a different fill assumption.

Is there a way to intercept or override the fill price for options on both entry and exit? For example:
- A fill mode that applies to options?
- A way to hook into the exit pricing?
- A broker plugin trick for backtesting?

Any help appreciated. Thanks!