Example #1
0
        public static TradingTimeRange GetRandomTimeForMarketSession(MarketSession marketSession)
        {
            var today = DateTime.UtcNow.ToEstTime();

            if (!today.IsTradingDay())
            {
                today = today.GetPreviousTradingDay();
            }

            switch (marketSession)
            {
            case MarketSession.Pre:
            {
                var start = today.Date;
                var end   = new TimeSpan(9, 29, 59);

                today = start.SetTime(start.TimeOfDay.Random(end));
                return(new TradingTimeRange(new TimeRange(start, today)));
            }

            case MarketSession.Main:
            {
                if (today.TimeOfDay < new TimeSpan(9, 30, 00))
                {
                    today = today.GetPreviousTradingDay();
                }

                var start = today.ChangeTime(9, 30, 59, 59);
                var end   = new TimeSpan(15, 59, 59);

                today = start.SetTime(start.TimeOfDay.Random(end));
                return(new TradingTimeRange(new TimeRange(start, today)));
            }

            case MarketSession.After:
            {
                if (today.TimeOfDay.TotalSeconds < 16 * 60 * 60)
                {
                    today = today.GetPreviousTradingDay();
                }

                var start = today;
                var end   = new TimeSpan(8, 00, 59);

                Random random = new Random();

                today = today.Date.AddHours(random.Next(17, 23));

                var time = new TradingTimeRange(new TimeRange(start, today));
                return(time);
            }
            }

            return(CalculateTradingTimeRangeForToday());
        }
Example #2
0
 static CalendarService()
 {
     _Logger = LogManager.GetLogger(typeof(MarketDataService));
     _marketSessions["United States-STK"] = new MarketSession()
     {
         Country = "United States", Type = "STK", OpenTime = new DateTime(2000, 1, 1, 9, 30, 0), CloseTime = new DateTime(2000, 1, 1, 16, 0, 0)
     };
     _marketSessions["China-STK"] = new MarketSession()
     {
         Country = "China", Type = "STK", OpenTime = new DateTime(2000, 1, 1, 9, 30, 0), CloseTime = new DateTime(2000, 1, 1, 15, 0, 0)
     };
 }
 public void TearDown()
 {
     session = null;
       email = null;
       password = null;
 }
        public void Setup()
        {
            session = new MarketSession();

              session.Login(email, password);
        }
 public void TearDown()
 {
     session  = null;
     email    = null;
     password = null;
 }
        public void Setup()
        {
            session = new MarketSession();

            session.Login(email, password);
        }