Assume that I will send 100 limit on open orders for tomorrow's opening, I don't know how many of them will be filled, maybe 5, maybe 10. My goal is to set a fixed dollar value for all filled orders for tomorrow, like $10000 for tomorrow's opening. if 5 limit orders are filled at the opening, then $2000 for each order; if 10 orders are filled at opening, then $1000 for each. Is that even doable with IB(even with other market data API)?
How can you target a fixed dollars filled if you don’t know if you’ll get filled on a particular order? You could either 1. Use market orders and have a rough idea for how much each would be based on the last trade and divide up your purchases that way, or 2. use limit orders for a fixed dollar size (that you calculate based on your number of stocks for that day and your limit price), and then you just hope you get filled
The question doesn't make logical sense, and doesn't apply to IB or any broker. You can't change order amount after it's filled. If you get a fill for a $2000 order then you cannot later decide that you wanted $1000 order.
Thanks for the feedback. I was initially thinking: 3 mins before the market open, based on pre-market prices of those 100 tickers I can have a rough idea about how many of them are likely to be filled at the opening, then I cancel all impossible ones and re-adjust the possible ones(may 5 left) to the right dollar amount($10000/5), and wait for them to be filled at the opening?
Ridiculous. You're asking a platform to look ahead in time to allocate your capital based on future trades that may never happen. The last guy who tried to pull that off is currently serving 16-20.
In that case you're the one who may have an idea, not the broker, so why ask about the broker doing something that only you can estimate? Though yes, you can adjust your orders however you like, especially via API.
I can probably tolerate and check the market price right after open at 9:30 and then decide, but can't go too far into open(because the price can quickly go up after open price, and I will miss the open price by too far)
Create basket orders and when it reaches your dollar amount, stop-pause executions. Of course you might-probably will overshoot and you have to manually stop it. Another shotgun approach that will be abandoned quickly. An example of theory and practice being different.