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()); }
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); }