What’s New
More realistic fills
A limit order the market has to come to now fills at the price you asked for, and only once the market has held there for three consecutive seconds — no more one-second flickers handing you a trade. Every strategy’s results are being recomputed on the stricter engine.
A simulator is only worth anything if it tells you the truth. We found a place where ours was being too kind, and we've fixed it. Fills are now harder to get, and the change runs everywhere at once — backtests, practice, live trading, and bots.
Two things changed, and they're worth understanding separately.
A fill now takes three consecutive seconds. A resting limit order used to fill the instant the market touched its price. But markets are noisy: a quote can dislocate for a single second and snap back, and no real order sitting on an exchange would have been filled by that. Now the platform checks a resting order once a second and fills it only after its condition has held on three checks in a row. A one-second flicker through your price fills nothing. The same rule applies to a stop's trigger, so a spike no longer stops you out of a position that was never really in trouble.
A resting limit order fills at your price. It used to fill at whatever the mid happened to be on the second it crossed — which, when the market gapped straight through your order, meant a better price than you asked for. Real resting orders don't work that way. Now an order the market has to come to fills at the price you posted, and nothing better — and an order priced right at the market is one of those: it asked for the mid, it didn't reach past it. Pricing past the market on purpose is a different thing, and it still works the way you'd expect: you crossed the spread, so you get the market price you reached for, as it stood the moment you sent the order. The mid decides when; how you got there decides at what price. There's a rewritten explanation with an interactive quote to play with in Orders & order types.
Put together, this is a real difference. On the four-leg structures where the old behaviour flattered results the most, most of the apparent edge was coming from those two generosities rather than from the strategy. That's exactly the kind of thing you want to find out here rather than with money on the line.
What this means for your results. Every strategy's results are being recomputed under the new engine, so the numbers you saw before this change will move — and for most strategies they'll move down. If a strategy still holds up, it's holding up on something more honest than a one-second price blip. If one collapses, it was measuring the old fill rule, not an edge. Coverage rebuilds as you open your strategies, the same way it does for a new one.
A few smaller consequences worth knowing:
- An order that's already fillable when you place it now comes back pending and fills a couple of seconds later, instead of filling on the spot. Market orders are unchanged — they still fill immediately.
- Your slippage setting now works by making a resting order harder to fill (the market has to move that much further past your price) rather than by giving it a worse price. Anything that fills at the market — a triggered stop, a stop-loss getting out, an order you priced past the market — is still charged it directly. Same setting, same default, same effect on your bottom line.
- Bot re-pricing intervals now start at 4 seconds. An order replaced faster than the three-second confirmation window would restart the clock every time and never fill anything, so re-pricing quicker made bots slower to fill, not faster. Any bot configured below that floor has been raised to it.
- A bot or strategy's stop-loss close can't get stranded by this: if the market runs adversely through a stop or scheduled exit and stays through it, the order gets out at the market rather than resting at a price that has already gone.
Update, August 6: an order priced past the market now fills at the earliest on the next once-a-second check — one second after you place it; every other limit order still needs three consecutive checks.
Nothing about how you write or run a strategy changes — no edits needed, no settings to review beyond the bot intervals above. What changes is that the results mean more.