コード例 #1
0
        /// <summary>
        /// Gets list of historical bars for single asset from Alpaca REST API endpoint.
        /// </summary>
        /// <param name="symbol">Asset name for data retrieval.</param>
        /// <param name="barDuration">Single historical bar duration.</param>
        /// <param name="startTimeInclusive">Start time for filtering (inclusive).</param>
        /// <param name="endTimeInclusive">End time for filtering (inclusive).</param>
        /// <returns>Read-only list of historical bars for specified asset.</returns>
        public Task <IAssetBars> ListBarsAsync(
            String symbol,
            BarDuration barDuration,
            DateTime?startTimeInclusive = null,
            DateTime?endTimeInclusive   = null)
        {
            var builder = new UriBuilder(_alpacaHttpClient.BaseAddress)
            {
                Path  = $"v1/assets/{symbol}/bars",
                Query = new QueryBuilder()
                        .AddParameter("timeframe ", barDuration.ToEnumString())
                        .AddParameter("start_dt", startTimeInclusive)
                        .AddParameter("end_dt", endTimeInclusive)
            };

            return(getSingleObjectAsync <IAssetBars, JsonAssetBars>(_alpacaHttpClient, builder));
        }
コード例 #2
0
        /// <summary>
        /// Gets list of historical bars for several assets from Alpaca REST API endpoint.
        /// </summary>
        /// <param name="symbols">List of asset names for data retrieval.</param>
        /// <param name="barDuration">Single historical bar duration.</param>
        /// <param name="startTimeInclusive">Start time for filtering (inclusive).</param>
        /// <param name="endTimeInclusive">End time for filtering (inclusive).</param>
        /// <returns>Read-only list of historical bars lists for specified assets.</returns>
        public Task <IEnumerable <IAssetBars> > ListBarsAsync(
            IEnumerable <String> symbols,
            BarDuration barDuration,
            DateTime?startTimeInclusive = null,
            DateTime?endTimeInclusive   = null)
        {
            var builder = new UriBuilder(_alpacaHttpClient.BaseAddress)
            {
                Path  = "v1/bars",
                Query = new QueryBuilder()
                        .AddParameter("symbols", String.Join(",", symbols))
                        .AddParameter("timeframe", barDuration.ToEnumString())
                        .AddParameter("start_dt", startTimeInclusive)
                        .AddParameter("end_dt", endTimeInclusive)
            };

            return(getObjectsListAsync <IAssetBars, JsonAssetBars>(_alpacaHttpClient, builder));
        }