public async Task GetCandlesticks()
        {
            var now = DateTimeOffset.UtcNow;

            var json = await _api.GetCandlesticksAsync(Symbol.BTC_USDT, CandlestickInterval.Hour, 1);

            Assert.True(IsJsonArray(json));

            json = await _api.GetCandlesticksAsync(Symbol.BTC_USDT, CandlestickInterval.Minute, startTime : now.AddMinutes(-1).ToUnixTimeMilliseconds(), endTime : now.ToUnixTimeMilliseconds());

            Assert.True(IsJsonArray(json));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Extension allowing candlestick interval as a string.
        /// </summary>
        /// <param name="client"></param>
        /// <param name="symbol"></param>
        /// <param name="interval"></param>
        /// <param name="limit"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public static async Task <string> GetCandlesticksAsync(this IBinanceHttpClient client, string symbol, string interval, int limit = default, DateTime startTime = default, DateTime endTime = default, CancellationToken token = default)
        {
            Throw.IfNull(client, nameof(client));

            if (client.RateLimiter != null)
            {
                await client.RateLimiter.DelayAsync(token : token)
                .ConfigureAwait(false);
            }

            return(await client.GetCandlesticksAsync(symbol, interval.ToCandlestickInterval(), limit, startTime, endTime, token)
                   .ConfigureAwait(false));
        }
        /// <summary>
        /// Extension allowing candlestick interval as a string.
        /// </summary>
        /// <param name="client"></param>
        /// <param name="symbol"></param>
        /// <param name="interval"></param>
        /// <param name="limit"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public static Task <string> GetCandlesticksAsync(this IBinanceHttpClient client, string symbol, string interval, int limit = default, long startTime = default, long endTime = default, CancellationToken token = default)
        {
            Throw.IfNull(client, nameof(client));

            return(client.GetCandlesticksAsync(symbol, interval.ToCandlestickInterval(), limit, startTime, endTime, token));
        }
Exemplo n.º 4
0
 public Task GetCandlesticksThrows()
 {
     return(Assert.ThrowsAsync <ArgumentNullException>("symbol", () => _client.GetCandlesticksAsync(null, CandlestickInterval.Day)));
 }