When we requested TS1 data and decode the date of RIC EUR= using RFA C++ and TS1 decoder using below code.
time_t time = sample->getDate(); time_tm = gmtime(&time); sprintf(time_str,”%4ld/%02ld/%02ld",(long int)(1900+time_tm->tm_year),(long int)(time_tm->tm_mon+1),(long int)time_tm->tm_mday);
The result is like:
DATE,BID,OPEN,HIGH,LOW,ASK,HIGH BID,LOW BID,OPEN ASK,HIGH ASK,LOW ASK 2018/06/27,No data available 2018/06/26,1.1552,1.1646,1.1672,1.1539,1.1555,1.1672,1.1539,1.165,1.1674,1.1541 2018/06/25,1.1645,1.1702,1.172,1.1633,1.1649,1.172,1.1633,1.1706,1.1722,1.1636 2018/06/24,1.1702,1.1657,1.1713,1.1625,1.1706,1.1713,1.1625,1.1658,1.1715,1.1629 2018/06/21,1.1655,1.1602,1.1675,1.1598,1.1659,1.1675,1.1598,1.1605,1.1677,1.16 2018/06/20,1.1601,1.157,1.1633,1.1507,1.1605,1.1633,1.1507,1.1573,1.1636,1.1509
When compared this output with other services like Datascope Select, it seems the DATE is inconsistent with DSS. See the DSS data here. For example data from TS1 on 25 June appears in DSS on 26 June. Is this TS1 data issue or decoding issue?
It seems that the TS1 C++ API internally convert the date using machine's local time, so an application needs to use localtime() to correctly decode the date. Please use the localtime() instead, and then let us know the result.
According to TS1_DevGuide.pdf from RFA C++ 8.1 package, getDate return the time, in seconds, since epoch (in GMT). So you might need to call method localtime(...) instead of gmtime. Our example StarterConsumer_TS1 also use method localtime when display the data in TS1Decoder::displayByDate(..).
time_t time = sample->getDate(); time_tm = localtime(&time);
Hi, we are not trying to get the localtime actually. The issue we have is with gmtime() where it decodes a DATE to be different from other Thomson Reuters services e.g., Datascope Select. You can try with "EUR=" where TS1's BID=1.1601 on 20/06/2018 where on DSS's BID=1.1601 on 21/06/2018.
If the decoding code part is correct, is it possible that TS1 database is incorrect?
Hi, sample->getDate() return the time, in seconds, since epoch (in GMT).
We tried the time sample returned from ‘sample->getDate()’ using ‘localtime’ as well as ‘gmtime’ functions and found that TS1 Application’s date output is in sync with the DataSCopeSelect’s date output for the same bid price.