Example #1
0
        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();
        }
Example #2
0
        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);
        }