Need help.
DataScope Select - RAW Market-By-Pryce history available
RIC
Manifest: ESH7,Market By Price,2016-08-13T15:02:17.740531675Z,2017-03-25T18:21:00.047260224Z,Active,181197764
Manifest: ESH8,Market By Price,2016-12-04T18:16:04.684128916Z,2018-05-07T01:22:43.117534073Z,Active,261526135
Manifest: ESH9,Market By Price,2017-12-03T18:15:02.531401540Z,2019-03-30T18:26:42.279641706Z,Active,365422825
Manifest: ESM0,Market By Price,2019-03-05T00:58:28.391678447Z,2020-07-25T18:57:46.995355407Z,Active,648897270
Manifest: 1UROH7,Market By Price,2016-08-13T15:02:17.640962231Z,2017-03-18T18:18:37.788002625Z,Active,141381193
Manifest: 1UROH8,Market By Price,2016-08-13T15:02:17.640338134Z,2018-05-07T01:49:44.623195432Z,Active,208038329
DataScope Select - RAW Market-Price history available
Manifest: ECSSH1,Market Price,2009-09-15T03:01:33.605356000Z,2011-03-19T06:26:57.240593000Z,Active,96301190
Manifest: ECSSZ0,Market Price,2009-06-16T02:45:01.118862000Z,2010-12-18T06:26:00.060835000Z,Active,1075602
Manifest: ESU7,Market Price,1997-09-08T14:47:03.710000000Z,2017-09-23T23:29:39.414026666Z,Active,172439010
But using code from REST API I get empty files with 0 kb on these RICs
What could be the problem?
see images
code:
using System; using System.Linq; using System.Diagnostics; using System.IO; using ThomsonReuters.Dss.Api.StandardExtractions; using ThomsonReuters.Dss.Api; using ThomsonReuters.Dss.Api.Content; using ThomsonReuters.Dss.Api.Extractions; using ThomsonReuters.Dss.Api.Extractions.ExtractionRequests; using ThomsonReuters.Dss.Api.Extractions.ReportExtractions; using ThomsonReuters.Dss.Api.Extractions.ReportTemplates; using ThomsonReuters.Dss.Api.Extractions.Schedules; using ThomsonReuters.Dss.Api.Extractions.SubjectLists; using ThomsonReuters.Dss.Api.Search; using ThomsonReuters.Dss.Core.RestApi; namespace RefinitivHistoryTesting { class Program { static void Main(string[] args) { //----------------------------------------------------------------- //Connect and authenticate to the DSS server: //----------------------------------------------------------------- Uri dssUri = new Uri("https://hosted.datascopeapi.reuters.com/RestApi/v1/"); string dssUserName = "*****"; string dssUserPassword = "*******"; var out_dir = @".\Storage\"; var SearchContext = new SearchContext(dssUri, dssUserName, dssUserPassword); var ExtractionsContext = new ExtractionsContext(dssUri, dssUserName, dssUserPassword); var availableMbPFields = ExtractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.TickHistoryRaw); //var availableLL2Fields = ExtractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.TickHistoryMarketDepth); var availableTnSFields = ExtractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.TickHistoryTimeAndSales); ExtractionsContext.Options.AutomaticDecompression = true; var dateRange = DateTimeRange.Create( new DateTimeOffset(2008, 01, 01, 0, 0, 0, TimeSpan.Zero), new DateTimeOffset(2020, 12, 22, 0, 0, 0, TimeSpan.Zero)); var request = new HistoricalChainResolutionRequest { ChainRics = new[] { "0#ES:" },//{ "0#1URO:" }, Range = dateRange }; var chain_results = SearchContext.HistoricalChainResolution(request); foreach (var chain in chain_results) { Console.WriteLine("Chain Identifier: {0} {1}, Constituents: {2}", chain.IdentifierType, chain.Identifier, chain.Constituents.Count()); foreach (var constituent in chain.Constituents) { var searchResults = SearchContext.HistoricalSearch( HistoricalSearchRequest.Create( constituent.Identifier, constituent.IdentifierType, dateRange, HistoricalResultsBy.Ric, null)); //foreach (var result in from pos in searchResults where pos.DomainCode == "8" select pos) foreach (var result in searchResults) //var result = searchResults.FirstOrDefault(pos => pos.Identifier.Contains("UROH1")); //if (result != null) { var startDate = result.FirstDate; var lastDate = result.LastDate; Console.WriteLine("{0},\t {1},\t {2},\t {3},\t {4}", result.Identifier, result.IdentifierType, startDate, lastDate, result.DomainCode); var extractionResult = ExtractionsContext.ExtractRaw( //!!!--- Это должно соответствовать модели данных Real Time API MarketByPrice---!!! new TickHistoryRawExtractionRequest { Condition = new TickHistoryRawCondition { ReportDateRangeType = ReportDateRangeType.Range, QueryStartDate = startDate, //new DateTimeOffset(2016, 07, 25, 20, 0, 0, TimeSpan.Zero), QueryEndDate = lastDate, //new DateTimeOffset(2016, 08, 02, 19, 59, 59, TimeSpan.Zero), ExtractBy = TickHistoryExtractByMode.Ric, MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc, SortBy = TickHistorySort.SingleByRic, DomainCode = TickHistoryRawDomain.MarketByPrice, DisplaySourceRIC = true }, IdentifierList = new InstrumentIdentifierList { InstrumentIdentifiers = new[] { InstrumentIdentifier.Create(result.IdentifierType, result.Identifier) } }, /* new TickHistoryMarketDepthExtractionRequest { Condition = new TickHistoryMarketDepthCondition { ReportDateRangeType = ReportDateRangeType.Range, QueryStartDate = startDate, QueryEndDate = lastDate, NumberOfLevels = 10, ExtractBy = TickHistoryExtractByMode.Ric, MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc, SortBy = TickHistorySort.SingleByRic, View = TickHistoryMarketDepthViewOptions.NormalizedLL2, DisplaySourceRIC = true }, ContentFieldNames = availableLL2Fields.Select(f => f.Name).ToArray(), IdentifierList = new InstrumentIdentifierList { InstrumentIdentifiers = new[] { InstrumentIdentifier.Create( result.IdentifierType, result.Identifier) } },*/ }); using (var response = ExtractionsContext.RawExtractionResultOperations.GetReadStream(extractionResult)) using (var reader = new StreamReader(response.Stream)) { var fileName = out_dir + "_" + result.Identifier + "_" + startDate.DateTime.ToString("dd.MM.yyyy") + "_" + lastDate.DateTime.ToString("dd.MM.yyyy") + "_MarketByPrice.txt"; using (var fileStream = File.Create(fileName)) response.Stream.CopyTo(fileStream); } } } } Console.WriteLine("Press Enter to exit"); Console.ReadLine(); } } }