Hi everyone, Here comes yet another rant about IBKR’s order capping that’s driving me nuts. I trade highly volatile U.S. penny stocks (typically priced <$5) using the IBKR TWS API right after the market opens (9:31:xx). These stocks can move 10%+ in a minute, and my goal is to buy as soon as I get a signal driven by my algorithm. The problem: Limit orders: Even if I set a limit 4-5% above the last snapshot price, IBKR caps the order with the message: “BUY xxx YYY NASDAQ.SCM In accordance with our regulatory obligations as a broker, we will initially cap (or limit) the price of your Limit Order to zzz or a more aggressive price still within your specified limit price. If your order is not immediately executable, our systems may, depending on market conditions, cap your order to a limit price that is no more than the allowed amount away from the reference price at that time. If this happens, you will not receive a fill. This is a control designed to ensure that we comply with our regulatory obligations to avoid submitting disruptive orders to the marketplace. Please note that in some circumstances this may result in you receiving a less favorable fill or not receiving a fill. In the future, please submit your order using a limit price that is closer to the current market price or submit an algorithmic Market Order (IBALGO). If you would like to cancel your order, please use cancel order action.” This delays or even prevents fills. Market orders: They’re treated as capped limit orders under the hood and fill just as slowly and give the same errors! IBALGO MKT/LMT Urgent: Too slow - takes 30+ seconds to fill, and by then the price is gone. PEG/REL orders: They chase the NBBO, which is often lagging by seconds, so no fills at all. IBKR seems to cap my order based on a stale NBBO reference instead of the actual market price. By the time the cap lifts (if at all), the price has already run away, and I miss the trade. Their cap logic is killing every single opportunity I have to get in on a fast move, even when I’m setting perfectly reasonable limits. I’m using SMART routing. For non-algorithmic orders, I’m using sweep to fill. My question: How do you get immediate fills on these stocks using IBKR TWS API in this kind of market? Are there any workarounds or specific order flags/configs that actually bypass IBKR’s internal capping logic - or at least dynamically and urgently ride the wave of this cap so I can get in on the price action before it’s too late? Or is there just no real way around this with IBKR, and it’s time to look at another broker for these fast trades? Any advice, workarounds, or even war stories would be really appreciated! Thanks!
Don't trade penny stocks. Those are weird. No one takes those seriously. Not that liquid. And they're not scalable. You will never be a real trader by dabbling in penny stocks If you're horny for volatility...look into 0dte options day trading. Those certainly move a range
If your order is not immediately executable, our systems may, depending on market conditions, cap your order to a limit price that is no more than the allowed amount away from the reference price at that time. If this happens, you will not receive a fill. No one is willing to take the other side of your order, so they are not taking the risk.