I was mistakenly under the impression that if I create a SMART sell order that it would fill at the best price
Contract contract = new Contract();
contract.symbol(symbol);
contract.exchange("SMART");
Order order = new Order();
order.clientId(clientId);
order.orderType("LMT");
?
but today in fact it did not find me the best price.
Now part was due to some lazy programming on my part. I received a quote of a bad, low price, and didn't double check it.
Regardless of that issue, I really thought that IB would fill my order at a reasonable price.? In fact though it took my order and sold it, at a large loss, and at a price whereby my price was the only one like it for that minute of trading.
Fortunately I am still using small share sizes while testing.
So does this mean that I cannot trust SMART, and I have to go find the exchange each time?
I tried to use some other smart options, but apparently they are only available in the TWS client, and are not valid for the API.