Questions concerning the new FIX API implementation
Questions concerning the new FIX API implementation
03 Aug 2016, 13:32
Firstly, this is definitely a positive step in the right direction, butting trading potential more in the hands of the consumer.
I would appreciate it if you would answer each question separately.
1) Will this allow us to obtain market data directly from the liquidity providers, and execute orders via DMA verses ECN?
2) Will order execution and market data latency be significantly improved?
3) Will I be able to view the full order book?
4) How many levels of market depth will I have?
5) Will each level have a unique identifier that allows me to differentiate between the prices for each LP?
6) Will each market data entry have a unique MDEntryID (Field 278) and a MDEntryRefID (Field 280)
6) Will prices be aggregated or non-aggregated? In other words, do you support the FIX API Field 299, "Y" for the option to see non-aggregated, "N" to view as aggregated. I cannot stress how important this feature is, along with a unique ID for each level in non-aggregated mode.
Looking forward to your response.
Replies
Spotware
03 Aug 2016, 14:40
Dear Trader,
Please find the answers below
1) With FIX API you will not receive prices directly from LP, the prices will be those that the respective broker provides
2) There will definitely be the improvement in execution time and latency, although you will still be connected to the broker's servers.
3) Yes, you will be able to view the full order book
4) A number of market depth levels will depend on the broker.
Answers to the questions 5-7 you can find in cTrader FIX API specifications https://help.spotware.com/FIX
@Spotware
olddirtypipster
03 Aug 2016, 14:44
RE:
Spotware said:
Dear Trader,
Please find the answers below
1) With FIX API you will not receive prices directly from LP, the prices will be those that the respective broker provides
2) There will definitely be the improvement in execution time and latency, although you will still be connected to the broker's servers.
3) Yes, you will be able to view the full order book
4) A number of market depth levels will depend on the broker.
Answers to the questions 5-7 you can find in cTrader FIX API specifications https://help.spotware.com/FIX
In this case, are there plans to implement Field 266; non-aggregated/aggregated market depth?
@olddirtypipster
olddirtypipster
04 Aug 2016, 19:28
RE:
You can see the full documentation for FIX protocol at www.fixtradingcommunity.org/
The documentation supplied by Spotware is not incomplete. Before you use it, you must have a firm understanding of FIX protocol and TCP/IP communications protocol. The reason why it seems incomplete is because you do not have a solid grasp of either.
Coding a monolithic engine for the purpose of market data acquisition and trade execution is no simple task.It requires a solid background of Multithreading best practice and TCP/IP. You then apply this knowledge for FIX implementation.
The primary issue here is not that the documentation is incomplete. The primary issue here is that Spotware has failed to implement some fundamental attributes to their FIX server engine; namely, they have not implemented Field 266.
I would strongly advise that you take some time out, and learn TCP/IP, Multithreading coding and then FIX. Ultimately, you will only be saving yourself much headache in the long run.
ianj said:
Any chance of addressing this question re Symbol/MarketDataRequest and incomplete FIX documentation
/forum/connect-api-support/9969
@olddirtypipster
ianj
04 Aug 2016, 20:00
RE: RE:
Errm ! I am experienced with Java/C++ coding and FIX - I have previously coded production FIX connectors for Currenex, FXCM, Baxter, EBS, Reuters - i know what i am on about. Yes your issues may be correct. I am just atempting to USE it NOW and am running into more basic problems. I am aware that FIX is just a protocol for defining a connection and most connections are slightly different in their usage of fields available.
The FIX document 2.5 offered is INCOMPLETE - it does not accept the intuitive regular EURUSD, EUR/USD etc symbols, refers to Spotware to defined the symbols to use - that information is not provided and should at least be provided as an addendum or separate document (as it tends to change)
That is clear in my problem description along with my example
TLDR ?
@ianj
olddirtypipster
04 Aug 2016, 20:04
RE: RE: RE:
My bad dawg, my bad. You aiite my nyuckah. Home skillet is rite. Spotware, Listen up! It turns out that you did not include the codes that represent the traded currency symbols. You need to come correct. For real.
ianj said:
Errm ! I am experienced with Java/C++ coding and FIX - I have previously coded production FIX connectors for Currenex, FXCM, Baxter, EBS, Reuters - i know what i am on about. Yes your issues may be correct. I am just atempting to USE it NOW and am running into more basic problems. I am aware that FIX is just a protocol for defining a connection and most connections are slightly different in their usage of fields available.
The FIX document 2.5 offered is INCOMPLETE - it does not accept the intuitive regular EURUSD, EUR/USD etc symbols, refers to Spotware to defined the symbols to use - that information is not provided and should at least be provided as an addendum or separate document (as it tends to change)
That is clear in my problem description along with my example
TLDR ?
@olddirtypipster
Spotware
05 Aug 2016, 15:29
( Updated at: 21 Dec 2023, 09:20 )
Dear Traders,
Please be advised that you can find FIX symbol ID in the symbol information window. Please be advised that those ID might be different for different brokers.
To open Symbol Information window, click "i" button in the Symbol Description in the Marke watch section.
@Spotware
olddirtypipster
05 Aug 2016, 15:33
( Updated at: 21 Dec 2023, 09:20 )
RE:
Thank you. Now... about that Field 266 that needs to be implemented. Any chance of this happening in the near future? It is a simple matter of implementing the server side cod to handle this request. It should be a relatively straight forward task.
Spotware said:
Dear Traders,
Please be advised that you can find FIX symbol ID in the symbol information window. Please be advised that those ID might be different for different brokers.
To open Symbol Information window, click "i" button in the Symbol Description in the Marke watch section.
@olddirtypipster
ianj
05 Aug 2016, 17:06
RE: RE:
Thanks - that works perfectly - ill dig into the book options soon - here i have a basic top of book :
8=FIX.4.49=12335=W34=249=cServer52=20160805-14:02:27.30256=icmarkets.xxx57=QUOTE55=1268=2269=1270=1.10531269=0270=1.1053110=240)
8=FIX.4.49=12335=W34=349=cServer52=20160805-14:02:27.78256=icmarkets.xxx57=QUOTE55=1268=2269=1270=1.10532269=0270=1.1053110=254)
@ianj
olddirtypipster
05 Aug 2016, 17:31
RE: RE: RE:
It looks like the time between these two ticks is 480ms. Is this the average timing between ticks?
ianj said:
Thanks - that works perfectly - ill dig into the book options soon - here i have a basic top of book :
8=FIX.4.49=12335=W34=249=cServer52=20160805-14:02:27.30256=icmarkets.xxx57=QUOTE55=1268=2269=1270=1.10531269=0270=1.1053110=240)
8=FIX.4.49=12335=W34=349=cServer52=20160805-14:02:27.78256=icmarkets.xxx57=QUOTE55=1268=2269=1270=1.10532269=0270=1.1053110=254)
@olddirtypipster
ianj
05 Aug 2016, 17:48
RE: RE: RE: RE:
I have no idea yet - i am implementing the other messages not defined in spec (35=W Market Data - Snapshot/Full Refresh is not in doc)
Looks like i'll have to extrapolate for now
When i have dug about a little ill post some stats re the feed/update rates etc
@ianj
ianj
05 Aug 2016, 18:09
RE: RE: RE: RE:
Anecdotally i would say you should not be expecting more ticks than you might, say, see in a cAlgo feed - that is something i will be able to comment on next week if i get to deploy this by then (possibly also vs the "other" platform feed for my broker)
At the moment the TOP of book is coming in, as you can see, as a 5=W Market Data - Snapshot/Full Refresh, NOT by the documented Incremental Refresh (35=X)
Perhaps Depth will do that
olddirtypipster said:
It looks like the time between these two ticks is 480ms. Is this the average timing between ticks?
@ianj
ianj
05 Aug 2016, 18:41
RE: RE: RE: RE:
olddirtypipster - this should answer some of your questions:
where:
279=0 is NEW
279=2 is DELETE
269=0/1 is Bid/Offer
It tells me that its is a TIERED aggregated book sent as a delta from the prior book using entryId to select/remove aggregated entries - the tiered nature is strongly (>90%) indicated by their being no duplicate prices on the same side and the wider prices being larger in this limited sample
This is, as you can see, IC Markets - i have no reason to believe, at this time, that other brokers will be different
<20160805-15:29:08, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=41035=X34=249=cServer52=20160805-15:29:08.91556=icmarkets.xxx57=QUOTE268=6279=0269=1278=29427798755=1270=1.10808271=1500000279=0269=1278=29427798855=1270=1.10807271=100000279=0269=1278=29427798955=1270=1.10809271=8000000279=0269=0278=29427798455=1270=1.10807271=100000279=0269=0278=29428091855=1270=1.10806271=4500000279=0269=0278=29428091555=1270=1.10805271=500000010=253)
279=0:278=294277987,269=1,55=1,270=1.10808,271=1500000.0
279=0:278=294277988,269=1,55=1,270=1.10807,271=100000.0
279=0:278=294277989,269=1,55=1,270=1.10809,271=8000000.0
279=0:278=294277984,269=0,55=1,270=1.10807,271=100000.0
279=0:278=294280918,269=0,55=1,270=1.10806,271=4500000.0
279=0:278=294280915,269=0,55=1,270=1.10805,271=5000000.0
<20160805-15:29:14, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=24235=X34=349=cServer52=20160805-15:29:14.11056=icmarkets.xxx57=QUOTE268=4279=0269=0278=29428595055=1270=1.10805271=8000000279=0269=0278=29428595255=1270=1.10806271=1500000279=2278=29428091555=1279=2278=29428091855=110=023)
279=0:278=294285950,269=0,55=1,270=1.10805,271=8000000.0
279=0:278=294285952,269=0,55=1,270=1.10806,271=1500000.0
279=2:278=294280915,55=1
279=2:278=294280918,55=1
<20160805-15:29:18, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=50835=X34=449=cServer52=20160805-15:29:18.94656=icmarkets.xxx57=QUOTE268=11279=0269=0278=29428897555=1270=1.10803271=3100000279=0269=0278=29428897655=1270=1.10802271=5000000279=0269=0278=29428897355=1270=1.10804271=1500000279=0269=1278=29428897755=1270=1.10804271=1600000279=0269=1278=29428897855=1270=1.10806271=8000000279=2278=29428595055=1279=2278=29427798455=1279=2278=29428595255=1279=2278=29427798855=1279=2278=29427798955=1279=2278=29427798755=110=151)
279=0:278=294288975,269=0,55=1,270=1.10803,271=3100000.0
279=0:278=294288976,269=0,55=1,270=1.10802,271=5000000.0
279=0:278=294288973,269=0,55=1,270=1.10804,271=1500000.0
279=0:278=294288977,269=1,55=1,270=1.10804,271=1600000.0
279=0:278=294288978,269=1,55=1,270=1.10806,271=8000000.0
279=2:278=294285950,55=1
279=2:278=294277984,55=1
279=2:278=294285952,55=1
279=2:278=294277988,55=1
279=2:278=294277989,55=1
279=2:278=294277987,55=1
<20160805-15:29:19, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=45535=X34=549=cServer52=20160805-15:29:19.09756=icmarkets.xxx57=QUOTE268=9279=0269=0278=29428930855=1270=1.10801271=5000000279=0269=0278=29428930755=1270=1.10803271=100000279=0269=0278=29428930655=1270=1.10802271=4500000279=0269=1278=29428931255=1270=1.10803271=100000279=0269=1278=29428931155=1270=1.10804271=1500000279=2278=29428897555=1279=2278=29428897655=1279=2278=29428897355=1279=2278=29428897755=110=112)
279=0:278=294289308,269=0,55=1,270=1.10801,271=5000000.0
279=0:278=294289307,269=0,55=1,270=1.10803,271=100000.0
279=0:278=294289306,269=0,55=1,270=1.10802,271=4500000.0
279=0:278=294289312,269=1,55=1,270=1.10803,271=100000.0
279=0:278=294289311,269=1,55=1,270=1.10804,271=1500000.0
279=2:278=294288975,55=1
279=2:278=294288976,55=1
279=2:278=294288973,55=1
279=2:278=294288977,55=1
<20160805-15:29:19, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=50635=X34=649=cServer52=20160805-15:29:19.24956=icmarkets.xxx57=QUOTE268=11279=0269=0278=29428955855=1270=1.10801271=9000000279=0269=0278=29428955555=1270=1.10802271=600000279=0269=1278=29428955955=1270=1.10803271=1500000279=0269=1278=29428956055=1270=1.10802271=100000279=0269=1278=29428956155=1270=1.10805271=8000000279=2278=29428930855=1279=2278=29428930755=1279=2278=29428930655=1279=2278=29428931255=1279=2278=29428931155=1279=2278=29428897855=110=232)
279=0:278=294289558,269=0,55=1,270=1.10801,271=9000000.0
279=0:278=294289555,269=0,55=1,270=1.10802,271=600000.0
279=0:278=294289559,269=1,55=1,270=1.10803,271=1500000.0
279=0:278=294289560,269=1,55=1,270=1.10802,271=100000.0
279=0:278=294289561,269=1,55=1,270=1.10805,271=8000000.0
@ianj
ianj
05 Aug 2016, 18:47
RE: RE:
Field 266 "AggregatedBook" is NOT required in the spec and NOT documented in the cTrader docs, which means to me that non-aggregated prices are not offered - in the retail world, FULL book is not actually FULL book - lol
I might just prod it anyway, but i would be VERY surprised if it is offered at this level - the bandwidth requirements would increase dramatically
olddirtypipster said:
Spotware said:Trader FIX API specifications https://help.spotware.com/FIX
In this case, are there plans to implement Field 266; non-aggregated/aggregated market depth?
@ianj
ianj
05 Aug 2016, 18:52
RE: RE: RE:
olddirtypipster : I think this answers your question:
<20160805-15:49:44, FIX.4.4:icmarkets.xxx/QUOTE->cServer, outgoing> (8=FIX.4.49=12935=V34=249=icmarkets.xxx50=QUOTE52=20160805-15:49:44.70956=cServer262=1263=1264=0266=N146=155=1267=2269=0269=110=244)
<20160805-15:49:44, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=14235=334=249=cServer52=20160805-15:49:44.72656=icmarkets.xxx57=QUOTE45=258=Tag not defined for this message type 371=266 372=V373=210=084)
ianj said:
Field 266 "AggregatedBook" is NOT required in the spec and NOT documented in the cTrader docs, which means to me that non-aggregated prices are not offered - in the retail world, FULL book is not actually FULL book - lol
I might just prod it anyway, but i would be VERY surprised if it is offered at this level - the bandwidth requirements would increase dramatically
@ianj
olddirtypipster
05 Aug 2016, 19:32
RE: RE: RE: RE:
Yes. It is not required, but is very much desired; 266="Y" instead of 266="N"
By being able to see non-aggregated prices tagged with unique LP IDs, you could then merge market data from several brokers, while suppressing duplicate prices associated with the unique LP IDs that appear across multiple brokers. You'd get a better idea of overall price action.
FIX protocol is extensible enough that Spotware could easily make Field 266 accessible, and send a unique LP ID for each non-aggregated price.
I am still waiting for their response.
ianj said:
olddirtypipster : I think this answers your question:
<20160805-15:49:44, FIX.4.4:icmarkets.xxx/QUOTE->cServer, outgoing> (8=FIX.4.49=12935=V34=249=icmarkets.xxx50=QUOTE52=20160805-15:49:44.70956=cServer262=1263=1264=0266=N146=155=1267=2269=0269=110=244)
<20160805-15:49:44, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=14235=334=249=cServer52=20160805-15:49:44.72656=icmarkets.xxx57=QUOTE45=258=Tag not defined for this message type 371=266 372=V373=210=084)
ianj said:
Field 266 "AggregatedBook" is NOT required in the spec and NOT documented in the cTrader docs, which means to me that non-aggregated prices are not offered - in the retail world, FULL book is not actually FULL book - lol
I might just prod it anyway, but i would be VERY surprised if it is offered at this level - the bandwidth requirements would increase dramatically
@olddirtypipster
ianj
05 Aug 2016, 19:37
RE: RE: RE: RE: RE:
I can only say i agree - it would be nice, but don't hold your breath
olddirtypipster said:
Yes. It is not required, but is very much desired; 266="Y" instead of 266="N"
By being able to see non-aggregated prices tagged with unique LP IDs, you could then merge market data from several brokers, while suppressing duplicate prices associated with the unique LP IDs that appear across multiple brokers. You'd get a better idea of overall price action.
FIX protocol is extensible enough that Spotware could easily make Field 266 accessible, and send a unique LP ID for each non-aggregated price.
I am still waiting for their response.
@ianj
ianj
05 Aug 2016, 22:20
( Updated at: 21 Dec 2023, 09:20 )
And here you have it - IC Markets EUR/USD - later Friday - liquidity dropping off so update frequency is not indicative but it seems to be 2-5 tiers - your experience with other brokers may vary
This matches the "Standard DOM" (center option) on the cTrader gui format EXACTLY
<20160805-19:08:25, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=48135=X34=3349=cServer52=20160805-19:08:25.10556=icmarkets.xxx57=QUOTE268=10279=0269=0278=30241630555=1270=1.10901271=1500000279=0269=0278=30241630655=1270=1.109271=8000000279=0269=0278=30241630355=1270=1.10902271=100000279=0269=1278=30241630855=1270=1.10905271=1500000279=0269=1278=30241631055=1270=1.10906271=8000000279=2278=30241609355=1279=2278=30241409055=1279=2278=30241609255=1279=2278=30241609655=1279=2278=30241499955=110=115)
entry +279=0:278=302416305,269=0,55=1,270=1.10901,271=1500000.0
entry +279=0:278=302416306,269=0,55=1,270=1.109,271=8000000.0
entry +279=0:278=302416303,269=0,55=1,270=1.10902,271=100000.0
entry +279=0:278=302416308,269=1,55=1,270=1.10905,271=1500000.0
entry +279=0:278=302416310,269=1,55=1,270=1.10906,271=8000000.0
entry -279=2:278=302416093,55=1
entry -279=2:278=302414090,55=1
entry -279=2:278=302416092,55=1
entry -279=2:278=302416096,55=1
entry -279=2:278=302414999,55=1
302416306:0:8000000.0@1.109 0ms
302416305:0:1500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 0ms
302416095:1:100000.0@1.10904 215ms
302416308:1:1500000.0@1.10905 0ms
302416310:1:8000000.0@1.10906 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=37635=X34=3449=cServer52=20160805-19:08:27.72756=icmarkets.xxx57=QUOTE268=7279=0269=0278=30241735755=1270=1.10901271=4500000279=0269=0278=30241735855=1270=1.109271=5000000279=0269=1278=30241736255=1270=1.10907271=5000000279=0269=1278=30241736355=1270=1.10906271=3000000279=2278=30241630555=1279=2278=30241630655=1279=2278=30241631055=110=098)
entry +279=0:278=302417357,269=0,55=1,270=1.10901,271=4500000.0
entry +279=0:278=302417358,269=0,55=1,270=1.109,271=5000000.0
entry +279=0:278=302417362,269=1,55=1,270=1.10907,271=5000000.0
entry +279=0:278=302417363,269=1,55=1,270=1.10906,271=3000000.0
entry -279=2:278=302416305,55=1
entry -279=2:278=302416306,55=1
entry -279=2:278=302416310,55=1
302417358:0:5000000.0@1.109 0ms
302417357:0:4500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 2,622ms
302416095:1:100000.0@1.10904 2,837ms
302416308:1:1500000.0@1.10905 2,622ms
302417363:1:3000000.0@1.10906 0ms
302417362:1:5000000.0@1.10907 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=42635=X34=3549=cServer52=20160805-19:08:27.89656=icmarkets.xxx57=QUOTE268=9279=0269=0278=30241755755=1270=1.10901271=9000000279=0269=0278=30241755455=1270=1.10903271=100000279=0269=0278=30241755855=1270=1.10902271=500000279=0269=1278=30241756155=1270=1.10907271=8000000279=2278=30241735755=1279=2278=30241735855=1279=2278=30241630355=1279=2278=30241736255=1279=2278=30241736355=110=173)
entry +279=0:278=302417557,269=0,55=1,270=1.10901,271=9000000.0
entry +279=0:278=302417554,269=0,55=1,270=1.10903,271=100000.0
entry +279=0:278=302417558,269=0,55=1,270=1.10902,271=500000.0
entry +279=0:278=302417561,269=1,55=1,270=1.10907,271=8000000.0
entry -279=2:278=302417357,55=1
entry -279=2:278=302417358,55=1
entry -279=2:278=302416303,55=1
entry -279=2:278=302417362,55=1
entry -279=2:278=302417363,55=1
302417557:0:9000000.0@1.10901 0ms
302417558:0:500000.0@1.10902 0ms
302417554:0:100000.0@1.10903 0ms
302416095:1:100000.0@1.10904 3,005ms
302416308:1:1500000.0@1.10905 2,790ms
302417561:1:8000000.0@1.10907 0ms
@ianj
olddirtypipster
05 Aug 2016, 22:57
( Updated at: 21 Dec 2023, 09:20 )
RE:
What I would like to do is compare these prices to individual LP's, say Barclays or BNP. It would require getting a snapshot for a specific time fragment of prices from these LP's separately (not difficult), streaming non-aggregated prices from cTrader, identifying the target LP's price and comparing them. It would indicate whether the prices in cTrader are indeed solid.
ianj said:
And here you have it - IC Markets EUR/USD - later Friday - liquidity dropping off so update frequency is not indicative but it seems to be 2-5 tiers - your experience with other brokers may vary
This matches the "Standard DOM" (center option) on the cTrader gui format EXACTLY
<20160805-19:08:25, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=48135=X34=3349=cServer52=20160805-19:08:25.10556=icmarkets.xxx57=QUOTE268=10279=0269=0278=30241630555=1270=1.10901271=1500000279=0269=0278=30241630655=1270=1.109271=8000000279=0269=0278=30241630355=1270=1.10902271=100000279=0269=1278=30241630855=1270=1.10905271=1500000279=0269=1278=30241631055=1270=1.10906271=8000000279=2278=30241609355=1279=2278=30241409055=1279=2278=30241609255=1279=2278=30241609655=1279=2278=30241499955=110=115)
entry +279=0:278=302416305,269=0,55=1,270=1.10901,271=1500000.0
entry +279=0:278=302416306,269=0,55=1,270=1.109,271=8000000.0
entry +279=0:278=302416303,269=0,55=1,270=1.10902,271=100000.0
entry +279=0:278=302416308,269=1,55=1,270=1.10905,271=1500000.0
entry +279=0:278=302416310,269=1,55=1,270=1.10906,271=8000000.0
entry -279=2:278=302416093,55=1
entry -279=2:278=302414090,55=1
entry -279=2:278=302416092,55=1
entry -279=2:278=302416096,55=1
entry -279=2:278=302414999,55=1
302416306:0:8000000.0@1.109 0ms
302416305:0:1500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 0ms
302416095:1:100000.0@1.10904 215ms
302416308:1:1500000.0@1.10905 0ms
302416310:1:8000000.0@1.10906 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=37635=X34=3449=cServer52=20160805-19:08:27.72756=icmarkets.xxx57=QUOTE268=7279=0269=0278=30241735755=1270=1.10901271=4500000279=0269=0278=30241735855=1270=1.109271=5000000279=0269=1278=30241736255=1270=1.10907271=5000000279=0269=1278=30241736355=1270=1.10906271=3000000279=2278=30241630555=1279=2278=30241630655=1279=2278=30241631055=110=098)
entry +279=0:278=302417357,269=0,55=1,270=1.10901,271=4500000.0
entry +279=0:278=302417358,269=0,55=1,270=1.109,271=5000000.0
entry +279=0:278=302417362,269=1,55=1,270=1.10907,271=5000000.0
entry +279=0:278=302417363,269=1,55=1,270=1.10906,271=3000000.0
entry -279=2:278=302416305,55=1
entry -279=2:278=302416306,55=1
entry -279=2:278=302416310,55=1
302417358:0:5000000.0@1.109 0ms
302417357:0:4500000.0@1.10901 0ms
302416303:0:100000.0@1.10902 2,622ms
302416095:1:100000.0@1.10904 2,837ms
302416308:1:1500000.0@1.10905 2,622ms
302417363:1:3000000.0@1.10906 0ms
302417362:1:5000000.0@1.10907 0ms
<20160805-19:08:27, FIX.4.4:icmarkets.xxx/QUOTE->cServer, incoming> (8=FIX.4.49=42635=X34=3549=cServer52=20160805-19:08:27.89656=icmarkets.xxx57=QUOTE268=9279=0269=0278=30241755755=1270=1.10901271=9000000279=0269=0278=30241755455=1270=1.10903271=100000279=0269=0278=30241755855=1270=1.10902271=500000279=0269=1278=30241756155=1270=1.10907271=8000000279=2278=30241735755=1279=2278=30241735855=1279=2278=30241630355=1279=2278=30241736255=1279=2278=30241736355=110=173)
entry +279=0:278=302417557,269=0,55=1,270=1.10901,271=9000000.0
entry +279=0:278=302417554,269=0,55=1,270=1.10903,271=100000.0
entry +279=0:278=302417558,269=0,55=1,270=1.10902,271=500000.0
entry +279=0:278=302417561,269=1,55=1,270=1.10907,271=8000000.0
entry -279=2:278=302417357,55=1
entry -279=2:278=302417358,55=1
entry -279=2:278=302416303,55=1
entry -279=2:278=302417362,55=1
entry -279=2:278=302417363,55=1
302417557:0:9000000.0@1.10901 0ms
302417558:0:500000.0@1.10902 0ms
302417554:0:100000.0@1.10903 0ms
302416095:1:100000.0@1.10904 3,005ms
302416308:1:1500000.0@1.10905 2,790ms
302417561:1:8000000.0@1.10907 0ms
@olddirtypipster
ianj
06 Aug 2016, 00:39
RE: RE:
I would suggest that most prices (especially on the majors) are "shadowed/mirrored" to a very large degree across many brokers liquidity - multiplying the impression of available liquidity. In fact if you look at, say, Pepperstone & IC Markets, you could not slip a fag paper between them on EURUSD (a lovely colloquialism)
Each broker will have its own credit lines with each LP and so the spreads/sizes from each could vary, but it is unlikely that they will be happy to identify each LP uniquely
I know what you are looking for - good luck getting it. There are commercial and technical difficulties
olddirtypipster said:
What I would like to do is compare these prices to individual LP's, say Barclays or BNP. It would require getting a snapshot for a specific time fragment of prices from these LP's separately (not difficult), streaming non-aggregated prices from cTrader, identifying the target LP's price and comparing them. It would indicate whether the prices in cTrader are indeed solid.
@ianj
olddirtypipster
06 Aug 2016, 02:04
RE: RE: RE:
Yes. It is unlikely that a broker will want to uniquely tag each price to an LP.
However, there is a technique I have worked on that tags a set of reoccurring prices across multiple brokers to a unique id group using a pattern recognition machine learning algo. What I need now is real non-aggregated data to complete the test. I have since been using simulated data with positive results.
ianj said:
I would suggest that most prices (especially on the majors) are "shadowed/mirrored" to a very large degree across many brokers liquidity - multiplying the impression of available liquidity. In fact if you look at, say, Pepperstone & IC Markets, you could not slip a fag paper between them on EURUSD (a lovely colloquialism)
Each broker will have its own credit lines with each LP and so the spreads/sizes from each could vary, but it is unlikely that they will be happy to identify each LP uniquely
I know what you are looking for - good luck getting it. There are commercial and technical difficulties
olddirtypipster said:
What I would like to do is compare these prices to individual LP's, say Barclays or BNP. It would require getting a snapshot for a specific time fragment of prices from these LP's separately (not difficult), streaming non-aggregated prices from cTrader, identifying the target LP's price and comparing them. It would indicate whether the prices in cTrader are indeed solid.
@olddirtypipster
ian.p.johnson1
15 Aug 2016, 03:01
Been away a week so no opportunity to comment but on my initial view this week:
Updates to a cTrader/cAlgo gui bot (in C#) are identical in (prices/volume and depth) and update frequency (tick per tick) as FIX
The FIX ticks are slightly are received slightly ahead (40-100ms) of the cAlgo feeds
This may be because of the additional overhead of the GUI (more likley) and/or my mechanism for recording ticks (less likley) but it is likely that FIX is faster - the data volume is the same
This is IC Markets live - other brokers may vary
@ian.p.johnson1
ian.p.johnson1
15 Aug 2016, 03:17
RE:
ian.p.johnson1 said:
Been away a week so no opportunity to comment but on my initial view this week:
Updates to a cTrader/cAlgo gui bot (in C#) are identical in (prices/volume and depth) and update frequency (tick per tick) as FIX
The FIX ticks are slightly are received slightly ahead (40-100ms) of the cAlgo feeds
This may be because of the additional overhead of the GUI (more likley) and/or my mechanism for recording ticks (less likley) but it is likely that FIX is faster - the data volume is the same
This is IC Markets live - other brokers may vary
Looks pretty similar for Pepperstone - cAlgo/cTrader vs FIX
@ian.p.johnson1
ian.p.johnson1
19 Aug 2016, 15:33
RE: RE:
Sooooo - some simple stats for you (IC Markets Live) :
24 hours 18th August
6,618,286 ticks across 73 instruments
A few of the "big tickers"
123440 GBPUSD
124516 EURUSD
129821 USDCAD
135040 USDJPY
151886 AUDJPY
157122 CADJPY
158240 GBPCAD
160263 GBPNZD
163966 GBPJPY
168702 GBPAUD
171227 EURJPY
Pepperstone was in the same ball park with some differences appropriate to the differing set of instruments it offers - am not quoting exact figures as i don't want to get into "tick wars"
Might run up some stats later for peak tick rate etc
@ian.p.johnson1
ian.p.johnson1
22 Aug 2016, 04:37
( Updated at: 21 Dec 2023, 09:20 )
RE:
And in CTrader WEB, when the main cTrader desktop application is not available from the broker ? The cTrader WEB has much reduced information, excluding the FIX Symbol ID
Spotware said:
Dear Traders,
Please be advised that you can find FIX symbol ID in the symbol information window. Please be advised that those ID might be different for different brokers.
To open Symbol Information window, click "i" button in the Symbol Description in the Marke watch section.
@ian.p.johnson1
olddirtypipster
03 Aug 2016, 13:34
correction: FIX Field 266 not 299
@olddirtypipster