Core concepts

Orders & order types

An order is your instruction to open or close positions. This page covers the order types, how each one fills, and the rules specific to SPX options.

Anatomy of an order

Every order is three things:

Type Market, limit, or stop
Legs One or more, each an instrument, a quantity, and an action
Price effect A net debit (cash out, net buying) or credit (cash in, net selling); limit and stop orders also carry a price

Leg actions

Each leg names one of four actions. Buying pays out (a debit); selling takes in (a credit). To close a position, submit the opposite actions to the ones that opened it.

Order types

Three order types decide when and at what price a set of legs fills. A market order fills on the spot, and so does a limit whose price reaches past the market. What waits is an order the market has to come to: its condition has to hold for three consecutive seconds first, and so does a stop's trigger.

Market

Fills immediately at the natural price — the ask when buying, the bid when selling. The only type with no waiting period. Must be single-leg.

bidaskfills now

Limit

Rests until the market reaches your price — a credit at or above it, a debit at or below — and holds there for three seconds. It then fills at your price. A price that reaches past the market fills at once instead: at the market you crossed if it was already past when you sent it, at your own price if the market comes through you later. The only type that may be multi-leg.

your limitrestingfills

Stop

A single-leg order that rests on the book and triggers once the mid has been across your stop level for three seconds, then fills at the market. One that would trigger instantly is rejected.

triggerarmedtriggers

Multi-leg

Spreads, iron condors, butterflies, and any other multi-leg structure are submitted as one limit order (only limit orders may be multi-leg). Each leg produces its own trade entry, but the order is atomic — all legs fill together or none do, and the fill is priced on the combo's net price.

How fills are priced

Two separate questions: when an order fills, and at what price.

And the price:

Market
The natural price — ask for a buy, bid for a sell.
Limit the market came to (any number of legs)
Your own limit price — the price you asked for, never the better price the market flickered to for an instant. That holds both ways such an order fills: after three consecutive seconds at your level, and the instant the market moves through a resting order, which fills it right there and still at your price. An order priced at the market is resting too: it asked for the mid, it did not reach past it.
Limit you priced past the market
The market price at the moment that price was set. An order priced past the market — better than what was quoted, not merely equal to it — crossed the spread on purpose, and a limit is the only way to do that with a spread, since market orders are single-leg. So it fills on the spot, at the price the market was showing then, which is strictly better than the limit you asked for. Pricing at the mid is not crossing: that order is resting, and fills at your price.
Stop (on trigger)
At the market, priced like a single-leg limit's reference price below.

Usually the moment a price was set is the moment you sent the order — but giving an order a new price starts it over. Cancel-and-replacing a live order, and every step a Smart liquidation takes as it walks a closing order toward the market, set a new price: it is measured against the market at the second it takes effect, and the three-second count restarts from there. So an order whose new price steps past the market crosses the spread at that step: it fills there and then, and prints better than the price shown on it — a re-priced order can fill below its own limit even though you never sent it that way.

One more order fills at the market, and it is not one you place by hand: an automatic stop-loss close — the closing order a strategy or the Strategy Builder generates to cap a loss. If the market runs through that order's price and stays through it for three consecutive seconds, it fills at the market instead of resting at a price the market has left behind. Without that escape a stop-loss would sit unfilled exactly on the days it matters.

What the market has to reach for a limit or stop is a reference price built from the bid/ask using CBOE-style tick rules (the tick sizes are in SPX option price ticks): the mid, unless the bid/ask is exactly one tick wide (then the natural price), or the spread is an odd number of ticks (then the mid rounded one tick toward the market maker — up for a debit, down for a credit). A multi-leg order uses the net price of the combo under the same even/odd-tick rule.

Drag the bid and ask to see that reference price move. A $2.40 / $2.55 quote is three ticks wide, so its $2.475 mid rounds in the market maker's favor: a buy needs a limit of $2.50 or better to be fillable here, a sell one of $2.45 or better. Widen it to an even number of ticks and both sides meet at the mid; flip on slippage to add the account's execution drag. Remember that reaching the level is only half of it — a price the market merely reaches has to hold there for three seconds, while a price past the market fills at once — and the fill prints at your limit, unless its price was past the market at the second that price was set, in which case it prints at the market it crossed.

Bid $2.40
Ask $2.55
bid $2.40ask $2.55mid $2.475sell limit ≤$2.45buy limit ≥$2.50
Spread 3 ticks odd
Tick size $0.05 price < $3.00
Buy (debit) $2.50 lowest fillable limit
Sell (credit) $2.45 highest fillable limit

A $2.40 bid by $2.55 ask is 3 ticks wide (an odd number of ticks — the mid rounds one tick toward the market maker). The midpoint is $2.475. Against this quote a buy limit is fillable at $2.50 or higher, and a sell limit at $2.45 or lower — a limit at exactly that level fills only once it has held for three consecutive seconds, and then at its own price. A limit priced past the level crosses the spread and fills at once instead, at the market it crossed: $2.50 buying, $2.45 selling — slippage can never push that print past the ask or below the bid.

The market at the fill

