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)
I quickly checked a trace file sent by one of our VPS client in Chicago for analysis, using CQG and a real account. During a busy day, it's 10 ms between the mouse click and having the order in the book (12 ms for the fill in this case):
2022-03-23 08:32:56:960 (My Continuum) CQG.Adapter.Submit.Guid: actionGuid='******'
2022-03-23 08:32:56:960 (My Continuum) CQG.Adapter.Submit.SendOrderAction: orderId='******' account='*****' name='' orderState=Submitted instrument='CL 05-22' orderAction=Sell orderType='Market' limitPrice=0 stopPrice=0 quantity=1 tif=Gtc oco='' filled=0
2022-03-23 08:32:56:960 (My Continuum) CQG.Adapter.OnOrderChanged0: orderId='-2147483648' AccountId=***** symbol='F.US.CLE.K22' side=Sell state=InClientOnly size=1 currentFillSize=0 currentFillCount=0 limitPrice=-1 stopPrice=-1 averagePrice=-1 type=Marke
2022-03-23 08:32:56:960 (My Continuum) CQG.Adapter.OnOrderChanged2.1
2022-03-23 08:32:56:967 (My Continuum) CQG.Adapter.OnOrderChanged0: orderId='*****' AccountId=***** symbol='F.US.CLE.K22' side=Sell state=InTransit size=1 currentFillSize=0 currentFillCount=0 limitPrice=-1 stopPrice=-1 averagePrice=0 type=Market duration
2022-03-23 08:32:56:967 (My Continuum) CQG.Adapter.OnOrderChanged2.1
2022-03-23 08:32:56:970 (My Continuum) CQG.Adapter.OnOrderChanged0: orderId='*****' AccountId=***** symbol='F.US.CLE.K22' side=Sell state=InOrderBook size=1 currentFillSize=0 currentFillCount=0 limitPrice=-1 stopPrice=-1 averagePrice=0 type=Market durati
2022-03-23 08:32:56:970 (My Continuum) CQG.Adapter.OnOrderChangedNow0: orderState='Working' orderId='*****'
2022-03-23 08:32:56:970 (My Continuum) Cbi.Account.OrderUpdateCallback: realOrderState=Accepted oldOrderId='******' orderId='*****' account='*****' name='' orderState=Accepted instrument='CL 05-22' orderAction=Sell limitPrice=0 stopPrice=0 quantity=1 ord
2022-03-23 08:32:56:970 (My Continuum) Cbi.Account.OrderUpdateCallback: realOrderState=Working orderId='*****' account='*****' name='' orderState=Working instrument='CL 05-22' orderAction=Sell limitPrice=0 stopPrice=0 quantity=1 orderType='Market' filled
2022-03-23 08:32:56:971 (My Continuum) CQG.Adapter.OnExecutionChanged: transactionID=******** accountId=***** fullSymbol='F.US.CLE.K22' orderID=***** fillPrice=113.86 fillSize=1 type=Fill changeType=Add
2022-03-23 08:32:56:972 (My Continuum) CQG.Adapter.OnAccountSummaryChanged: accountDisplayName='******!Mirus!*****' changeType='Modify' currency='USD' instrumentError='NoError'
2022-03-23 08:32:56:972 (My Continuum) CQG.Adapter.OnAccountChanged: fcmAccountId='*****' accountId='*****' changeType='Modify' fcmName='Mirus'
2022-03-23 08:32:56:972 (My Continuum) CQG.Adapter.OnOrderChanged0: orderId='*****' AccountId=***** symbol='F.US.CLE.K22' side=Sell state=Filled size=1 currentFillSize=1 currentFillCount=1 limitPrice=-1 stopPrice=-1 averagePrice=113.86 type=Market durati
2022-03-23 08:32:56:972 (My Continuum) CQG.Adapter.OnOrderChangedNow0: orderState='Filled' orderId='*****'
2022-03-23 08:32:56:972 (My Continuum) Cbi.Account.OrderUpdateCallback: realOrderState=Filled orderId='*****' account='*****' name='' orderState=Filled instrument='CL 05-22' orderAction=Sell limitPrice=0 stopPrice=0 quantity=1 orderType='Market' filled=1
As Rithmic is faster than CQG for there's something wrong in your setup or your analysis.
I assume you used a live account, as with the Sim101 account the latency is artificially raised by the Ninja simulation engine and doesn't mean much.
Success requires no deodorant! (Sun Tzu)
Can you help answer these questions from other members on NexusFi?
Trading: Primarily Energy but also a little Equities, Fixed Income, Metals and Crypto.
Frequency: Many times daily
Duration: Never
Posts: 5,057 since Dec 2013
Thanks Given: 4,399
Thanks Received: 10,225
@Alvaro Martinez maybe I'm reading it incorrectly, not 100% sure what the log is saying, but that screenshot seems to show three different orders that have routing times of 5, 5 & 6 milliseconds?
No, it’s the same order, first the order filled at market, NT received notification +- 450 milliseconds after (FCM), after NT process the bracket and send to market 4-5 miliseconds after (SL + TP) much faster, after the market accepted the bracket.
We can see that VPS and Platform works with low latency but the FCM does checking too much slowly.
It’s incredible.
I use Sierra Chart with Denali and Teton order routing on an auto trader. Beeks in Aurora is pretty impressive. I also use Dedicated.com that is close to 350 Cermak in Chicago. I trade the same auto trader program on both and occasionally the one at CME auroa fills as the market turns on the target tick and the other one downtown does not.....meaning i get my target in the cue faster when at Beeks cme aurora. Estimated cue position between the 2 is usually 10 orders difference.
I was using CQG for order routing and data, the auto trader would take the same trades as Denali/Teton but cqg would get my target order in the CUE slower so I totally got away from CQG.