/// <summary>
 /// This is a public endpoint, no identity verification is needed.
 /// Rate limit: 20 requests per 2 seconds
 /// </summary>
 /// <param name="currency">Token symbol, e.g. BTC</param>
 /// <param name="period">Bar size in seconds, default 300, must be one of [300/3600/86400] otherwise returns error</param>
 /// <param name="start">Start time in ISO 8601</param>
 /// <param name="end">End time in ISO 8601</param>
 /// <param name="ct">Cancellation Token</param>
 /// <returns></returns>
 public virtual WebCallResult <IEnumerable <OkexContractVolume> > Contract_GetVolume(string currency, OkexContractPeriod period = OkexContractPeriod.FiveMinutes, DateTime?start = null, DateTime?end = null, CancellationToken ct = default) => Contract_GetVolume_Async(currency, period, start, end, ct).Result;
        /// <summary>
        /// This is a public endpoint, no identity verification is needed.
        /// Rate limit: 20 requests per 2 seconds
        /// </summary>
        /// <param name="currency">Token symbol, e.g. BTC</param>
        /// <param name="period">Bar size in seconds, default 300, must be one of [300/3600/86400] otherwise returns error</param>
        /// <param name="start">Start time in ISO 8601</param>
        /// <param name="end">End time in ISO 8601</param>
        /// <param name="ct">Cancellation Token</param>
        /// <returns></returns>
        public virtual async Task <WebCallResult <IEnumerable <OkexContractVolume> > > Contract_GetVolume_Async(string currency, OkexContractPeriod period = OkexContractPeriod.FiveMinutes, DateTime?start = null, DateTime?end = null, CancellationToken ct = default)
        {
            var parameters = new Dictionary <string, object>
            {
                { "granularity", JsonConvert.SerializeObject(period, new ContractPeriodConverter(false)) },
            };

            parameters.AddOptionalParameter("start", start?.DateTimeToIso8601String());
            parameters.AddOptionalParameter("end", end?.DateTimeToIso8601String());

            return(await SendRequest <IEnumerable <OkexContractVolume> >(GetUrl(Endpoints_Contract_Volume, currency), HttpMethod.Get, ct, parameters).ConfigureAwait(false));
        }
Exemplo n.º 3
0
 /// <summary>
 /// This is a public endpoint, no identity verification is needed.
 /// Rate limit: 20 requests per 2 seconds
 /// </summary>
 /// <param name="currency">Token symbol, e.g. BTC</param>
 /// <param name="period">Bar size in seconds, default 300, must be one of [300/3600/86400] otherwise returns error</param>
 /// <param name="start">Start time in ISO 8601</param>
 /// <param name="end">End time in ISO 8601</param>
 /// <param name="ct">Cancellation Token</param>
 /// <returns></returns>
 public WebCallResult <IEnumerable <OkexContractRatio> > Contract_GetLongShortRatio(string currency, OkexContractPeriod period = OkexContractPeriod.FiveMinutes, DateTime?start = null, DateTime?end = null, CancellationToken ct = default) => Contract_GetLongShortRatio_Async(currency, period, start, end, ct).Result;