示例#1
0
        private void AddJob(string selectedJob)
        {
            IJobSettings job = null;

            //create the jobdetails and add
            if (selectedJob == "Data Update")
            {
                job = new DataUpdateJobSettings {
                    Name = GetJobName("DataUpdateJob"), UseTag = true, Frequency = BarSize.OneDay, Time = new TimeSpan(8, 0, 0), WeekDaysOnly = true
                };
            }
            else if (selectedJob == "Economic Release Update")
            {
                job = new EconomicReleaseUpdateJobSettings {
                    Name = GetJobName("EconomicReleaseUpdateJob"), BusinessDaysBack = 1, BusinessDaysAhead = 7, DataSource = "FXStreet"
                };
            }
            else if (selectedJob == "Dividend Update")
            {
                job = new DividendUpdateJobSettings {
                    Name = GetJobName("DividendUpdateJob"), BusinessDaysBack = 0, BusinessDaysAhead = 3, DataSource = "Nasdaq"
                };
            }
            else if (selectedJob == "Earnings Update")
            {
                job = new EarningsUpdateJobSettings {
                    Name = GetJobName("EarningsUpdateJob"), BusinessDaysBack = 0, BusinessDaysAhead = 3, DataSource = "Nasdaq"
                };
            }

            var jobVm = GetJobViewModel(job);

            Jobs.Add(jobVm);
            SelectedJob = jobVm;
        }
示例#2
0
        private EarningsAnnouncementRequest GenerateRequests(EarningsUpdateJobSettings settings)
        {
            var startDate = DateTime.Now.Date.AddBusinessDays(-settings.BusinessDaysBack);
            var endDate   = DateTime.Now.Date.AddBusinessDays(settings.BusinessDaysAhead);

            if (!settings.UseTag)
            {
                //grab all symbols
                return(new EarningsAnnouncementRequest(
                           startDate,
                           endDate,
                           dataLocation: DataLocation.ExternalOnly,
                           dataSource: settings.DataSource));
            }
            else
            {
                //get the symbols using the tag filter
                var symbols = _instrumentManager
                              .FindInstruments(x => x.Tags.Any(y => y.ID == settings.TagID))
                              .Result
                              .Select(x => x.Symbol)
                              .Distinct()
                              .ToList();

                return(new EarningsAnnouncementRequest(
                           startDate,
                           endDate,
                           symbols.ToList(),
                           dataLocation: DataLocation.ExternalOnly,
                           dataSource: settings.DataSource));
            }
        }