Exemple #1
0
        public void Unsubscribe(string symbol, KlineInterval interval)
        {
            var intervalStr = string.Format("kline_{0}", TransferNameConverter.Convert(interval));
            var msg         = new { method = "unsubscribe", topic = intervalStr, symbols = new[] { symbol } };

            _ws.Send(msg);
        }
        /// <summary>
        /// Gets candlestick/kline bars for a symbol. Bars are uniquely identified by their open time.
        /// </summary>
        /// <returns></returns>
        public List <KlinesResponse> GetKlines(string symbol, KlineInterval interval, int limit = 300, long startTime = 0, long endTime = 0)
        {
            //Call specific settings
            string        urlPattern    = "{0}/klines?symbol={1}&interval={2}&limit={3}";
            string        url           = string.Format(urlPattern, _env.HttpsApiAddress, symbol, TransferNameConverter.Convert(interval), limit);
            StringBuilder sbQueryFilter = new StringBuilder();

            if (startTime > 0)
            {
                sbQueryFilter.AppendFormat("&startTime={0}", startTime);
            }
            if (endTime > 0)
            {
                sbQueryFilter.AppendFormat("&endTime={0}", endTime);
            }
            if (sbQueryFilter.Length > 0)
            {
                url = string.Format("{0}{1}", url, sbQueryFilter);
            }
            int callsPerSecondAllowed = 10;

            //Generic items for calls
            var response = GetStringResponse(url, urlPattern, callsPerSecondAllowed);

            //Call specific processing of returned values
            var ret = JsonConvert.DeserializeObject <List <KlinesResponse> >(response);

            return(ret);
        }