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

            List <Task> tasks = new List <Task>();

            for (int i = 0; i < 10; i++)
            {
                double strike  = config.Strike + i * 10;
                var    request = historicalDataManager()
                                 .Request(
                    new MarketDataRequest(
                        ContractHelper.GetOptionsContract(config.Symbol, strike, config.Expiry, OptionType.CALL),
                        DateTime.UtcNow.Date,
                        new Duration(5, DurationType.Months),
                        BarSize.Hour,
                        WhatToShow.MIDPOINT));
                var task = serializer.Save($"{config.Symbol}_{config.Expiry}_{config.Type}_{strike}_historic.csv", request, token);
                tasks.Add(task);
            }

            await Task.WhenAll(tasks).ConfigureAwait(false);

            log.LogInformation("History request completed");
        }
Example #2
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");
        }
Example #3
0
        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.GetContract(config.Stock),
                    DateTime.UtcNow.Date,
                    new Duration(5, DurationType.Years),
                    BarSize.Day,
                    WhatToShow.BID_ASK));
            await serializer.Save($"{config.Stock}_historic.csv", request, token).ConfigureAwait(false);

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