Potential FIX FEED DOM problem

Created at 23 Aug 2016, 16:48
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
IA

ian.p.johnson1

Joined 15.08.2016

Potential FIX FEED DOM problem
23 Aug 2016, 16:48


Hi,

I have been having some problems with the DOM (full book) Market Data - Incremental Refresh on a brokers feeds. I havent yet seen it on any other brokers feeds but others are nowhere near so busy

I understand the feed in question is unfiltered so will have fleeting crossing prices, but i am seeing some attempted deletions of prices not yet placed and stale prices left on the book

I captured a series of FIX messages showing book price updates - it shows an attempt at deleting a quote a couple of message before the quote is added - on this feed this is happening frequently - i can supply more examples if you require

I have scanned the whole FIX feed and this is the first time the query id has been used and it is not referred to in the next 10 mins at least (the segment from my log file)

I have considered that the query is is an old entry and it is merely being re-used but surely i would have seen an initial refresh when i connected that included this query id. See above comment re it not being referred to again

I clear my book onLogon and onLogout, and on market full refresh (which BTW is not documented in your FIX guide) and the messagesd between 22276 & 22279 below are just updates for another symbol which i have omitted for clarity

Here is a FIX segment showing the affected query/feed

8=FIX.4.4^A9=299^A35=X^A34=22276^A49=cServer^A52=20160823-12:49:16.814^A56=fxpig.9999999^A57=QUOTE^A268=5^A279=0^A269=0^A278=541050055^A55=11^A270=76.537^A271=1500000^A279=0^A269=1^A278=541050059^A55=11^A270=76.546^A271=1000000^A279=0^A269=1^A278=541050060^A55=11^A270=76.547^A271=2000000^A279=2^A278=541049996^A55=11^A279=2^A278=541049410^A55=11^A10=168^A
entry +AUDJPY 279=0:278=541050055,269=0,270=76.537/271=1500000.0
entry +AUDJPY 279=0:278=541050059,269=1,270=76.546/271=1000000.0
entry +AUDJPY 279=0:278=541050060,269=1,270=76.547/271=2000000.0
*** AUDJPY:541049996
entry -AUDJPY 279=2:278=541049996

entry -AUDJPY 279=2:278=541049410
pigsf,AUDJPY,76.54/50(69ms),76.539/50(201ms),76.538/100(69ms),76.537/100(2ms),76.537/150(0ms),;76.546/100(0ms),76.547/200(0ms),

// Show for completeness but not relevant
8=FIX.4.4^A9=187^A35=X^A34=22277^A49=cServer^A52=20160823-12:49:16.814^A56=fxpig.99999^A57=QUOTE^A268=3^A279=0^A269=0^A278=541049988^A55=7^A270=131.925^A271=2500000^A279=2^A278=541048892^A55=7^A279=2^A278=541049899^A55=7^A10=088^A8=FIX.4.4^A9=350^A35=X^A34=22278^A49=cServer^A52=20160823-12:49:16.814^A56=fxpig.99999^A57=QUOTE^A268=6^A279=0^A269=0^A278=541050105^A55=7^A270=131.926^A271=1000000^A279=0^A269=0^A278=541050106^A55=7^A270=131.928^A271=500000^A279=0^A269=0^A278=541050103^A55=7^A270=131.925^A271=1500000^A279=0^A269=1^A278=541050111^A55=7^A270=131.939^A271=500000^A279=2^A278=541049988^A55=7^A279=2^A278=541048676^A55=7^A10=244^A

 

8=FIX.4.4^A9=297^A35=X^A34=22279^A49=cServer^A52=20160823-12:49:16.814^A56=fxpig.9999999^A57=QUOTE^A268=5^A279=0^A269=0^A278=541049996^A55=11^A270=76.537^A271=2000000^A279=0^A269=0^A278=541049995^A55=11^A270=76.538^A271=500000^A279=0^A269=1^A278=541050001^A55=11^A270=76.545^A271=500000^A279=2^A278=541049906^A55=11^A279=2^A278=541049222^A55=11^A10=100^A
entry +AUDJPY 279=0:278=541049996,269=0,270=76.537/271=2000000.0
entry +AUDJPY 279=0:278=541049995,269=0,270=76.538/271=500000.0
entry +AUDJPY 279=0:278=541050001,269=1,270=76.545/271=500000.0
entry -AUDJPY 279=2:278=541049906
entry -AUDJPY 279=2:278=541049222
pigsf,AUDJPY,76.54/50(69ms),76.539/50(201ms),76.538/50(0ms),76.537/200(0ms),76.537/150(0ms),;76.545/50(0ms),76.546/100(0ms),76.547/200(0ms),


