Does this order type exist?

I know that, I mean I want the trailing stop order to become active without having any parent. So when the price hits the stop price, I am opening a short position of X shares, NOT closing a long position of X shares. I'm not sure how else I can explain it.

I've read through all of IB's order types, there doesn't seem to be anything that suits. I guess it can be done with some combo perhaps, but I can't figure it out.


I'm trying to follow this but I'm struggling. Could you give me an example?

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.
 
Essentially I want to place a trailing stop limit to sell with a trigger above the current market price.

Example:

XYZ trading at 100. I have no position. When the price rises to 110, I want to trigger a sell limit if touched order @ 105 (same limit/trigger price). If the price rises to 115, I want this sell limit if touched to rise further to 110 and so on. If the price falls, I don't want it to move.

Is there any way to do this with IB? Specifically, using the API.
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.
 
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...
 
... 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. ...
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.
 
Back
Top