How to Set a Stop Loss on Schwab: Schwab.com, Mobile, and thinkorswim (2026 Guide)
Step-by-step stop loss setup on Schwab.com, Schwab Mobile, and thinkorswim, plus brackets, trailing stops, options, and why a stop can fill far from your price.
To set a stop loss on Schwab, open a sell order for the shares you hold and choose a stop, stop limit, or trailing stop order type with a stop price below the market. On Schwab.com that happens in the All-In-One Trade Ticket, on Schwab Mobile under Trade, and on thinkorswim from the Monitor tab or the Trade tab. A stop becomes a market order when triggered, so it can fill well below the stop price on a gap, and stop orders are not accepted in extended-hours sessions.
To set a stop loss on Schwab, enter a sell order for the shares you own, change the order type to a stop (or stop limit, or trailing stop), and give it a stop price below the current market. On Schwab.com you do it in the All-In-One Trade Ticket, on the Schwab Mobile app you start from Trade, and on thinkorswim you right-click the position and create a closing order with a stop. Pick Good 'til canceled if you want the stop to outlive today's session.
That is the mechanical part, and it takes under a minute once you know where the menus are. The parts that cost money are elsewhere: a stop on Schwab only works during the regular session, it turns into a market order when it triggers, and the price you choose decides whether it protects you or just shakes you out. This guide covers the clicks on every Schwab platform first, then the stop and take-profit brackets, options, time in force, and a worked example of where the stop should go.
The three places you can set a stop loss on Schwab
Schwab runs two families of trading software, and the steps differ between them.
- Schwab.com and the Schwab Mobile app are the standard brokerage interfaces. Orders go through a single trade ticket, and the conditional order types sit behind an "Add Conditional" button.
- thinkorswim is the active-trader platform Schwab inherited from TD Ameritrade. It runs on desktop, web, and mobile, and it has far more order types: brackets, first-triggers sequences, trailing stops linked to different prices, and orders that fire when a chart study condition becomes true.
Both connect to the same brokerage account. The thinkorswim steps below come from Schwab's own desktop tutorials and the thinkorswim manual; the web and mobile versions of thinkorswim lay the same order types out differently.
Stop, stop limit, or trailing stop: pick the order type first
All three order types protect a position. They differ in what happens at the moment the stop price is hit, and that difference is where most surprises come from.
A stop order (a stop market order) does nothing until the stock trades at or through your stop price. Then it becomes a market order and fills at the next available price. Schwab's guide to market, limit, and stop orders is blunt about the risk: a sell stop is not guaranteed to execute near your stop price. The SEC's investor site defines it the same way, as an order that "becomes a market order" once the stop price is reached, entered below the market for a long position and above it for a short.
A stop limit order has two prices. The stop price triggers it, and then it becomes a limit order that can only fill at your limit price or better. You control the worst fill. The cost is that it may never fill at all. The thinkorswim manual's order type table says it directly: "With a stop limit order, you risk missing the market altogether." We cover the mechanics in more depth in the buy stop limit order guide, and the logic is the same on the sell side.
A trailing stop has no fixed price. You set an offset in points (dollars) or percent, and the stop moves up as the stock rises but stays put when it falls. When the stock drops back by your offset, the trailing stop becomes a market order. A trailing stop limit becomes a limit order instead. The thinkorswim manual adds a restriction worth knowing before you get a rejection: trailing stops and trailing stop limits are accepted only for stocks that trade on NASDAQ, NYSE, and AMEX.
A rule of thumb that holds up:
- Liquid stock, and getting out matters more than the exact price: stop market.
- Thin stock with a wide spread, where a market order could fill badly: stop limit, with the limit set far enough below the stop that a normal fast move still fills.
- A position already in profit that you want to let run: trailing stop. Our trailing stop loss guide covers how to size the offset and the cases where it backfires.
How to set a stop loss on Schwab.com, step by step
Schwab's trailing stop tutorial for the All-In-One Trade Ticket shows the full flow. A plain stop follows the same path; you choose a stop order type and type a stop price where the trailing version asks for a trailing amount.
- Log in, click Trade, and select All-In-One Trade Ticket.
- Enter the symbol and set the action to Sell.
- Enter the quantity. For a full stop loss, that is every share you hold.
- Open the Order type menu and pick the stop type you want. For a trailing stop, Schwab's tutorial selects Trailing Stop, then chooses points or percentage and enters the amount (the example uses 10%).
- Choose the timing: Day only or Good till Canceled.
- Click Review Order. Schwab calls the review screen "the last opportunity to go back and make corrections prior to placing the order," so check the side, quantity, and stop price here. A buy stop entered by mistake would trigger as the stock rises and add to your position.
- Confirm the disclosures and click Place Order.
The order now sits in your order status list until it triggers, you cancel it, or the time in force runs out.
How to set a stop loss on the Schwab Mobile app
The mobile flow mirrors the desktop ticket. Schwab's mobile trailing stop walkthrough goes like this:
- Tap Trade in the app menu.
- Search for the symbol, then set the action to Sell.
- Enter the quantity.
- Tap Order type and choose the stop type. For a trailing stop, pick points or percentage and enter the trailing amount.
- Select Day only or Good till Canceled.
- Tap Review order, check every field, and tap Place order.
The narrator repeats the warning that matters on both platforms: trailing stops become market orders when triggered, and "the resulting trade price may be above, at, or below the trailing stop's trigger price itself."
How to set a stop loss on thinkorswim desktop
The fastest way to protect a position you already hold is to build the stop from the position itself, so the quantity fills in automatically. This is the path in Schwab's tutorial on trailing stops in thinkorswim desktop:
- Go to Monitor, click Activity and Positions, and scroll to your positions.
- Right-click the stock, hover over Create closing order, and click with STOP.
- thinkorswim opens the Trade screen with an order to sell the exact quantity you own as a sell stop. Set the stop price in the Price column.
- Under TIF, change DAY to GTC if you want the order to stay working past today.
- Click Confirm and Send, review the confirmation, and click Send.
To make it a trailing stop instead, click STOP in the Order column and select TRAILSTOP. The offset defaults to minus $0.10; type your own offset and press Enter. Under Link, choose the price the stop trails. Schwab suggests MARK (the midpoint of bid and ask) for stocks with tight spreads, because it is less likely to react to one odd print, and BID for stocks with wider spreads, though BID reacts more to short swings.
The trailing stop links page lists every option: LAST, BID, ASK, MARK, and the average fill price of your position (AVG PRC), each available as a dollar offset, a percent offset, or an offset in ticks. Trailing from AVG PRC is useful when you want the stop measured from what you paid rather than from the latest quote.
Working stops appear under Monitor, then Activity and Positions, then Working Orders, newest first. To cancel one, click the menu icon at the end of the row and choose Cancel order.
One detail from Schwab's disclosures explains a lot of "my stop never showed at the exchange" questions: trailing stops and other conditional orders are held on Schwab's servers and are not routed until your conditions are met.
How to set a stop loss and take profit together
Setting a stop and a profit target as two separate orders creates a trap. If the target fills first, the stop is still working against shares you no longer own, and if price then falls through it, the stop can open a short position. Schwab's advanced order types article gives the fix with an example: a trader buys at $40, wants a 30% profit and no more than a 10% loss, and places a one-cancels-other (OCO) pair with a sell limit at $52 and a sell stop at $36. When one fills, the other is canceled.

