public void Load(string file) { var list = JArray.Parse(File.ReadAllText(file)); var current = list.First; while (current != null) { var items = (JArray)current; var product = items[1].Value <string>(); if (!_items.TryGetValue(product, out var ranges)) { ranges = new List <TradingTimeRange>(); _items.Add(product, ranges); } var date1 = ParseDateTime(items[4].Value <string>()); var date2 = ParseDateTime(items[5].Value <string>()); var range = new TradingTimeRange(date1, date2); foreach (var item in ParseTimeRange(items[2].Value <string>())) { range.AddRange(item); } ranges.Add(range); current = current.Next; } }
private static void SetRangeUpdateReminder(TradingTimeRange range, Strategy strategy) { if (range.DateTime2 < DateTime.MaxValue) { strategy.Clock.AddReminder(new Reminder(UpdateTradingRange, range.DateTime2.AddDays(1), strategy)); } }
public TradingTimeRange Get(DateTime dateTime) { _last = TradingCalendar.Instance.GetTimeRange(_list, _last, dateTime); return(_last); }
private void LoadTradingTimeRange() { _timeRanges = TradingCalendar.Instance.GetTimeRange(instrument, DateTime.Today); }
private void LoadTradingTimeRange() { _timeRange = TradingCalendar.Instance.GetTimeRange(instrument, DateTime.Today); _nightOpenTime = _timeRange.NightOpenTime; _openTime = _timeRange.OpenTime; }
static TradingTimeManager() { Stock = new TradingTimeRange(DateTime.MinValue, DateTime.MaxValue); Stock.AddRange(new TimeRange(new TimeSpan(9, 30, 0), new TimeSpan(11, 30, 0), true, false, false)); Stock.AddRange(new TimeRange(new TimeSpan(13, 00, 0), new TimeSpan(15, 00, 0), false, true, false)); }
static TradingTimeRange() { Fulltime = new TradingTimeRange(DateTime.MinValue, DateTime.MaxValue); Fulltime.AddRange(TimeSpan.Zero, new TimeSpan(23, 59, 59)); }
public static void SetTimeRange(this Instrument inst, TradingTimeRange manager) { inst.Fields[QuantBoxConst.InstrumentTimeManagerOffset] = manager; }