@ian.p.johnson1
Replies

ian.p.johnson1
23 Aug 2016, 16:53

Another example: 542093008 on 2 consecutive FIX messages - i have loads if you like

 

8=FIX.4.4^A9=220^A35=X^A34=77676^A49=cServer^A52=20160823-12:52:40.493^A56=xxxxx.999999^A57=QUOTE^A268=3^A279=0^A269=0^A278=542093027^A55=19^A270=1.70234^A271=1000000^A279=0^A269=0^A278=542093024^A55=19^A270=1.70235^A271=5000000^A279=2^A278=542093008^A55=19^A10=037^A
entry +GBPCAD 279=0:278=542093027,269=0,270=1.70234/271=1000000.0
entry +GBPCAD 279=0:278=542093024,269=0,270=1.70235/271=5000000.0
*** GBPCAD:542093008
entry -GBPCAD 279=2:278=542093008
pigsf,GBPCAD,1.70241/100(24ms),1.70239/100(24ms),1.70237/50(336ms),1.70235/700(24ms),1.70235/500(0ms),1.70234/100(0ms),;1.70261/50(84ms),1.70262/150(24ms),1.70263/50(84ms),1.70264/100(336ms),

8=FIX.4.4^A9=190^A35=X^A34=77677^A49=cServer^A52=20160823-12:52:40.493^A56=xxxxx.999999^A57=QUOTE^A268=3^A279=0^A269=0^A278=542093008^A55=19^A270=1.70235^A271=8000000^A279=2^A278=542092943^A55=19^A279=2^A278=542092941^A55=19^A10=208^A
entry +GBPCAD 279=0:278=542093008,269=0,270=1.70235/271=8000000.0
entry -GBPCAD 279=2:278=542092943
entry -GBPCAD 279=2:278=542092941
pigsf,GBPCAD,1.70241/100(24ms),1.70237/50(336ms),1.70235/800(0ms),1.70235/500(0ms),1.70234/100(0ms),;1.70261/50(84ms),1.70262/150(24ms),1.70263/50(84ms),1.70264/100(336ms),

 


@ian.p.johnson1

Spotware
29 Aug 2016, 15:03

Hello Ian, 

Thank you for bringing this to our attention. Our technical will investigate this behavior.  


@Spotware

ianj
30 Aug 2016, 03:39

RE:

If you have any difficult replicating the issue, try the fxpig SPA (unfiltered) feed, and also to a MUCH lesser degree the MPA feed. I have not seen the problem on icmarkets or pepperstone so far. 


@ianj

ianj
02 Oct 2016, 02:50

RE: RE:

As of Sept 28th this is STILL a problem - specifically on the FxPig LIVE SPA feed (and MPA to a lesser degree) 

Here you have a quote being deleted (where there is none on the book) and then re-added (never to be removed)

If you need examples, either in the clear form below or the original FIX, do not hesitate to ask 

I am unable to use the FIX tiered feed live until i get past this as i am unable to analyse the remainder for faults and this is burying any possibility of analysis

The updates are so close together (1 ms) that i would hazard a guess that it is a message ordering problem - are the messages coming from different sources/threads and not being re-integrated correctly?

Please advise

16.09.27 22:00:00.383,pigs,AUDUSD,+761596536:1:0.76685/1000000,+761596535:1:0.76684/2000000,-761596455
16.09.27 22:00:00.384,pigs,AUDUSD,+761596455:1:0.76684/3000000,-761593363,-761594513

 

ianj said:

If you have any difficult replicating the issue, try the fxpig SPA (unfiltered) feed, and also to a MUCH lesser degree the MPA feed. I have not seen the problem on icmarkets or pepperstone so far. 

 


@ianj