I'd like to place the following kind of order: If XYZ opens at or above 50.01, buy 100 shares (i.e. buy stop at 50.01). ELSE if XYZ opens at or below 49.99, short 100 shares (i.e. sell stop at 49.99). This seems suitable for a one-cancels-other order, but here is my concern. Let's say XYZ opens down at 49.98. Due to the uptick rule, I won't get filled immediately. Let's say the next tick is at 50.02. At 50.02, both my buy order and sell order are valid. Which one will get filled, and which one will get cancelled? Is there a way to deterministically achieve the behavior I'm looking for above, apart from custom programmatic trading? What I would REALLY like to be able to do is is to be able to place two "-on-open" orders -- one to buy the open if it is above 50, and one to sell short (with a possible limit) if the open is below 50. After the open, either I will have bought the opening print above 50 (and cancelled the short order), or will have an open order to sell short below 50 (and cancelled the buy order). Any thoughts on how I can get this kind of order with any existing brokers?