MarketDataRequest (35=V) return NO Quotes (268=0) in 35=W message

07 Dec 2018, 06:10MarketDataRequest (35=V) return NO Quotes (268=0) in 35=W message#1
netread2004posts: 54since: 26 Dec 2017

Not sure why I am not able to get Quote in response to MarketDataRequest.

Here are the Sent and received messages:

2018.12.06 19:59:56.534 nquotes EURUSD,M1: ReceivedText : 8=FIX.4.4 9=96 35=W 34=2 49=cServer 50=QUOTE 52=20181207-03:59:53.825 56=icmarkets.3394382 57=TRADE 55=2 268=0 10=126 

2018.12.06 19:59:56.532 nquotes EURUSD,M1: SendText : 8=FIX.4.4 9=143 35=V 49=icmarkets.3394382 56=cServer 57=QUOTE 50=TRADE 34=2 52=20181207-03:59:56 262=1755105503 263=1 264=0 265=1 267=2 269=0 269=1 146=1 55=2 10=254 

From Rules of engagement guide sent message format looks ok. Not sure what could be the porblem here.

I would appreciate if you could respond.

 

 

07 Dec 2018, 07:37#2
netread2004posts: 54since: 26 Dec 2017

I just put these DataRequest in 500ms Timer Event and sending request every 500ms and now I am getting Quotes for 55=2. Is this the correct approach to get quotes? If so, 500ms is good time period or should it be faster. 

Please commnet on this.

 

07 Dec 2018, 11:41#3
Panagiotis Charalampousposts: 2725since: 13 Jan 2017

Hi netread2004,

You should be sending a Market Data Request whenever you want to update your market data with new prices. Refresh rate is up to you even though I believe 500ms is a bit slow. You can try 100ms.

Best Regards,

Panagiotis


Head of Community Management at cTrader
07 Jan 2019, 20:32RE:#4
terryww2posts: 32since: 22 Nov 2018

Hi,

I'm having the same problem (268=0) and going through the Rules of engagement, I'm stuck. I'd really appreciate any input:

OUT 20190107-17:27:02.833858000 8=FIX.4.49=13035=V49=xxx56=CSERVER34=250=Quote57=QUOTE52=20190107-17:27:02.833262=123263=1264=0267=2269=0269=1146=155=110=111
 IN 20190107-17:27:02.867548300 8=FIX.4.49=9235=W34=249=CSERVER50=QUOTE52=20190107-17:27:02.893 56=xxx57=Quote55=1268=010=161

Kind regards

 

 

08 Jan 2019, 09:43#5
Panagiotis Charalampousposts: 2725since: 13 Jan 2017

Hi terryww2,

Does this happen every time you sent a 35=W? Can you reproduce with the example application?

Best Regards,

Panagiotis


Head of Community Management at cTrader
08 Jan 2019, 11:55RE:#6
terryww2posts: 32since: 22 Nov 2018

Panagiotis Charalampous said:

Hi terryww2,

Does this happen every time you sent a 35=W? Can you reproduce with the example application?

Best Regards,

Panagiotis

Hi,

thank you for the quick reply! Hm... I think you mean "Does this happen every time you sent a 35=V?" not "35=W" (based on https://www.onixs.biz/fix-dictionary/4.4/msgType_W_87.html and the example in cTraderFixApi_v2.15.1.pdf). So I expected that when I send 35=V I'd get as first response 35=W where I'd see the orderbook snapshot followed by 35=X responses. It happens every time, yes (I tried with 55=1 and 55=2).

Sorry but where can I find the example app?

 

Kind regards

08 Jan 2019, 11:59#7
Panagiotis Charalampousposts: 2725since: 13 Jan 2017

Hi terryww2,

Yes I meant 35=V, sorry for the typo. You can find the example here.

Best Regards,

Panagiotis


Head of Community Management at cTrader
08 Jan 2019, 19:04#8
terryww2posts: 32since: 22 Nov 2018

Hi,

 

the example app is crashing all the time on me (Win10, latest VisualStudio Enterprise). On clicking the "Logon" button under "Price Stream" only the "Fix Message Send:" field gets populated. Nothing else happens after waiting for 2min. Clicking any other button after Logon, crashes the app.

 

In my own app I'm observing now that for 55=2 and 55=3 I get 268=2.

1. I expected the whole orderbook snapshot but only the top bid/ask prices with volume is sent. Is this expected?

1.1 If that's so how can the orderbook be reconstructed or is the quote stream just for showing activity of market participants?

2. 55=1 still returns 268=0. Any suggestions for next steps?

3. I'm going through a couple of 35=X messages and I only see new and deleted orders. Trades on the platform are not propagated?

 

Kind regards

09 Jan 2019, 10:43#9
Panagiotis Charalampousposts: 2725since: 13 Jan 2017

Hi terryww2,

If you do not get a response using the example application then probably you have entered wrong credentials. Regarding your questions

1. If you set tag 264 to 0 then you should be getting the full order book with message 35=W. Subsequent messages 35=X should only include incremental updates, additions and deletions. If you manage to run the sample application, you will see how this works.
2. Not really. I do not get such a behavior using the example application.
3. I am not sure what do you mean with trades. 35=X messages just inform you about new entries in the market depth as well as deletions of existing entries.

Best Regards,

Panagiotis

 


Head of Community Management at cTrader
09 Jan 2019, 11:27#10
terryww2posts: 32since: 22 Nov 2018

Hi,

 

I changed the credentials, thanks for the hint! So using the example app (connecting to the SSL ports):

8=FIX.4.4|9=144|35=V|49=fxpig.1000540|56=CSERVER|57=QUOTE|50=3006156|34=3|52=20190109-09:13:39|262=EURUSD:WDqsoT|263=1|264=0|265=1|267=2|269=0|269=1|146=1|55=1|10=203|
8=FIX.4.4|9=130|35=W|34=3|49=CSERVER|50=QUOTE|52=20190109-09:13:19.917|56=fxpig.my_acc_no|57=3006156|55=1|268=2|269=0|270=1.14638|269=1|270=1.14643|10=179|

So 35=W returns only best bid/ask with volumes, not the whole orderbook.

 

Now if I connect to the port my broker gave me (not a SSL port), then I get 268=0 and rarely 268=2 (in the evenings CET time).

 

Kind regards