예제 #1
0
        protected override async Task Execute(CancellationToken token)
        {
            log.LogInformation("Starting...");
            if (!client.Connect())
            {
                log.LogError("Connection failed");
                return;
            }

            var stream = realTimeBarsManager.Request(ContractHelper.GetStockContract(config.Symbol), WhatToShow.BID_ASK);
            await serializer.Save($"{config.Symbol}_realtime.csv", stream, token).ConfigureAwait(false);

            log.LogInformation("Realtime request completed");
        }
        protected override async Task Execute(CancellationToken token)
        {
            log.LogInformation("Starting...");
            if (!client.Connect())
            {
                log.LogError("Connection failed");
                return;
            }

            var request = historicalDataManager
                          .Request(
                new MarketDataRequest(
                    ContractHelper.GetStockContract(config.Symbol),
                    DateTime.UtcNow.Date,
                    new Duration(5, DurationType.Years),
                    BarSize.Day,
                    WhatToShow.BID_ASK));
            await serializer.Save($"{config.Symbol}_historic.csv", request, token).ConfigureAwait(false);

            log.LogInformation("History request completed");
        }
예제 #3
0
        protected override async Task Execute(CancellationToken token)
        {
            log.LogInformation("Starting...");
            if (!client.Connect())
            {
                log.LogError("Connection failed");
                return;
            }

            var providers = await newsProvider.Request().FirstOrDefaultAsync();

            var contract = await contractManager.Request(ContractHelper.GetStockContract(config.Symbol)).FirstOrDefaultAsync();

            var news = newsManager.Request(contract.ContractDetails.Contract.ConId,
                                           providers.NewsProviders[2].ProviderCode,
                                           StringFormater.StrToDate(config.From, client.TimeZone).DateToStr(),
                                           StringFormater.StrToDate(config.To, client.TimeZone).DateToStr(),
                                           100);
            var newsData = await news.ToArray();

            log.LogInformation("News request completed");
        }