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)
You can measure latency on a limit order. If the originating IP is in Australia, it’ll probably take at best 50ms to reach Central US using a residential ISP. I would guess the average latency is 100ms and up for you. You can’t compete in high frequency 1 tick scalping. You’re too slow. Honestly.
Placing a limit order will test out all I need to trial the latency, I've never put in a live order before, I've hit break even for the last couple of weeks so hopefully the time will soon come.
And yes, Australia..
Point is I'm scalping the ES, my trades typically average 15-20 seconds and I like to move my stop to break even ASAP, it's tight but CQG said I should be getting just under 500ms round turn.
I am not sure what you are looking for exactly but I can give you a few idea perhaps....
I have done some optimization work around latency in the past and there are a few things you can track.
When you fire up your order and submit it, it will take the following path:
1. Initialized: (You may not ever see this message, but some applications have this as an order state)
2. Submitted: (You have send your order to your broker)
3. Accepted: (Your broker has received the order but has not yet sent it to the exchange)
4. Working: (Your order is now in the queue at the exchange)
So in order to test your full latency chain, your code should run in such a way that you get print statements back when the order state changes at any point in this chain. Then you can just subtract each leg to see where you are hitting your latency issues.
From my testing, 90% of the time my accepted and working states where on the same millisecond. There were only a few times that this was not the case.... But I hit 200 milliseconds at worse during a level sweep that took at 3 or 4 levels one time.
Most of your lag will be between your application and your broker. But if you have a co-located VPS you can get this down to around 10MS to 50MS on average. In some cases you can get this down to 0 MS, but I would say that it will average around 10 MS.
Regarding the second part of your question around 0 lot.... I am not sure what you are implying here, but if you are taking about a break even trade / scratch trade, then yes this is very common. Traders often enter and exit at the same price after some movement between the entry and exit. You mentioned moving your stop to a break even, so I am guessing this is what you are referring to. If you are concerned about how fast you can pull off the feat of moving your x tick stop loss to a break even here are a few things to consider.
1. It is far more expensive to do a change order than to submit a new order. I tested this part extensively and a change order will run you 50 MS to 200 MS even with good co-location. So your better path will be to submit a new order at break even and then kill the original stop. This can be done in 0 to 25 MS with good colocation and a solid algo running.
It sounds like you are scalping the ES in some capacity, maybe I am wrong but.... These would be the tools that you would need to be successful in this space.
And contrary to what some may believe, the scratch trade is a solid edge in HF trading and is very often used. But retail traders don't typically operate in this space because there is a very large difference between an optimized scratch trade and a random scratch trade. There is a fair amount of a learning curve here to fully understand this, and very little information you will find to guide you in this space, but it's legit if you know what you are doing.
Best of luck!
Ian
In the analytical world there is no such thing as art, there is only the science you know and the science you don't know. Characterizing the science you don't know as "art" is a fools game.