I'm still trying to wrap my head around IB's various SMART / direct routing choices; my initial attempts to play around have been oddly expensive; have gotten some $1.75 / contract fees (typically hadn't seen anything > $1.25)...guessing it's b/c of IB's $1.00 fee for direct routing coupled with wrong-end of some maker-taker fee. Let me give a specific example: say spread is $0.05 / $0.15 on a somewhat illiquid contract that trades on all 16 exchanges, and I want to get a 50-contract Sell filled at $0.10. Assume I'm indifferent to fees/rebates, and my only goal is to be the very first filled at $0.10. My understanding is there's no way to guarantee that, right? (Short of submitting separate 50-contract Sells to each individual ECN, which would be insane.) So what routing gives me the best chance to be at the head of the $0.10 priority queue if I'm fee-insensitive? Is it one of IB's SMART options (below), or a direct-ECN routing? At first blush, the "SMART MaxFill" would seem to be exactly what I want ("Routes the order with the sole objective of getting a fill")...except it's a bit of a black box as to what that actually does, and my experiments with it thus far don't seem to have been any more effective at getting filled than my usual plain-vanilla SMART-routing.
I sense that it's gonna be nearly impossible to stay in front of the HFT guys paying for data IB customers will never have access to.
Your best bet would be to route to an exchange that doesn't charge for taking liquidity (PHLX, MIAX, Mercury, CBOE or NYSE or to an exchange that charges you for adding liquidity (BOX). For simplicity I would just route the order to the CBOE. I would first break the order into smaller lots, as you may be filled on 5 separate 10 lots, but not 1 50 lot. If IB charges you extra to direct route (which the may?) I would just use Smart Max fill. Note that if your offer is a good sale, it is possible that the contra order will be routed to another exchange so it "can be taken advantage of" and you won't be filled.
Whenever I submit an order at the midpoint (Sell order @ $0.10 in my OP example) on less liquid contracts, I'm rarely filled immediately...typically my order sits there as more $0.10 Sells accumulate...I made a previous post complaining that even though I was the first to submit a $0.10 Sell, I'll often see plenty of others get filled at $0.10 while mine sits there un-filled (I suspect because IB's SMART-routing is bouncing it to various exchanges, costing me whatever $0.10 queue-priority I may have initially had.) I know there's likely no way to guarantee to be the first filled at $0.10, but whatever strategy gives me the best odds is what I'm looking for.
I understand your pain, been through it myself. It'd be best to find someone who understands how the execution algos are monitoring, sweeping all routes of whatever instruments you trade. I sincerely hope you find a solution.
Not here to bash IB,but as a long time customer who ditched them for TOS, I couldn't be happier. Far better fills with zero commish..
Google for hide and slide HFT. There might be new tricks since then which will ensure you are forever last in queue vs HFT.
Have zero clue as to why it's better..i rarely look to see where I am filled,but often have to check to make sure I didn't put the order in backwards... That's how good some of the fills are..