Questions concerning the new FIX API implementation

Created at 03 Aug 2016, 13:32
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!
olddirtypipster's avatar

olddirtypipster

Joined 18.04.2014

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.


@olddirtypipster
Replies

olddirtypipster
03 Aug 2016, 13:34

correction: FIX Field 266 not 299


@olddirtypipster

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

ianj
04 Aug 2016, 19:07

Any chance of addressing this question re Symbol/MarketDataRequest  and incomplete FIX documentation

/forum/connect-api-support/9969


@ianj

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

ianj
04 Aug 2016, 20:09

Saying all that this is quite exciting to a retail trader. As far as i can see this is the first time i have seen free access to a non institutional trading platform over FIX without significant monthly fees, volume or account size qualifying limitations.

Respect :)


@ianj

ianj
04 Aug 2016, 20:18

It would be nice to have a OrderCancelRequest as well - lol 

Yes i can go to the FIX specs but i would be running blinkered as each platform varies in its usage and interpretation of fields - can we have documentation for your implementation please 


@ianj

ianj
04 Aug 2016, 20:49

I would be pleasantly surprised to see a FULL order book - much more likely is that we will see the tiered aggregated book that we see in cTrader and have access to in cAlgo.

I will let you know just as soon as i know what Symbol to use :)


@ianj

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

Spotware
08 Aug 2016, 16:36

Dear Traders, 

Please be advised that we cannot provide non-aggregated prices due to the contractual agreements.   


@Spotware

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

Spotware
22 Aug 2016, 17:46

Dear Traders,

Please be advised that there is no way to create the list of Symbol's FIX ID's due to the fact that they can be different for different brokers. We are planning to update the Symbol Information window for the cTrader Web in the nearest future. 


@Spotware