Orders & order types

Market, limit, stop, and multi-leg orders and how they fill.

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 has:

  • A type — market, limit, or stop.
  • One or more legs, each naming an instrument, a quantity, and an action.
  • A price effect — whether the net order is a debit (cash out, you're net buying) or a credit (cash in, you're net selling). Limit and stop orders also carry a price.

Leg actions

Action Effect Cash
Buy to open Opens a long position Debit
Sell to open Opens a short position Credit
Buy to close Closes an existing short Debit
Sell to close Closes an existing long Credit

To close a position, submit the opposite actions to the ones that opened it.

Order types

Market

Fills immediately at the natural price — the ask when you're buying, the bid when you're selling. Market orders must be single-leg; a market order with more than one leg is rejected.

Limit

Sits pending until the fill price meets your condition:

  • Credit (selling): fills when fill price ≥ your price.
  • Debit (buying): fills when fill price ≤ your price.

The fill price is the mid-based execution price described in How fills are priced (not your limit). If the market already satisfies the condition when you place it, it fills right away at that execution price; otherwise it waits. Limit orders are the only type that may have more than one leg.

Stop

A single-leg pending order that triggers when the mid crosses your stop level, then fills at the execution price:

  • Credit stop: triggers when mid ≤ trigger — fires as the price falls to your level (a protective stop-loss on a long).
  • Debit stop: triggers when mid ≥ trigger — fires as the price rises to your level (a stop-loss on a short, or a breakout entry).

A stop that would trigger the instant you place it is rejected — set the trigger on the correct side of the current mid. Stop orders, like market orders, must be single-leg.

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

The execution price comes from the bid/ask using CBOE-style tick rules (the tick sizes are in SPX option price ticks):

Order Fill price
Market The natural price — ask for a buy, bid for a sell
Limit (single) 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)
Limit (multi-leg) The net price of the combo under the same even/odd-tick rule
Stop (on trigger) Same as a single-leg limit

Worked example (single leg, nickel tick): a $2.40 / $2.55 quote is 3 ticks wide, so the mid $2.475 rounds in the market maker's favor — a buy fills at $2.50, a sell at $2.45. A $2.40 / $2.60 quote is 4 ticks (even), so both sides fill at the mid $2.50.

Where an order executes on a $2.40 / $2.55 quote (odd-tick spread) bid 2.40 market sell fills here ask 2.55 market buy fills here raw mid 2.475 odd number of ticks → the mid rounds one tick toward the market maker limit buy executes 2.50 limit sell executes 2.45

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 in Settings. 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: the order fills once the mid has moved enough that the slippage-adjusted price reaches your limit, and the realized fill is the mid worsened by the slippage (a debit pays mid + slippage, a credit receives mid − slippage). It models real-world execution drag; market orders are unaffected (they already fill at the natural price).

Example: with $0.05 slippage configured, a buy limit at $2.50 will not fill while the mid is $2.50 (it would fill at $2.55). The mid has to drop to $2.45 so that $2.45 + $0.05 = $2.50 meets the limit — then the order fills at $2.50.

The order's stored execution price is the mid your order must reach to fill: your limit minus slippage for a debit, plus slippage for a credit.

SPX option price ticks

SPX option orders must be priced on the right increment:

Order shape Tick
Single-leg, price < $3.00 $0.05
Single-leg, price ≥ $3.00 $0.10
Multi-leg (2+ legs) $0.05 always

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. Limit and stop prices that don't land on the correct tick are rejected before anything else is checked. Slippage, when supplied, must be a multiple of $0.05.

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. 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. Add the matching long leg (a cheap, far out-of-the-money one will do) to turn it into a spread. 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

Pending orders can be canceled before they fill. In practice, canceling removes the order and its associated trades and recomputes your history. In live trading, you can also atomically cancel-and-replace a pending limit order's price in a single step.

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 for anything wider than 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 actually built around, and with the default $0.05 slippage it still models realistic execution drag.
  • Remember which side the odd tick goes to. 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. If you want to enter on strength instead, 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.