On Schwab.com, open the All-In-One Trade Ticket and click Add Conditional at the bottom. Schwab's conditional order video lists four types:
- One Cancels Other: two orders at once; if either fills, the other is canceled. Use this to protect a position you already hold.
- Order 1 Triggers Other: a second order goes in only after the first fills.
- Order 1 Triggers OCO: an entry order that, once filled, submits a stop and a target as an OCO pair. This is a full bracket placed in one ticket.
- Contingent: an order submitted automatically when criteria you define are met.
Fill in up to three orders, click Review Order, confirm the alerts for each order, and place it.
On thinkorswim, select the stock on the Trade tab and choose Buy custom (or Sell custom for a short), then with OCO Bracket. That loads an entry plus a stop and a limit you can edit before sending. The thinkorswim order types table describes the larger family behind the Advanced Order menu:
- 1st Triggers OCO: buy 100 shares; when that fills, it triggers an OCO for your profit target and stop loss.
- 1st Triggers 2 OCO and 1st Triggers 3 OCO: buy 200 or 300 shares and split the exit into two or three 100-share OCO brackets, each with its own target and stop. This is how you scale out in pieces.
- 1st Triggers Sequence and 1st Triggers All: one order triggers up to seven more, either one after another or all at once.
Match the time in force across every leg. Schwab's advanced order article says the time in force for each order in a conditional group should be identical. Mix a DAY stop with a GTC target and the stop expires at 4 p.m. while the target keeps working, so the position sits overnight with only half a bracket.
Stop orders in thinkorswim Active Trader
Day traders mostly set stops from the Active Trader ladder, where each price level is a row you can click. The thinkorswim manual's page on entering orders in Active Trader gives the rule for which click does what:
- Set the quantity in the second line of the Big Buttons panel.
- In the Ask Size column, clicking below the current price adds a sell stop; clicking at or above it adds a sell limit.
- In the Bid Size column, clicking above the current price adds a buy stop (the stop for a short); clicking at or below it adds a buy limit.
To attach a stop and a target to the entry automatically, choose TRG w/bracket in the Big Buttons panel. Two extra orders appear, a limit and a stop. Keep both enabled for a first-triggers OCO bracket, or disable one. Set the offset from your entry as a dollar amount, ticks, or a percentage. Once the order is working, the entry and its bracket show as bubbles on the ladder. Dragging the entry bubble moves the bracket with it and keeps your offset; clicking the × on the entry bubble cancels the whole group.
There is a risk here the manual flags in bold. With Auto Send on, orders go out the moment you click, with no confirmation window and none of the usual warnings. A misclick in the wrong column places a buy stop where you meant a sell stop. If you use the ladder for stops, leave Auto Send off until you are certain of the column layout.
How to set a stop loss on options in thinkorswim
You can place a stop on an option contract the same way as on a stock: load the specific contract in the order entry or in Active Trader, and choose a stop or stop limit to sell. The thinkorswim manual notes that once the option symbol is loaded, the Active Trader ladder works the same as for any other instrument.
The problem is the trigger. An option's bid and ask can sit far apart, and a momentary quote swing can trip a stop on the premium while the underlying stock has barely moved. Three ways to handle it:
- Use a stop limit, so a triggered order cannot sell at a quote far below fair value. It may not fill in a fast move, which is the tradeoff.
- Trail from the MARK, so the trailing stop follows the midpoint instead of a stale bid.
- Trigger the exit from the stock's price. thinkorswim lets you attach rules to an order that submit or cancel it when a condition is true. Per the manual's page on thinkScript in conditional orders, you click the gear icon in the Order Rules column, type the symbol the condition should watch, set the method to STUDY, and define the condition in the Condition Wizard or the thinkScript editor. Read the Description box before you save; it spells out in plain text what the rule will do. A study used as a condition must have exactly one plot.
A related question comes up from people who sell puts: can a stop loss turn on automatically when shares are assigned? One r/options poster who was short puts wanted a stop to activate "once the shares hit my account." We could not find a Schwab document that covers placing a stop on shares that do not exist yet. The reliable route is to check positions on the morning after assignment and place the stop then, or to ask Schwab's trade desk whether a contingent order fits your case.
Time in force: why a Schwab stop does nothing after hours
Schwab's extended-hours trading guide states the rule plainly: only limit orders are accepted in extended hours. Market, stop, and stop limit orders cannot be placed in those sessions. Your stop loss protects you from 9:30 a.m. to 4 p.m. ET and nowhere else.

