An IOC order executes immediately and cancels whatever cannot fill.
Implement ioc_buy.
ioc_buy
Trying to buy 8 base units against:
8
2
100
3
105
Only 5 units can fill:
5
filled = 5 spent = 2*100 + 3*105 = 515 canceled = 3