Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
 private static void SetRangeUpdateReminder(TradingTimeRange range, Strategy strategy)
 {
     if (range.DateTime2 < DateTime.MaxValue)
     {
         strategy.Clock.AddReminder(new Reminder(UpdateTradingRange, range.DateTime2.AddDays(1), strategy));
     }
 }
Esempio n. 3
0
 public TradingTimeRange Get(DateTime dateTime)
 {
     _last = TradingCalendar.Instance.GetTimeRange(_list, _last, dateTime);
     return(_last);
 }
Esempio n. 4
0
 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;
 }
Esempio n. 6
0
 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));
 }
Esempio n. 7
0
 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;
 }