2015-08-11 8 views
0

Как я мигрирующий Bloomberg COM DLL основанных на Bloomberg API v3 в .Net, я столкнулся некоторые проблемы в совмещая метод эквивалентного. Я попробовал выборку с помощью ReferenceDataRequest для обеспечения безопасности LMCADP 20150819 COMDTY, но цены не совпадают. Пожалуйста, укажите, какой тип запроса следует использовать.Эквивалент метода Bloomberg BlpDataClass.get_BLPSubscribe

private void sendRefDataRequest(Session session) 
    { 
     Service refDataService = session.GetService("//blp/refdata"); 
     Request request = refDataService.CreateRequest("ReferenceDataRequest"); 

     // Add securities to request 
     Element securities = request.GetElement("securities"); 

     for (int i = 0; i < d_securities.Count; ++i) 
     { 
      securities.AppendValue((string)d_securities[i]); 
     } 

     // Add fields to request 
     Element fields = request.GetElement("fields"); 
     for (int i = 0; i < d_fields.Count; ++i) 
     { 
      fields.AppendValue((string)d_fields[i]); 
     } 

     System.Console.WriteLine("Sending Request: " + request); 
     session.SendRequest(request, null); 
    } 

и добавлены ценные бумаги

if (d_securities.Count == 0) 
     { 
      d_securities.Add("IBM US Equity"); 
      d_securities.Add("LMCADP 20150819 COMDTY"); 
     } 
+0

Какие результаты вы получили с COM API? Какие результаты вы получите с API V3? Какие поля вы запрашиваете? – assylias

+0

Поля, я передаю 'если (d_fields.Count == 0) \t \t \t { \t \t \t \t d_fields.Add ("PX_LAST"); \t \t \t} ' – DvpNav

+0

Пример ** Bloomberg API ** PX_Last приходит ** 5298,25 ** и с ** COM библиотека ** я получаю ** 5380,15 ** – DvpNav

ответ

0

BLPSubscribe в старом управления ActiveX Блумберга сделал либо синхронное подписку или статический запрос в зависимости от полей, которые вы прошли в. Если вы запрашивающий статические поля, как PX_LAST то ReferenceDataRequest будет подходящим способом получения данных.

Если вы смотрели только в реальном времени LAST_PRICE, вы хотели бы сделать подписку (создайте SubscriptionList из объектов Subscription, а затем используйте Session.Subscribe (..)).