示例#1
0
        public Quote?GetQuoteUpdate(DataSessionInfo session)
        {
            FXCMConnectionManager manager = Manager;

            if (manager != null && string.IsNullOrEmpty(session.Symbol.Name) == false)
            {
                object ask  = manager.GetInstrumentData(session.Symbol.Name, "Ask");
                object bid  = manager.GetInstrumentData(session.Symbol.Name, "Bid");
                object time = manager.GetInstrumentData(session.Symbol.Name, "Time");

                if (ask == null || bid == null || time == null)
                {
                    return(null);
                }

                return(new Quote((decimal)((double)ask), (decimal)((double)bid), null, (DateTime)time));
            }

            return(null);
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        public RuntimeDataSessionInformation GetSymbolSessionRuntimeInformation(Symbol inputSymbol)
        {
            RuntimeDataSessionInformation information = _dataSourceStub.GetSymbolSessionInformation(inputSymbol);
            FXCMConnectionManager         manager     = Manager;

            if (information == null && manager != null)
            {
                return(new RuntimeDataSessionInformation(new DataSessionInfo(Guid.NewGuid(), inputSymbol.Name,
                                                                             inputSymbol, 1000, (int)manager.GetInstrumentData(inputSymbol.Name, "Digits")), DefaultAvailablePeriods));
            }
            else
            {
                return(information);
            }
        }