public static ExchangeStatus CurrentExchangeStatus(Exchange exchange) { try { if (IsDateBusinessDay(DateTime.Now)) { if (m_oOpeningHours == null) { GoogleHistoricalDataInterpreter oGHDI = new GoogleHistoricalDataInterpreter(); m_oOpeningHours = oGHDI.GetStartEndOfExchange(Instruments[0], exchange); //ugly, what happens when the first instruments doesn't exists at the exchange...? } if ((DateTime.Now >= m_oOpeningHours.Item1 && DateTime.Now <= m_oOpeningHours.Item2)) { m_oExchangeStatus = ExchangeStatus.Open; } else { m_oExchangeStatus = ExchangeStatus.Closed; } } else { m_oExchangeStatus = ExchangeStatus.Closed; } } catch { m_oExchangeStatus = ExchangeStatus.Undefined; } return(m_oExchangeStatus); }
private List <HistoricalQuoteDetails> GetExternalDataForRange(DateTime Start, DateTime End, int Interval) { //fix the dates, since google keeps sending to much GoogleHistoricalDataInterpreter g = new GoogleHistoricalDataInterpreter(); return(g.GetHistoricalDataWithInterval(m_oH.Instrument, m_oH.Exchange, Start, Interval).HistoricalQuoteDetails .Where(h => h.Date >= Start && h.Date <= End) .OrderBy(x => x.Date) .ToList()); }
public HistoricalPriceCacheBuilder(Instrument[] Instruments, string PathToSerializeDirectory, string FileNamePattern, string Exchange) { m_oInstruments = Instruments; m_oPathToSerializeDirectory = PathToSerializeDirectory; m_oFileNamePattern = FileNamePattern; m_oCurrentExchange = new Exchange { ExhangeCode = Exchange }; m_oGHDI = new GoogleHistoricalDataInterpreter(); }