Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
TT posts latency metrics in Audit Trail so you have those numbers in front of you at all times. Our CTO recently posted a blog and referenced our numbers.
"Autospreader hedge latencies as low as 25 microseconds with a median in the mid-50s and re-quote latencies of 22 mics with a median in the mid-30s."
The first thing is to find out where your IB account is hosted, usually zdc1.ibllc.com for European clients, or cdc1.ibllc.com (Chicago), gdc1.ibllc.com (Connecticut), ...
If you ping the server where your account is hosted this will give you some clues.
Then depending on the instruments traded the data will come from other location (eufarm, usfarm, usfuture, ...). You can
find out their IP addresses with a "netstat -n" or on Windows with the Resource Monitor, and then ping these servers.
That's the quick & easy method.
A more precise method will be to write a strategy which will send limit orders, far from the price for not being executed, then cancel them, and check how long it takes. The code itself will depends if it's the .Net or the EL.
For the data itself a good method is to check the received data timestamp but with IB filtered data I don't think it will give accurate results.
I'm trying to measure accurately and I have this Easylanguage code but dont compile in Multichart because It programmed with objects :
{
JJ Log Generator
---------------------------
Based on Code from Mathemagician
Added ideas from AndroidMarvin
Modded by Honza K.
---------------------------
Purpose: Logs order state infos with milisecond difference calculation between events
var:
Intrabarpersist MessagesLogged(0),
Intrabarpersist Order ord(null),
Intrabarpersist tmpString(""),
StopWatch sw( Null ), // to get msec resolution
OrdersProvider op(null),
Intrabarpersist lastElapsed( 0.0 ); // record previous msec value to count diff
Method override void InitializeComponent()
begin
op = New OrdersProvider;
op.Realtime = true;
op.Updated+=opUpdated;
op.Load=true;
sw = New StopWatch; // AndroidMarvin idea - adding stopwatch to count latencies directly
sw.Start();
end;