예제 #1
0
        public override void Initialize()
        {
            UniverseSettings.Resolution = Resolution.Hour;

            SetStartDate(2015, 01, 05);
            SetEndDate(2015, 11, 09);

            SetCash(1000*1000);


            AddUniverse("equities-lab-universe", date =>
            {
                using (var client = new WebClient())
                {
                    //2014-12-30
                    var file = client.DownloadString(String.Format(EquitiesLabUrlFormat, EquitiesLabKey, EquitiesLabScreener, date.ToString("yyyy-MM-dd")));
                    var response = JsonConvert.DeserializeObject<EquitiesLabResponse>(file);
                    _todaysResponse = new EquitiesLabResponse();
                    _todaysResponse.Securities = response.Securities.Where(x => ValidSymbols.Contains(x.Ticker)).ToList();
                    return _todaysResponse.Securities.Select(x => x.Ticker);
                }
            });

            // cancell all orders at EOD
            Schedule.Event("Cancel Open Orders").EveryDay().At(TimeSpan.FromHours(16)).Run(() =>
            {
                foreach (var ticket in Transactions.GetOrderTickets(x => x.Status.IsOpen()))
                {
                    ticket.Cancel();
                }
            });
        }
예제 #2
0
        public override void Initialize()
        {
            UniverseSettings.Resolution = Resolution.Hour;

            SetStartDate(2015, 01, 05);
            SetEndDate(2015, 11, 09);

            SetCash(1000 * 1000);


            AddUniverse("equities-lab-universe", date =>
            {
                using (var client = new WebClient())
                {
                    //2014-12-30
                    var file                   = client.DownloadString(String.Format(EquitiesLabUrlFormat, EquitiesLabKey, EquitiesLabScreener, date.ToString("yyyy-MM-dd")));
                    var response               = JsonConvert.DeserializeObject <EquitiesLabResponse>(file);
                    _todaysResponse            = new EquitiesLabResponse();
                    _todaysResponse.Securities = response.Securities.Where(x => ValidSymbols.Contains(x.Ticker)).ToList();
                    return(_todaysResponse.Securities.Select(x => x.Ticker));
                }
            });

            // cancell all orders at EOD
            Schedule.Event("Cancel Open Orders").EveryDay().At(TimeSpan.FromHours(16)).Run(() =>
            {
                foreach (var ticket in Transactions.GetOrderTickets(x => x.Status.IsOpen()))
                {
                    ticket.Cancel();
                }
            });
        }