private static HistoricalBarsRequest getValidatedRequestWithoutPageToken( HistoricalBarsRequest request) => new HistoricalBarsRequest( request.Symbols, request.GetValidatedFrom(), request.GetValidatedInto(), request.TimeFrame) .WithPageSize(request.GetPageSize());
/// <summary> /// Gets all items provided by <see cref="IAlpacaDataClient.ListHistoricalBarsAsync"/> in pagination /// mode as single stream of items (in form of <see cref="IAsyncEnumerable{IAgg}"/> interface) so they /// can be consumed by the <c>await foreach</c> statement on the caller side. /// </summary> /// <param name="client">Target instance of the <see cref="IAlpacaDataClient"/> interface.</param> /// <param name="request">Original historical minute bars request (with empty next page token).</param> /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> /// <returns></returns> public static IAsyncEnumerable <IAgg> GetHistoricalBarsAsAsyncEnumerable( this IAlpacaDataClient client, HistoricalBarsRequest request, CancellationToken cancellationToken = default) => getPaginatedResponsesAsAsyncEnumerable(
public static IAsyncEnumerable <IReadOnlyList <IBar> > GetHistoricalBarsPagesAsAsyncEnumerable( this IAlpacaDataClient client, HistoricalBarsRequest request) => GetHistoricalBarsPagesAsAsyncEnumerable(client, request, CancellationToken.None);
public static IReadOnlyDictionary <String, IAsyncEnumerable <IBar> > GetHistoricalBarsDictionaryOfAsyncEnumerable( this IAlpacaDataClient client, HistoricalBarsRequest request, CancellationToken cancellationToken) => getValidatedRequestWithoutPageToken(request.EnsureNotNull(nameof(request))) .GetResponsesByItems(client.EnsureNotNull(nameof(client)).GetHistoricalBarsAsync, cancellationToken);
public static IReadOnlyDictionary <String, IAsyncEnumerable <IBar> > GetHistoricalBarsDictionaryOfAsyncEnumerable( this IAlpacaDataClient client, HistoricalBarsRequest request) => GetHistoricalBarsDictionaryOfAsyncEnumerable(client, request, CancellationToken.None);