The timing options for stock orders at Schwab:
- Day only: active for one regular session.
- Good till canceled (GTC): active between 9:30 a.m. and 4 p.m. ET for up to 180 calendar days unless filled or canceled.
- Day + extended hours and GTC + extended hours: active from 7 a.m. to 8 p.m. ET. These apply to limit orders, which is why they do not help a stop.
On thinkorswim the extended-hours versions are labeled EXTO and GTC+EXTO, and thinkorswim also offers 24/5 overnight trading on selected securities. A stop still does not work in those sessions.
The practical effect: if a company reports earnings at 4:05 p.m. and the stock drops 15% after hours, your stop sits idle all evening. At 9:30 the next morning it triggers, becomes a market order, and fills near wherever the stock opens. The 180-day limit is the other trap. A GTC stop placed in spring can quietly expire in autumn, so check your working orders when you review the position.
Where to put the stop: a worked example
The price you type decides whether the stop does its job. Here is an illustrative example, with made-up numbers chosen to show the method.
You have a $26,000 account and you risk 1% of it per trade, so $260. A stock pulled back to a support zone with a swing low at $47.80, held there for two days, and you bought 100 shares at $50.00 as it turned up.
- Anchor the stop to structure. The swing low at $47.80 is the price where your trade idea is wrong. Put the stop a little below it, at $47.40, so a brief poke under the low does not trigger it. Our guide on where to place a stop loss covers the other anchors (ATR, prior day's low) in detail.
- Size from the stop distance. $50.00 minus $47.40 is $2.60 a share. $260 divided by $2.60 is 100 shares. If the structural stop were wider, you would buy fewer shares; you would not move the stop closer to fit a bigger position.
- Set the target from the chart. The prior swing high is at $55.20, $5.20 above entry, which is twice the risk.
- Enter it as one order. On Schwab.com, an Order 1 Triggers OCO with a buy limit at $50.00, a sell stop at $47.40, and a sell limit at $55.20, all GTC. On thinkorswim, Buy custom with OCO Bracket and the same prices.
Line chart of an illustrative daily price path over 12 days. Price falls from 51.20 to a low of 47.90 on day 5, near the 47.80 swing low, then rises to 50.00 on day 8 where the trade is entered, and climbs to 54.10 by day 12. Dashed horizontal lines mark the stop loss at 47.40, the entry at 50.00, and the take profit at 55.20, just under the prior swing high.
The 1% figure is a common starting point for sizing; the full reasoning, including how losing streaks compound, is in our risk management guide. Nothing about this setup makes the trade likely to win. It makes the loss a known size if it does not.
When a Schwab stop loss fills somewhere you did not expect
Schwab's own order types article walks through the case that catches most people. A stock closes above $34, bad news lands overnight, and it opens near $32. A sell stop at $34 triggers at the open, becomes a market order, and fills around $32, "significantly lower than intended." A stop limit at $34 with a $33 limit does not fill at all, and the trader is left holding the stock, watching it trade lower and hoping for a return to $33.

Apply that to the worked example. Suppose you hold through an earnings report and the stock opens at $45.10.
Bar chart of the loss on 100 shares bought at 50.00 in three illustrative cases: the planned stop fill at 47.40 loses 260 dollars, a stop market order filled at a 45.10 gap open loses 490 dollars, and an unfilled stop limit with the stock later at 43.00 leaves an open loss of 700 dollars.
The stop market order did its job: it got you out. It just could not get you out at $47.40, because no trades happened between the close and the open. The stop limit kept you from selling at $45.10 and left you in a position with no exit at all.
Other causes of a fill far from the stop price:
- Thin trading. In a low-volume stock, the next trade after your stop triggers can print well below it.
- A fast market. During a sharp move, a stop market order competes with every other order hitting the bid at the same moment. Schwab's article on advanced orders notes that once activated, a trailing stop "competes with other incoming market orders."
- Trailing from the wrong price. A trailing stop linked to LAST in a stock with odd prints can trigger on a single trade that the bid and ask never confirmed.
The only defenses are partial. Size the position so the gap case is survivable, decide before earnings whether to hold through the report, and use a stop limit only where you would rather keep the shares than sell at any price.
Common mistakes
- Leaving the stop on DAY. The order expires at 4 p.m. and the position sits unprotected tomorrow. Switch the time in force to GTC, and put a reminder in your calendar before the 180-day limit runs out.
- Separate stop and target orders. If the target fills, the stop is still working and can open a short. Link them with OCO.
- Mismatched time in force across bracket legs. One leg expires at the close and the bracket breaks. Set every leg the same.
- Expecting the stop to work after hours. It does not. Plan around earnings and overnight news instead.
- Using a stop limit with the limit right under the stop. On any real gap it will not fill. Leave room, or use a stop market order.
- A trailing stop on a stock that does not qualify. Trailing orders are only accepted for stocks on NASDAQ, NYSE, and AMEX; others get rejected.
- Auto Send in Active Trader. A click in the wrong column sends the wrong order with no confirmation.
- Moving the stop further away after entry. That raises the risk you sized for. Moving it closer, or up as the trade works, is fine.
FAQ
Can I set both a stop loss and a take profit on Schwab? Yes. On Schwab.com, click Add Conditional in the All-In-One Trade Ticket and choose One Cancels Other for a position you already hold, or Order 1 Triggers OCO to enter and bracket in one ticket. On thinkorswim, use Buy custom with OCO Bracket, or the 1st Triggers OCO order type.
How do I set a stop loss on options in thinkorswim? Load the option contract and place a sell stop or stop limit as you would for a stock, or use the Active Trader ladder with the contract loaded. Because option spreads are wide, a stop limit or an order rule that triggers on the underlying stock's price usually fits better than a plain stop on the premium.
Does a GTC stop loss work in premarket or after hours? No. Schwab accepts only limit orders in extended-hours sessions. A GTC stop is active from 9:30 a.m. to 4 p.m. ET.
How long does a GTC stop loss last at Schwab? Up to 180 calendar days, unless it fills or you cancel it.
Why was my trailing stop rejected? The thinkorswim manual says trailing stops and trailing stop limits are accepted only for stocks that trade on NASDAQ, NYSE, and AMEX. Check the listing exchange. Also check that the order is a sell for a long position, with the offset below the market.
Is there a quick way to set a stop loss on thinkorswim? Two. Right-click a position under Monitor, then Create closing order, then with STOP, which fills in the quantity for you. Or in Active Trader, click in the Ask Size column below the current price to add a sell stop at that level.
Will my stop loss be at the exchange where other traders can see it? Per Schwab's disclosures, trailing stops and other conditional orders are held on Schwab's servers and are not routed until your conditions are met.
Does a stop loss guarantee my exit price? No. A stop market order becomes a market order when triggered and can fill well below the stop price in a gap or a fast market. A stop limit caps the price but may not fill.
From the chart to the order ticket
Every step above assumes you already know where the stop belongs. That number comes from the chart, at the level where the trade idea stops being true. Quant AI reads a chart screenshot and marks the support and resistance levels it finds, which gives you candidate stop and target prices to check before you type them into Schwab. Whether the level is real and how many shares to buy stay your call, and no stop removes gap risk.