Order depending on another order executing?

Discussion in 'Trading Software' started by samovar, Nov 20, 2013.

  1. samovar

    samovar

    I'm using InteractiveBrokers TWS and want to create an order that will only execute if another order executes. How can I do that? The One-Cancel-All works both ways, one order executing cancels the other, but I want only the execution of a specific order to trigger the execution of another.

    Example:

    I have a vertical spread,

    +1 XYZ PUT 40
    -1 XYX PUT 45

    On the PUT 45, I have a BUY LIMIT order to close the position with a profit. As soon as that order executes, I have no need for the long PUT 40 position, so I want a MARKET order automatically created to liquidate it.

    How can I do that?

    I checked the IB order types help but the best workaround I found was to create a conditional order for the long PUT, depending on the price of the short put, which I could set to be equal to the LIMIT price. However, that's brittle, because,
    * my PUT 45 closing order might not execute at my limit price and the PUT 40 conditional sees the limit and closes at MARKET and I end up with a naked PUT,
    * or if I set the PUT 40 conditional price at the next tick below the LIMIT price, then I risk losing the tick difference.

    So is there a way to condition an order to the execution of another order?
     
  2. samovar

    samovar

    Anyone?
     
  3. 2rosy

    2rosy

    just buy the spread in one go
     
  4. samovar

    samovar

    That would work, but again is pretty inefficient. What if I want to buy the long leg later? Or what if it's not a combo I bought at once but just an order I want executed once another order is executed?

    I'm looking for a general solution to that problem, executing an order only after another order is executed.
     
  5. bone

    bone

    I agree.