How does the OCA orders work with IB

How does my OCA orders placed through the C2 signal Entry API work? IB will get the OCA orders and when the subscriber with the 100% scaling to the system model account will have a loss of market exposure and since the OCA orders are grouped into 4 out of 95 stocks there will be times for the subscriber with the ib account who has 200% scaling to the 50k of my system that is 100k then he will be fine with only 4 fills on the days where there is a fast moving downward in price.



I’m afraid I do not understand your question.


I think what the vendor is asking is the following:

No matter what scaling the subscriber uses and no matter how fast the market dives on a bad down day, as long he submits his 95 orders grouped in 4 OCA groups the maximum number of contracts a subscriber could get filled with is 4. Is this correct?


I mean if I use the c2 order API and send through 95 limit orders and group them into 4 groups of OCAs. My system is at $50k model account. Subscriber 1 who is using $100k at ib will get the OCAs and on a fast moving day he will only get 4 fills. I only want him to get 4 fills hence 4 groups of OCAs. Subscriber 2 with an account at ib with only $50k would get the same OCA orders in ib with some disadvantage to his exposure since there will be problems when only one out of the group 1,2,3,4 will be filled and if there are 2 in the same group then he will not get that second one. So am i correct in saying that all orders will be on IB the same no matter how much they have in their accounts?



I understood Karl’s question, but not San’s.

Well, let me try to answer a question, anyway – regardless of whether it was actually asked. Perhaps the answer will still be helpful.

(And incidentally, whether or not you use Interactive Brokers for your personal trading is not relevant to the following answer.)

If you deliver OCA orders to C2, there is no guarantee that a fill in an OCA order group will with 100% certainty cancel orders in the same OCA group. It is entirely possible that standing orders working in the marketplace will be filled simultaneously. This possibility increases during violent and correlated market moves.

Admittedly this scenario doesn’t happen very often, but that’s small comfort. When it happens, and you don’t want it to, you’ll be unhappy.

This is the reason most retail brokers will count against your available margin all pending orders, even those that haven’t filled yet, and even those that will be canceled when a predicate order fills.

So, the main point is this: OCA is a convenience, one that usually works fine, but do not rely on it to 100% eliminate the risk of over-trading. Fills can and will happen simultaneously. The only way to prevent multiple fills is to submit only one order at a time and confirm the result of that trade (cancel or fill?) before submitting another one.


If I may add two points to your answer:

1) IB does not count the pending orders against your margin as most retail brokers do.

2) Another way to protect yourself of overfills is to open a separate broker account (and C2 account) and just fund it with the same amount as in the model account. Again, there is an exception with C2 which works against your overfilll protection: During the day IB has only a 25% margin requirement in a regular T-Regulation margin account (4:1 leverage) and only 10 minutes before closing it will revert to 50% margin requirement. Any overfills, should they have happened, will then be closed out by a margin call if you have them not closed out yourself before that.


Correction: I meant to say there is an exception with IB, not C2.


Hi guys,

Just came across this thread and hoping you can help me!!!

I am having a very hard time trying to figure out how to do something relating to IPO trades.

Let’s say I have $100,000.

I know there will be 2 IPOs tomorrow morning, and I know the symbols. The IPOs have priced, but not traded yet.

I want to buy $50,000 of each of them at whatever price they open at.

How do I acheive this?

I could use a limit order but the problem is that I don’t know what the opening trade will be. Say the stock XYZ is priced at $10 and I use a limit of $20. I would then put in a limit order for 2500 shares. Now the stock opens at $12, and the limit is triggered, so I have now bought 2500 shares at $12 for $30,000 worth. I still need to buy another $20,000 worth. But I have to be awake and on the gun to buy the stock, and I probably will have missed the opening price.

Someone suggested using OCA orders, so I set up an Interactive Brokers account. I entered various orders and made One Cancel All. But the problem is IB requires you to post margin for each trade, even though it isn’t live. So that’s impossible unless you had a lot more money than you wanted to trade. In this case I want to trade as much as I have.

Does anybody have any ideas?

Thank you!