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(); }
private IEnumerable <BaseRow> GetGenericResponse(O2GMarketDataSnapshotResponseReader reader, string requestID) { var rows = new List <MarketDataRow>(); // Try to obtain the instrument from a saved list of market data requests. var instrument = this.MarketDataInstrumentGetter(requestID); for (var i = 0; i < reader.Count; i++) { var row = new MarketDataRow(); row.Instrument = instrument; if (reader.isBar) { row.AskClose = reader.getAskClose(i); row.AskHigh = reader.getAskHigh(i); row.AskLow = reader.getAskLow(i); row.AskOpen = reader.getAskOpen(i); row.BidClose = reader.getBidClose(i); row.BidHigh = reader.getBidHigh(i); row.BidLow = reader.getBidLow(i); row.BidOpen = reader.getBidOpen(i); } else { row.Ask = reader.getAsk(i); row.Bid = reader.getBid(i); } row.IsBar = reader.isBar; row.Time = reader.getDate(i); row.Volume = reader.getVolume(i); rows.Add(row); } return(rows); }