I'm in the process of changing the way I'm monitoring and sending my orders to IB. I started testing on production a week and a half ago.
So far the results have been mixed, but better since I got some feedback from a user on this forum. So I'd like to poll hft people here.
First some Background:
I'm on a dedicated FIX connection to IB so I can send orders pretty fast. But getting orders filled presents a challenge in and of itself. In the beginning I was using IOC orders, which only got filled when the price crossed my bid/offer usually against me.
After getting some feedback I moved to GTC orders and cancelled them after they had been out there for too long. At 30 ms, none were filled. IB said they needed to have them in there longer ~ 3000ms. It worked some of the time, but I think cancelling the order and placing it at relatively the same price didn't work so well (hence the change), since you loose your position on the line. When I tried increasing it to 30 seconds, the price moved fast against me (I shouldn't have done that). I'm really just gunning for 0.0001 in profit.
So anyway that is what I've done.
I submit buys at the bid and sell at the offer. The spread is 0.00005 for EURUSD. For other companies it is 1-3 pips. So I thought if I submit a buy say at 1.3301 and sell at 1.3302 I'd get filled quickly, but there is more to it. Also I can't submit orders that are a 1/10th of a pip and I can't route orders to specific banks with IB.
So hft guys what would you do to get faster fills?
Thanks.
So far the results have been mixed, but better since I got some feedback from a user on this forum. So I'd like to poll hft people here.
First some Background:
I'm on a dedicated FIX connection to IB so I can send orders pretty fast. But getting orders filled presents a challenge in and of itself. In the beginning I was using IOC orders, which only got filled when the price crossed my bid/offer usually against me.
After getting some feedback I moved to GTC orders and cancelled them after they had been out there for too long. At 30 ms, none were filled. IB said they needed to have them in there longer ~ 3000ms. It worked some of the time, but I think cancelling the order and placing it at relatively the same price didn't work so well (hence the change), since you loose your position on the line. When I tried increasing it to 30 seconds, the price moved fast against me (I shouldn't have done that). I'm really just gunning for 0.0001 in profit.
So anyway that is what I've done.
I submit buys at the bid and sell at the offer. The spread is 0.00005 for EURUSD. For other companies it is 1-3 pips. So I thought if I submit a buy say at 1.3301 and sell at 1.3302 I'd get filled quickly, but there is more to it. Also I can't submit orders that are a 1/10th of a pip and I can't route orders to specific banks with IB.
So hft guys what would you do to get faster fills?
Thanks.