Those bids might be taken by other traders who've sent their orders at the same time split second before you or those bids might have been withdrawn by the time your order was filled. So even though you see the bids, they could be gone by the time your order is filled. How to minimise it in the future? Use limit orders!!
Here is the top of book from each exchange just prior to the 100 share trade at 18.46 on nasdaq that likely triggered your stop loss at 09:31:25.151741019 (SIP time) 09:31:25.151723197 (nsdq book): A 09:31:05.897750920 1 18.38 18.93 1 09:31:05.897379840 B 09:31:15.225533646 2 18.33 18.84 1 09:31:15.225516076 C 09:31:05.276916331 1 18.35 18.95 1 09:31:05.276548608 J 09:31:04.036662566 1 18.31 18.99 1 09:31:04.036470000 K 09:31:05.419354576 1 18.05 18.8 1 09:31:05.419163000 M 09:31:09.308754708 1 18.41 18.93 1 09:31:09.308520000 N 09:31:05.587082267 1 18.38 18.93 1 09:31:05.586717184 P 09:31:07.578034696 3 18.38 18.92 1 09:31:07.577657600 Q 09:31:25.151743657 1 18.46 18.58 1 09:31:25.151723197 V 09:31:00.228520727 0 0.0 0.0 0 09:31:00.228295076 X 09:31:25.151623765 4 18.35 18.79 3 09:31:25.151603678 Y 09:31:05.897043399 2 18.32 18.99 1 09:31:05.896854000 Z 09:31:06.240692618 1 18.44 18.87 1 09:31:06.240509000 Nasdaq Book at same time 18.1 B 1000 09:30:00.391012195 1 18.15 B 660 09:30:00.391012195 1 18.18 B 100 09:30:00.391012195 1 18.23 B 900 09:31:00.035034340 1 18.4 B 560 09:30:00.391012195 1 18.43 B 400 09:31:07.577524230 1 18.45 B 100 09:30:35.390419542 1 18.46 B 200 09:30:00.391012195 1 So someone takes 100 shares at 18.46 triggering your stop loss. Let's say you have some HFT infrastructure with 30 us of latency tick to trade, and that trade triggers your signal to take, the top of book 30 us later at 09:31:25.151753197 (nsdq book) A 09:31:05.897750920 1 18.38 18.93 1 09:31:05.897379840 B 09:31:25.151749108 2 18.33 18.84 1 09:31:25.151731873 C 09:31:05.276916331 1 18.35 18.95 1 09:31:05.276548608 J 09:31:04.036662566 1 18.31 18.99 1 09:31:04.036470000 K 09:31:05.419354576 1 18.05 18.8 1 09:31:05.419163000 M 09:31:09.308754708 1 18.41 18.93 1 09:31:09.308520000 N 09:31:05.587082267 1 18.38 18.93 1 09:31:05.586717184 P 09:31:07.578034696 3 18.38 18.92 1 09:31:07.577657600 Q 09:31:25.151743657 1 18.46 18.58 1 09:31:25.151723197 V 09:31:00.228520727 0 0.0 0.0 0 09:31:00.228295076 X 09:31:25.151623765 4 18.35 18.79 3 09:31:25.151603678 Y 09:31:05.897043399 2 18.32 18.99 1 09:31:05.896854000 Z 09:31:06.240692618 1 18.44 18.87 1 09:31:06.240509000 nasdaq book at same time: 18.1 B 1000 09:30:00.391012195 1 18.15 B 660 09:30:00.391012195 1 18.18 B 100 09:30:00.391012195 1 18.23 B 900 09:31:00.035034340 1 18.4 B 560 09:30:00.391012195 1 18.43 B 400 09:31:07.577524230 1 18.45 B 100 09:30:35.390419542 1 18.46 B 100 09:31:25.151723197 1 so if you sweep 715 shares at that time, then could take the first 3 levels at nasdaq with 600 shares, 100 shares from bats at 18.44, and 15 off chicago at 18.41 for an avg price of 18.4379 for a slip off the triggered price of ~12 bps but since you're not paying for the kind of infrastructure you'll have some additional latency, I think I see your first trade for 100 shares on nasdaq at 18.24 at 09:31:25.245422358 (nsdq, 93ms after the trigger), so just prior to your trade it looks like: A 09:31:25.174794465 0 0.0 18.93 1 09:31:25.174409472 B 09:31:25.226858704 2 13.9 18.8 1 09:31:25.226843746 C 09:31:25.177924333 1 18.24 18.95 1 09:31:25.177546240 J 09:31:25.243581022 1 17.01 18.99 1 09:31:25.243400000 K 09:31:25.223810856 1 18.05 18.8 1 09:31:25.223617000 M 09:31:25.168932049 0 0.0 18.93 1 09:31:25.168719000 N 09:31:25.175549869 1 13.9 18.93 1 09:31:25.175170816 P 09:31:25.224430731 1 18.24 18.87 4 09:31:25.224057600 Q 09:31:25.179478983 1 18.24 18.8 3 09:31:25.179463534 V 09:31:25.191275181 7 17.95 19.05 3 09:31:25.190976990 X 09:31:25.235604610 2 13.9 18.55 1 09:31:25.235587429 Y 09:31:25.243573170 1 17.01 18.99 1 09:31:25.243392000 Z 09:31:25.243572004 2 18.24 18.64 1 09:31:25.243387000 nsdq order book: 18.1 B 1000 09:30:00.391012195 1 18.15 B 660 09:30:00.391012195 1 18.18 B 100 09:30:00.391012195 1 18.24 B 100 09:31:25.176755270 1 after your first 100 share trade: A 09:31:25.174794465 0 0.0 18.93 1 09:31:25.174409472 B 09:31:25.226858704 2 13.9 18.8 1 09:31:25.226843746 C 09:31:25.177924333 1 18.24 18.95 1 09:31:25.177546240 J 09:31:25.243581022 1 17.01 18.99 1 09:31:25.243400000 K 09:31:25.223810856 1 18.05 18.8 1 09:31:25.223617000 M 09:31:25.168932049 0 0.0 18.93 1 09:31:25.168719000 N 09:31:25.175549869 1 13.9 18.93 1 09:31:25.175170816 P 09:31:25.224430731 1 18.24 18.87 4 09:31:25.224057600 Q 09:31:25.245439390 1 18.18 18.8 3 09:31:25.245422358 V 09:31:25.191275181 7 17.95 19.05 3 09:31:25.190976990 X 09:31:25.235604610 2 13.9 18.55 1 09:31:25.235587429 Y 09:31:25.243573170 1 17.01 18.99 1 09:31:25.243392000 Z 09:31:25.243572004 2 18.24 18.64 1 09:31:25.243387000 what is a bit odd is that they didn't take more at that time since there definitely was an opportunity to, another 400 shares at 18.24, but the next time they took liquidity was at 09:31:26.340371419 (1.18 seconds past the trigger price), where you have the two 300 share execs on nsdq, just prior to those execs: A 09:31:26.211142997 0 0.0 0.0 0 09:31:26.210768640 B 09:31:25.887333693 2 13.9 18.8 1 09:31:25.887318133 C 09:31:26.336501454 1 13.9 23.15 1 09:31:26.336132352 J 09:31:26.338115693 1 17.01 18.41 1 09:31:26.337927000 K 09:31:26.339484952 2 18.15 18.48 3 09:31:26.339304000 M 09:31:26.336292320 0 0.0 0.0 0 09:31:26.336086000 N 09:31:25.339247860 1 13.9 18.48 1 09:31:25.338882048 P 09:31:26.340064126 2 18.15 18.75 2 09:31:26.339691264 Q 09:31:26.339196576 6 18.15 18.59 5 09:31:26.339181079 V 09:31:26.182811568 0 0.0 0.0 0 09:31:26.182600485 X 09:31:25.245825513 2 13.9 18.91 1 09:31:25.245809315 Y 09:31:26.338107758 1 17.0 18.41 1 09:31:26.337922000 Z 09:31:26.339473400 2 18.15 18.49 1 09:31:26.339298000 I think the 93 ms is very reasonable for the first execution and they could have taken more then, the 1.18 seconds later for the remaining executions seems a bit odd, my guess is after the first exec you got put back in line on some queue before they evaluated their sor again, but I guess you get what you pay for... as far as the larger trades you mentioned.. most of them occurred at dark pools, also some might have had a min qty specified which wouldn't interact with your order, and there are a lot of dark pools so even if IB pinged a few of them it's likely that liquidity would have been missed, but regardless there was opportunity to be better, not sure what the expectations should be through them or what they might advertise though
A stop-limit doesn't help at all. The point is to get out A stop-limit doesn't help at all. The point is to get out of the position at around a certain price for him. No execution is the worst case scenario. I would probably send at midpoint in his case, better than an obvious sitting limit order anyway.
You can't have it both ways. You get to decide when to get out and at what price, only one of them. You want to control when you will get out, then you don't get a certain price; the market will determine which price you will get out. If you want to control the price that you get out at, then the market will determine when you get out. Even if you send it at midpoint with a stop order, you still won't be able to control the price that it's ultimately filled at; you will still be vulnerable to slippages, that's just unavoidable. A stop-limit order is essentially still a limit order. It's just a limit order after the stop price is triggered.
True, but I have a compromise solution ... Although I don't use it as stops are for sissies Have a two tiered stop using OCO order. For a long, place one stop limit order at your regular stop price and the other market stop order at your "get me out at any price." If the stock trades through your limit price, the market order will kick in and the limit will be cancelled. Hopefully, most of the time, you will get out at limit. You may have to use all or none. I don't know what your strategy is but over the long run, you may be better off exiting with MOC orders and eating occasional big loss. Record this for some time and see for yourself.
I'm always intrigued when I see a post from a member who hardly posts, yet has been registered for a very long time, and answers the question with facts and much more depth than anyone else. Makes me think that the best traders are the ones who do the least amount of talking. I think ET has some so called whales lurking in the shadows.
That's still basically a stop market order. If you were able to get out at your stop price with no slippages, you wouldn't need the limit order in the first place and you would've gotten out already with just the stop order. But the reason why you got the slippages was because you couldn't as the price moved too fast past your stop price and you had to get out at whatever the price was available so the OCO won't save you and is redundant because you would've still ended up with a stop market order. You could've done it with just one stop market order. You can't have it both ways. You either decide the price that the order is filled or the time it's filled but not both.
The idea is that often the stop gets triggered by 100 share trade through (in some venues/brokers simply by lowering the bid!). Once the stops are hit (or no more sellers found), the price goes right back up. If you trade these kind of stocks, you are not trying to eliminate slippage/stoppage but rather reduce it. Dumping 5k because some piker (or HFT) had 100 share stop hit!? For people who trade automated, you can implement a smarter stop where you only get stopped if certain amount of shares trade through or get even fancier. No magic bullet though. Thanks for encouraging words! Lol. Very true though and I wish more would contribute. But beggars can't be choosers