public void TestMDSBloomberg() { // test basic start, request snapshot, and stop functions // - create a MDS client with direct connection to provider using (Reference <ILogger> loggerRef = Reference <ILogger> .Create(new TraceLogger(true))) { IModuleInfo clientInfo = new V131ModuleInfo(new V131ClientInfo()); using (ICoreClient client = new CoreClientFactory(loggerRef).SetEnv(BuildConst.BuildEnv).Create()) { const string curveName = "Orion.V5r3.Configuration.PricingStructures.QR_LIVE.RateCurve.AUD-BBR-BBSW-3M"; ICoreItem marketItem = client.LoadItem <Market>(curveName); if (marketItem == null) { throw new ApplicationException("Market '" + curveName + "' not found!"); } var market = (Market)marketItem.Data; //PricingStructure ps = market.Items[0]; PricingStructureValuation psv = market.Items1[0]; QuotedAssetSet quotedAssetSet = ((YieldCurveValuation)psv).inputs; using (IMarketDataClient mdc = new MarketDataRealtimeClient( loggerRef, null, client, MDSProviderId.Bloomberg))//MDSProviderId.GlobalIB { QuotedAssetSet data = mdc.GetMarketQuotes( MDSProviderId.Bloomberg, clientInfo, Guid.NewGuid(), true, null, quotedAssetSet).Result; Assert.IsNotNull(data); } } } }
static void Main(string[] args) { ILogger logger = Logger.CreateConsoleLogger("TestMdc: "); logger.LogInfo("Running..."); try { QRDataProviderId dataProviderId = QRDataProviderId.Bloomberg; // QRDataProviderId.ReutersIDN; // create MDS client MarketDataSet data = null; IMarketDataClient mdc = new MarketDataRealtimeClient( logger, new Sequencer(logger), dataProviderId); data = mdc.GetCurrentData( QRDataProviderId.Undefined, Guid.NewGuid(), null, QRAssetIdType.Undefined, new string[6] { "AUD-FxSpot-SP", "NZD-FxSpot-SP", "GBP-FxSpot-SP", "JPY-FxSpot-SP", "CHF-FxSpot-SP", "XYZ-FxSpot-SP" }, new string[2] { "ASK", "BID" }); Thread.Sleep(1000); logger.LogInfo("Results..."); for (int i = 0; i < data.rows.Length; i++) { MarketDataRow row = data.rows[i]; logger.LogInfo("[{0}] {1}", i, row.instrumentId); for (int j = 0; j < row.field.Length; j++) { MarketDataFld field = row.field[j]; logger.LogInfo("[{0}] {1} ({2})='[{3}]'", i, field.name, field.type, String.Join(",", field.value)); } } logger.LogInfo("Completed."); } catch (Exception e) { logger.Log(e); } logger.LogInfo("Press ENTER to exit."); Console.ReadLine(); }