I considered that but then I saw this https://quant.stackexchange.com/que...r-when-price-hits-a-certain-level-with-ib-tws which suggests that you can't add conditions to trailing stop orders. Although that was 3 years ago, perhaps it's changed since then.
Say XYZ is trading at $50.00. You have $10.00 in profits having bought it at $40.00. By your analysis, XYZ can hit $60.00 or even higher. So you place a limit order to sell your 100 shares of XYZ at $60.00. Then, you place a trailing stop order to move $1 below the current price. This would be a good till cancelled order which is good for about 60 days duration. This combination order of the limit order and trailing stop order is an OCO or one cancels the other. It just means once, one of the orders gets executive say, XYZ hits $60.00 and gets sold, then, your pending trailing stop order gets automatically, cancelled by your broker. If on the other hand, your trailing stop gets triggered and executed say at $55.00 then, your limit order to sell at $60.00 will be cancelled by your broker. I use TD Ameritrade where this type of combination order is allowed. I do not know about Interactive Brokers. Ask customer service or the trade desk. They should know and can assist you if that type of combination order OCO is allowed by IB.
You mention that you want to use IB's API. So you are not limited to IB's order types because anything that you can come up with can be programmed. What you can't do is to "fire and forget" this specific order of yours. It doesn't sound like something that IB's server can handle for you. You'll have to write some code to always monitor the price of the stock and send the order line once your trigger point has been met. This implies that the order remains on your computer until you send it.
Yeah I could write some code, but monitoring prices on my side through IB's api stream is very slow and inefficient relative to having them sit on IB's side, especially with multiple orders. Slippage galore. But looks like it might be my only option...
Really, is your internet connection that slow? Or are the stock tickers which you monitor so very volatile? I don't think that a live stream (reqMktData) causes that much time delay, unless you are a high frequency trader.