IB has a rate limit of 50 orders per second. I'm curious, if I use REST to make these calls, how many calls can I execute per second? Specifically, what is the latency of each call? For example, with a POST request, how much time does it take for the message to be sent and then response to be received? is it possible to just send POST without waiting for the response?
no need to worry about REST and sending in orders. it's slow. A human could visually see how slow it is. If IB has a rate limit of 50 orders per second then you can call the api 50 times in a second. You do not need to wait for a response; look into async http client or call it in a separate thread.
I tried to test that a while ago https://www.elitetrader.com/et/threads/checking-connection-delay-with-ib.375258/
With the latest release of the TWS API, the rate limit has significantly changed. The limit is now dependent on how much commission you spend with IB, or how much equity you have in your account. See the first sentence of this link https://www.interactivebrokers.com/campus/ibkr-api-page/tws-api-changelog-2/
you tested on the ping latency, which is not exactly what I want to know. Submitting an order via REST involves not only network latency, but also other latency such as establishing a connection, the server finishes your order and returns a response, etc. My network ping latency to the server is very fast, a few micro second. I would like to know the latency for the REST post call.
i have a question if you don't mind , i am trying currently to use the IBKR API to implement a low latency trading strategy , but my strategy relies on speed , and you said her that your ping latency is only few microseconds which is good in fact because my primary worry is the latency of the network , API's are not quite reliable when it comes to this kind of trading , i would like to know how many microseconds exactly ?if you may