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"); }
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.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"); }