//-------------------------------------需要慎重的两个函数------开始-------------------
        //
        public async Task <List <KlineInfo> > GetHistoryKlines(
            string symbol,
            KlineInterval interval,
            DateTime start,
            DateTime end,
            int limit = 800)
        {
            long s = new DateTimeOffset(start).ToUnixTimeMilliseconds();
            long e = new DateTimeOffset(end).ToUnixTimeMilliseconds();

            //string path = "/v2/candles/trade:"
            //    + ConvertHelper.ObtainEnumValue(interval)
            //    + ":t" + symbol.ToUpper()
            //    + "/hist?limit=" + limit.ToString()
            //    + "&start=" + s.ToString()
            //    + "&end=" + e.ToString()
            //    + "&sort=1";

            BaseInfo args = GeneratePayload("GetHistoryKlines");

            args.Add("symbol", symbol);
            args.Add("interval", ConvertHelper.ObtainEnumValue(interval));
            args.Add("start", s);
            args.Add("end", e);
            args.Add("limit", limit);

            return(await ProcessAuthenticated <List <KlineInfo> >(args));

            //return await ProcessPublic<List<KlineInfo>>(path);
        }
Example #2
0
        BaseInfo GeneratePayload(string path)
        {
            var args = new BaseInfo();

            args.Add("request", path);
            args.Add("nonce", DateTime.Now.Ticks.ToString());

            return(args);
        }
Example #3
0
        BaseInfo GeneratePayload(string type)
        {
            var args = new BaseInfo();

            args.Add("event", "subscribe");
            args.Add("channel", type);

            return(args);
        }
        public async Task <List <OrderInfo> > GetOrdersHistory(int limit = 100)
        {
            BaseInfo args = GeneratePayload("GetOrdersHistory");

            args.Add("limit", limit);
            return(await ProcessAuthenticated <List <OrderInfo> >(args));
        }
        public async Task <OrderBookInfo> GetOrderBook(string symbol)
        {
            BaseInfo args = GeneratePayload("GetOrderBook");

            args.Add("symbol", symbol);
            return(await ProcessAuthenticated <OrderBookInfo>(args));

            //return await ProcessPublic<OrderBookInfo>("/v1/book/" + symbol.ToLower());
        }
        public async Task <List <TradeInfo> > GetTrades(string symbol)
        {
            BaseInfo args = GeneratePayload("GetTrades");

            args.Add("symbol", symbol);
            return(await ProcessAuthenticated <List <TradeInfo> >(args));

            //return await ProcessPublic<List<TradeInfo>>("/v1/trades/" + symbol.ToLower());
        }
        //
        public async Task <TickerInfo> GetTicker(string symbol)
        {
            BaseInfo args = GeneratePayload("GetTicker");

            args.Add("symbol", symbol);
            return(await ProcessAuthenticated <TickerInfo>(args));

            //return await ProcessPublic<TickerInfo>("/v1/pubticker/" + symbol.ToLower());
        }
Example #8
0
        private void ParseBaseInfo(string text)
        {
            var strs = text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var s in strs)
            {
                var kvs   = s.Split(':');
                var key   = kvs[0];
                var value = s.Substring(key.Length + 1, s.Length - key.Length - 1);

                BaseInfo.Add(new JumpBaseInfo
                {
                    Name  = key,
                    Value = value
                });
            }
        }