An order that fills in live trading or in a bot session keeps the market it filled in: each leg's bid and ask at that moment, and the order's net bid and ask. The activity view prints the net pair (marked mkt) under the fill price, so you can see what the market was showing when your order went through without going back to the chart. (Practice days don't carry it — they replay past sessions rather than trade a live one.)

Each leg also carries the time of the quote used for it, and those times sit within a second either side of the fill — every leg is priced from the quote closest to it, which can be the second before or the second after. A market order fills on the spot against the latest quotes while its fill is stamped when you sent it, so there the times can run a few seconds behind. The full set — the per-leg quotes included — comes back from the API as fill_quotes — see Orders (API).

Slippage

Slippage is a single per-account setting (in Settings → Simulator costs) — a multiple of $0.05 from $0.00 to $1.00 that worsens your fill in the market maker's favor. New accounts start with $0.05 of slippage; you can change or clear it any time. It applies the same way across all three modes: backtests, live trading, and practice. There is no per-order slippage — the value configured on your account is resolved automatically when an order is placed.

It affects limit and stop orders only, and for a resting limit it makes them harder to fill rather than worse-priced: the market has to move slippage further past your price before the order can go through, and when it does, the limit still fills at your limit. Wherever an order fills at the market — a triggered stop, an automatic stop-loss close getting out, or a limit you priced past the market — slippage worsens that printed price by the same amount, but never past the natural price: a buy never pays more than the ask, a sell never receives less than the bid. On a market that is one tick wide the reference price already is the natural, so there slippage costs nothing. It models real-world execution drag. Market orders are unaffected: they already fill at the natural price. Backtest results are computed at zero slippage, so your setting is applied to them as a flat per-contract cost when the results are shown — the same drag, charged rather than simulated.

SPX option price ticks

SPX option orders must be priced on the right increment. The tier is set by the price itself — $3.00 and above uses the dime tick, so $3.00 and $3.10 are valid single-leg prices but $3.05 is not.

Defined-risk only — no naked shorts

Every short option must be covered by a long option of the same type. An order whose resulting position would hold an uncovered short — a lone short put, a lone short call, or selling more of one type than you buy — is rejected with naked short positions are not allowed, regardless of how much capital the account has. Add the matching long leg (a cheap, far out-of-the-money one will do) to turn it into a spread.

1 Naked short put rejected

Loss runs away as SPX falls.

2 Add the wing long put buy a long put

A cheap lower strike caps the downside.

3 Accepted spread accepted

Loss is capped — defined risk.

A short put is covered by a long put and a short call by a long call; a long call does not cover a short put. The gate reads your resulting book, so it also blocks stripping the protective long leg out of a spread you already hold. This is the same rule the strategy builder enforces at authoring time.

The maximum-profit cap

A limit order's price can't exceed the structural maximum profit of its legs — for example a $5-wide vertical caps at $5.00, because no more than that can ever be captured. This check is skipped when the maximum profit is unbounded, such as a naked long call or a ratio backspread. (A naked long call is defined-risk — its loss is capped at the premium — so it's accepted; only uncovered short options are rejected.)

Previewing an order

Before committing, you can preview any order: the ticket (and the API's dry-run endpoint) runs every validation and returns the projected fill price, fees, and buying-power impact without placing anything. A successful preview is a strong signal the real order will go through.

Canceling

Any order that hasn't finished yet can be canceled before it fills. In practice, canceling removes the order and its associated trades and recomputes your history. In live trading a cancel is a request rather than an instant undo — the order shows as canceling… until it resolves, and an order that fills first ends up filled. There you can also atomically cancel-and-replace a resting limit order's price in a single step.

Liquidate: closing orders built for you

You don't have to write the closing orders yourself. The Liquidate button on the positions view closes your whole book in one step: it groups what you hold into closing orders and works them until the book is flat. Two methods — Smart places favorable limit orders (up to four positions per order) and re-prices each one every 5 seconds until it fills, while Aggressive sends a market order per position, buying your shorts back before it sells the longs covering them. Grouping is built so that no partial set of fills can ever leave you with an uncovered short, which is why liquidation orders never run into the defined-risk rule above.

Tips

Preview first, always

The dry-run runs every validation the real order would — ticks, max profit, naked-short, buying power — so a clean preview turns a mystery rejection into a non-event.

Prefer limits over markets past a tick or two

A market order pays the full spread by construction; a limit at the mid (or a tick inside it) is what the fill engine is built around — it costs you a few seconds of waiting and gets you the price you asked for. When you do need it filled now, a limit priced past the market fills just as fast and never prints worse than the natural.

Remember which side the odd tick favors

On an odd-tick spread the rounding always favors the market maker — you pay the higher half buying and receive the lower half selling. Over hundreds of backtested fills that half-tick is a real cost; it's in your results on purpose.

Stops are protective by design

A credit stop fires as the price falls to the trigger, a debit stop as it rises — set the trigger on the far side of the current mid or the order is rejected as already-triggered. A debit stop above the mid doubles as a breakout entry.

Multi-leg means one decision

Legging into a spread one order at a time exposes you to the market moving between fills — and can transiently reject as a naked short if you sell first. Submitting the structure as one atomic limit order prices and fills it as a unit.