# Stops in the pre-market: why they cannot sit on the book

> US exchanges take only limit orders before 09:30, so a plain stop cannot guard a pre-market trade. How Scalpel's app stops fill the gap, and their limits.

Source: https://scalpeltrade.com/guides/premarket-stops
Guide 5.5, Stops and targets. Intermediate, 10 min read.
Checked with Scalpel 1.12.8 on 2026-10-15. By Scalpel Team.

**In short:**

Before 09:30 and after 16:00 New York time, US exchanges accept limit orders only. A plain stop order becomes a market order when it triggers, so it cannot protect you in the pre-market, and a stop-limit can be jumped when price gaps through its limit. So Scalpel keeps your stop in the app: it watches every trade, and when price trades through your stop it sends a limit sell 5 cents under the last trade, flagged for extended hours, which the exchange accepts at 06:00 as at 11:00, and re-prices it if the market runs away. The trade-off: it only works while Scalpel is running and connected, and no fill is guaranteed.

Scalpel is built first for the pre-market, 04:00 to 09:30 ET, because that is when small-cap gappers make many of their biggest moves. It is also when the usual protection, a stop order resting at your broker, quietly stops working. This guide explains why, exactly what Scalpel does instead, and what to do on the day an exit does not fill.

**Before you start:**

- How the three levels work: working stop, catastrophe net and take-profit ([guide 5.1](https://scalpeltrade.com/guides/how-stops-work)).
- Scalpel connected to TWS or IB Gateway ([guide 1.4](https://scalpeltrade.com/guides/connect-interactive-brokers)).

## Why a normal stop cannot sit on the book before the open

Outside regular trading hours (09:30 to 16:00 ET), US exchanges run limit-only sessions. Every order needs a price, and there are no market orders ([glossary: pre-market](https://scalpeltrade.com/guides/glossary#pre-market), [limit order](https://scalpeltrade.com/guides/glossary#limit-order)). That breaks the two stop orders most traders know:

| Order | What it does when price hits your stop | In the pre-market |
|---|---|---|
| [Stop order](https://scalpeltrade.com/guides/glossary#stop-order) | Becomes a market order | No market orders, so most brokers only let it work from the open. Your position is unprotected until 09:30 |
| [Stop-limit order](https://scalpeltrade.com/guides/glossary#stop-limit-order) | Becomes a limit order at your limit price | Accepted, but in a thin, fast book price can gap straight through your limit. The order then sits unfilled while the stock keeps falling |
| A mental stop | Whatever you do in the moment | Works only if you act, at the exact moment you are busiest |
| **Scalpel's app stop** | Scalpel sends a limit sell 5c under the last trade, flagged for extended hours | Accepted from 04:00, priced off the trade that broke your stop |

### How a stop-limit gets jumped

You hold 400 shares of ABCD from 5.50 at 07:45. You set a stop-limit: trigger 5.38, limit 5.36. A seller hits the stock and the prints go 5.40, then 5.31. Nothing traded between them: in a pre-market book there may be only a few hundred shares on each level. The 5.31 print triggers your order, which becomes a sell limit at 5.36, above the market. It cannot fill. By the time you notice and replace it, the stock is 5.20.

### The mental-stop problem

The alternative most pre-market traders fall back on is a stop in their head. It fails at exactly the wrong moment: you are reading Level 2, watching the tape and judging the next move, the stock drops through your number, and you freeze, hesitate, or tell yourself it will come back. Holding a mental stop while doing everything else is when traders lose the most.

## What Scalpel does instead

*Screenshot: 07:41 ET, before the open: the PRE badge on the desk, and 400 ABCD from 5.50 with the working stop at 5.38 (-48.00, -1.0R) and the target at 5.74. Nothing is resting at the broker. Demo data.*

Every entry arms a working stop, a wider catastrophe net and a take-profit ([guide 5.1](https://scalpeltrade.com/guides/how-stops-work)). None of them is an order. Scalpel holds them and checks them against every new last-trade price of the symbol on your desk:

1. **Price trades at or through a level.** The take-profit is checked first (at or above it), then the catastrophe net, then the working stop (at or below them).
2. **Scalpel sends one exit for the whole position.** In LIVE it is a sell limit priced **5 cents under the last trade**, with the outside-regular-hours flag set, so the exchange accepts it in the pre-market and after hours. It sells every share you hold: if a sell of yours is already working, such as a resting 1/2 Ask, Scalpel cancels it and sends this one exit for everything instead.
3. **It fills at the best bids down to that limit.** A limit 5c under the last trade is marketable: it takes the bids that are there, best first, and only stops at 5c under.
4. **The level is used up, the exit is not.** Scalpel disarms the stop the moment it sends the exit, so it cannot fire twice, and then keeps working the exit until you are out ([below](#if-an-exit-does-not-fill)).
5. **You hear and see it.** A red toast **ABCD stopped out (working stop)** (or **(catastrophe stop)**) and the voice: "Stopped out." or "Catastrophe stop."

Worked through with the earlier example: prints go 5.40, 5.39, then 5.37. The 5.37 print is through your 5.38 stop, so Scalpel sends SELL 400 LMT 5.32 straight away. The bids are 300 at 5.36 and 200 at 5.35, so you fill 300 at 5.36 and 100 at 5.35, an average of about 5.358. The loss is about $57 plus fees instead of the $48 you planned at the stop: about 1.2R. In the jumped-stop-limit case, prints 5.40 then 5.31, Scalpel sends a limit at 5.26 and takes whatever bids remain down to there.

*Screenshot: The Orders tab after the stop fired: the 400-share SELL filled at 5.36 average, NET P&L -$59.80 with fees, and the toast. Order times are New York time. Demo data.*

Two side benefits: your stop never shows on the book, so nobody can see where it is or run price into it, and it can do things a broker stop cannot, such as trail the low of each 1-minute candle ([guide 5.3](https://scalpeltrade.com/guides/breakeven-and-trailing-stops)).

### The catastrophe net

The catastrophe net is a second, wider level under the working stop (3 x ATR by default, or twice the stop distance on a risk entry). It is checked before the working stop, so if one print gaps through both, the exit goes out as a catastrophe stop. In LIVE both send the same exit, 5c under the last trade. It is a backstop for a gap, not a second chance: once either fires, both are disarmed.

### SIM and LIVE

- **In LIVE** the exit is a real order at Interactive Brokers, priced as above, and it can fill worse than the stop or not fill at all.
- **In SIM** a stop-out fills like a real stop: at the price that crossed your stop or the inside bid, whichever is worse, less your **SIM slippage (c)**, with your plan's commission ([guide 6.1](https://scalpeltrade.com/guides/paper-trading-sim)). In the example SIM fills at 5.36, the bid under the 5.37 print, not at 5.38. A take-profit fills at its own price. SIM still cannot show you an exit that does not fill at all, so treat SIM stop-outs as the better case and size so the LIVE version is still fine.

### Flatten All

`Esc` (or the red **Flatten All** button) sells every position on every desk. In LIVE it is priced about **1% under the inside bid**, deliberately aggressive so one press clears the position: with a 5.20 bid the limit is 5.15, and IBKR fills at the best bids down to that floor. It is also a limit order, so it works in the pre-market too ([guide 4.5](https://scalpeltrade.com/guides/scale-out-and-flatten)). If a stop's exit is still working when you press it, Flatten All replaces that order instead of adding a second one: Scalpel cancels it, waits for IBKR to confirm, then sends one sell for everything you hold at the lower of the two limits.

## Extended-hours fills

*Screenshot: Settings, Trading: Extended-hours fills is on by default. Its note: exits can always fill outside regular hours.*

**Settings > Trading > Extended-hours fills** (on by default) controls your **entries**: on, a buy can fill in the pre-market and after hours; off, buys are regular-hours only and IBKR holds them until 09:30. **Exits always may fill outside regular hours**, whatever this switch says: stops, targets, sells and Flatten All are all sent with the outside-regular-hours flag, so a stop that fires at 07:52 can get you out at 07:52 ([guide 11.2](https://scalpeltrade.com/guides/settings-trading)).

**Note.**

If you are on 1.12.5 or earlier, update ([guide 12.2](https://scalpeltrade.com/guides/updates)): older versions send a stop's exit once without re-pricing it, and on 1.12.4 and earlier a stop exit only fills outside regular hours while **Extended-hours fills** is on.

## If an exit does not fill

A limit 5c under the last trade fills when there are bids down to it. In a very fast fall there may not be: the bids vanish, the next print is 15c lower, and the exit sits above the market. So in LIVE Scalpel keeps working a stop or target exit until you are out:

- **If price trades under the exit's limit** once the order is half a second old, or the exit has not filled after **5 seconds**, Scalpel cancels it, waits for IBKR to confirm, and sends a new sell for whatever you still hold, priced off the latest trade at 5c under it or about **1%** under it, whichever is lower.
- It does this **up to 5 times**. After that it leaves the last order working and tells you: **ABCD: exit still not filled after 5 re-prices. Check it in TWS**.
- At no point are two exits working at once, and every sell is capped to the shares you hold, so re-pricing can never put you short.

Continuing the example: the stop fires on a 5.37 print and sends a limit at 5.32, but the next print is 5.25 and the bids above it are gone. Half a second later Scalpel cancels the 5.32 order and sends a new one at 5.20 (5c under 5.25 is 5.20; 1% under is 5.1975, rounded to 5.20).

*Screenshot: Price fell through the stop's first exit: that SELL reads Cancelled, and the re-priced SELL sent a second later is Working. Demo data.*

What you can do while it works:

### 1. Watch the Orders tab

On the desk's **ORDERS & POSITIONS** pane, open **Orders**. Each re-price shows as a cancelled **SELL** and a new one **Working** above it.

### 2. Flatten with Esc if you want out now

Press `Esc`. Flatten All replaces the working exit with one sell 1% under the bid for everything you hold. It is not refused and it does not stack a second sell on top.

### 3. If the re-prices run out, go to TWS

After the **exit still not filled** toast, the last order stays working and Scalpel stops chasing. The stock has no bids near the price, often because it is halted or collapsing. Check the order and the position in TWS, and decide there.

**Careful.**

`Ctrl`+`Q` (**Cancel**) cancels the working exit and tells Scalpel to stop working it. The stop is already used up, so after a cancel you hold the shares with no stop at all. Use `Esc` to get out, not `Ctrl`+`Q`.

**This can cost you money.**

A stop does not limit your loss to the stop price. In a fast drop, a gap or a halt the exit can fill well below your stop, or not at all until bids return. Small-cap pre-market trading carries a significant risk of loss. Size every trade so that a stop filling two or three times worse than planned is still a loss you can take, and set a daily loss limit ([guide 7.1](https://scalpeltrade.com/guides/daily-loss-limit)).

## What survives a restart

- **LIVE stops are saved.** Every change to a LIVE level (the fill, a drag, breakeven, a trail) is written to **live_stops.json** in Scalpel's data folder. After a restart they come back exactly where they were.
- **LIVE positions come from IBKR.** When Scalpel connects, it reconciles with your account: a position that is still open is adopted with its saved stop, and one that was closed in TWS while Scalpel was off is closed in Scalpel too. A position Scalpel has no saved stop for, for example one you bought in TWS, gets a stop at the default distance under IBKR's average cost, so check it.
- **SIM stops are saved too**, in **sim_stops.json** beside the SIM ledger, so open SIM positions come back with the levels you had.
- **While Scalpel is closed or disconnected, nothing is watching.** If price went through your stop in the meantime, the first price after Scalpel reconnects fires the exit, at whatever the market is by then.

## The trade-offs, plainly

| | A stop order at your broker | Scalpel's app stop |
|---|---|---|
| Works before 09:30 | Usually not | Yes, from 04:00 |
| Visible on the book | Can be | Never |
| Priced off | Your trigger | The trade that broke your stop |
| Can trail candle lows, breakeven by key | No | Yes |
| Works with your computer off | Yes | **No.** Scalpel must be running and connected, with the symbol on a desk |

So keep Scalpel open and connected while you hold anything, keep every symbol you hold on a desk (a position on no desk has no prices, so its stop is not watched), and close your trades before you close the app.

## Questions

**Can I use a stop loss order in the pre-market?**

Usually not a plain one. US exchanges accept only limit orders outside regular hours, and a stop becomes a market order when it triggers. A stop-limit is accepted but can be jumped when price gaps through its limit. Scalpel's app stop sends a limit sell 5 cents under the last trade, which is accepted from 04:00.

**Why does Scalpel not place my stop at Interactive Brokers?**

Because a resting stop cannot protect a pre-market trade, and a stop-limit can be skipped in a thin book. Scalpel watches every trade itself and sends a marketable limit the moment price trades through your level. The cost is that Scalpel must be running and connected.

**Is my stop price guaranteed?**

No. The exit goes out on the first trade at or through your stop, priced 5 cents under the last trade, and fills at the bids that are there. In a fast drop it can fill well below your stop. If price runs away from it, Scalpel re-prices it up to 5 times, and Esc replaces it with a sell 1% under the bid.

**What happens if my stop's exit does not fill?**

In LIVE, Scalpel cancels it and sends a new one priced off the latest trade, at least about 1% under it, when price trades under its limit or after 5 seconds, up to 5 times. Then it tells you to check the order in TWS. Pressing Ctrl+Q stops this and leaves you with no stop.

**Do I need Extended-hours fills on for my stops to work pre-market?**

No. Exits always go out flagged for extended hours. The switch decides whether your buys can fill outside regular hours. If you are on 1.12.4 or earlier, update, or keep it on.

**What happens to my stop if Scalpel crashes?**

Nothing watches the position until Scalpel is running and connected again. LIVE stops are saved, so they come back where they were, and the first price after reconnecting fires the exit if the stop was crossed in the meantime.
