||Mar 31, 2014 03:14 AM
||Jun 27, 2014 08:19 AM
||Jun 27, 2014 08:19 AM
bbmat has contributed to 24 posts out of 18238 total posts
(0.13%) in 1,333 days (0.02 posts per day).
20 Most recent posts:
I figured out the issue, the problem was the <space> in front of the symbol.
Thanks a lot.
When I submit the command "BW,USDCAD.COMP,3600,,1", all that is returned is:
but nothing else!
When I submit the following command :
"BW, USDJPY.FXCM, 1,,,,,,67c38784-4083-4117-ac92-8b6e82c27bb6,,,\r\n" (includes requestId)
then the following is returned:
"S,SERVER CONNECTED\r" and then "n, USDJPY.FXCM\r"
Neither seems to work.
Could you please advise what is potentially going wrong here? I set the protocol to Version 5.1 upon connecting the derivative tcp socket.
Could you please check whether the streaming bar request "BW, ...." allows for currency symbol requests? Each time submit a request it returns "n,[Symbol]".
I am aware how to retrieve historical bar series, however, I am wondering is it possible to receive new bars that complete? For example, I can retrieve all historical 1-minute bars up until now but I also like to be notified and receive when each new 1-minute bar completes going forward without having to specifically request it each single time. If that is not possible could you please give me some suggestion what Best Practices are? I see the problem that because of slight timer differences relying on the local timer to each time request a new bar is most likely a very bad solution.
Great, will do.
While you offered to clarify, is there a chance to get a list of the currently supported fx providers? I am aware of FXCM and COMP (composite feed) but I wonder which other currently supported providers are there. I am especially interested in ECN type of feeds such as FXAll, HotspotFX, Currenex, EBS, Reuters. I checked on your website and found one list but most of the listed providers listed under Tenfore are not working. I am interested in intraday 1-minute and tick based data.
Thanks a lot
I get similar messages than you get above. I guess I got confused because some of my requests include a custom requestId, others do not. You made it clear that even when an error message is returned the request Id is prepended as long as the request is made with the id. Sorry my bad. Happy Easter.
P.S. Is there a way to delete this thread as it was my mistake and the datafeed behaves actually as documented and expected.
The documentation states the following:
Result Format for Errors:
If IQConnect.exe recognizes the command is formatted incorrectly, you will receive a syntax error in the following format:
Or, if the servers return an error, you will receive an error in the following format:
If you specified a REQUESTID, it will be prepended to one of the above messages. For example:
Can you please shed light into the current standard way to receive error messages because the above does not match with what I get back. I am receiving error messages that differ significantly: Sometimes the error message is prepended with "1000", at other times only a "!NOData!" is returned. It makes it incredibly difficult to write code that does not break.
I like to request the addition of millisecond time stamps for currency tick based data. I understand that your data providers do not time stamp down to the millisecond but can you at least consider timestamping to the millisecond on your end? It makes very little sense to receive several ticks within the same second that are all identically timestamped. I currently time stamp on my end but I am not sure I understand why you provide millisecond precision for equity data but not for currency data. Most every data provider nowadays provides precise time stamps down to the millisecond so I am actually pretty sure that your data providers (Tenfore or FXCM,...) also provide millisecond precision.
Thanks for checking.
Not wanting to open another topic, could you please let me know what the cutoff time is for fx data when requesting historical DAILY data? What is the time at which the Daily Close of a compressed data point is taken? Is it midnight EST?
problem solved! I wrote an AsyncSocket class some time ago and completely forgot that I internally already manage potentially split messages. Sorry to occupy your time with this issue. I verified and the Gateway indeed sends messages containing multiple data points, constrained by the "dataPointsPerSend" parameter.
will need to double check and get back to you on this, but good idea to isolate whether the gateway is involved or not.
Tim Walter, thanks for your effort but I guess you misunderstand; My issue is that my socket only receives incoming data packets with the EXACT size and content of 1(!!!) single data point, one line (ending with "\r"). That is all each packet contains. I expect to receive hundreds of data points in one packet. It still looks to me that the gateway sends out line by line rather than all 500 requested data points at once.
So, currently I do not need to store anything in temp variables because I receive exactly one data point and it is easy to parse that into a POCO. My problem, however, is that I want to get many datapoints (optimally) the whole request in one or few large packets. I double checked and my socket logic does not impose any limits on incoming data sizes.
My socket logic seems perfectly fine. I receive exactly what I request, not one single data point is dropped. But my socket receives each single data point in an individual packet rather than having many data points lumped together in one packet. And right now I still have to suspect that it is the Gateway IQConnect which is the speed throttle here -> Sending each data point individually slows down things to a large degree.
Edited by bbmat on Mar 31, 2014 at 05:33 AM
Edited by bbmat on Mar 31, 2014 at 05:36 AM
got it, thanks.
no I would not because the EST time 00:00:00 would show on my machine as 12:00:00 noon (12 hours ahead) and no date switch would be made. My problem is that I want to convert all time stamps to UTC datetime and right now the date portion is missing on streaming data.
Here is what I am seeing:
FROM CLIENT LookupRequest 9296 2014-03-31 17:51:46 HIX,EURUSD.COMP,3600,500,0,159c0467-29b0-4402-a945-f9ea09132d7f,5000,s
I attached the logFile could you please take a look, it still looks like as if the gateway sends each message (each data point) individually, or is this to be understood as one single response message?
I just wonder, if this was a socket issue then why do I get each message containing exactly one full datapoint with ending CF flag? If the buffer was set too low in my socket then I would understand but then each message should be truncated which it is not.
Edited by bbmat on Mar 31, 2014 at 04:56 AM
Edited by bbmat on Mar 31, 2014 at 04:57 AM
Edited by bbmat on Mar 31, 2014 at 04:58 AM
so how would you deal with the fact that the stream continues throughout a date switch? Anyone who does not deal with EST as local time needs to convert to UTC or local time which makes it very error prone if no date can be retrieved.
OK, could you please help me locate where to turn on loggin in the gateway?
got it, regarding my last line in the previous post,
"By the way could you please let me know the field descriptor to specify in "Select Update Fields" in order to have a full time stamp (with date) returned. I do not see dates returned right now for Level1 quote subscriptions. I currently use "Bid TimeMS", "Ask TimeMS", and Last TimeMS", so how can I get the full date & time returned?"
Could you please point me to the right field?
I see the same lacking on Level1 quote subscriptions for fx. Can you confirm that milliseconds are also not reported on Level1 quotes? I do not understand why your servers would not time stamp everything that comes in, regardless of asset class? (unless of course it is already exchange time stamped)
By the way could you please let me know the field descriptor to specify in "Select Update Fields" in order to have a full time stamp (with date) returned. I do not see dates returned right now for Level1 quote subscriptions. I currently use "Bid TimeMS", "Ask TimeMS", and Last TimeMS", so how can I get the full date & time returned? Thanks
Edited by bbmat on Mar 31, 2014 at 04:19 AM
Edited by bbmat on Mar 31, 2014 at 04:21 AM