コード例 #1
0
ファイル: Converters.cs プロジェクト: simhaonline/Bitcoin
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var o = (JObject.Load(reader))["k"] as JObject;

            return(new CurrentKlineInfo()
            {
                OpenTime = JsTimeConverter.TimeFromMs(Convert.ToInt64(o["t"])),
                CloseTime = JsTimeConverter.TimeFromMs(Convert.ToInt64(o["T"])),
                Open = Convert.ToDecimal(o["o"]),
                High = Convert.ToDecimal(o["h"]),
                Low = Convert.ToDecimal(o["l"]),
                Close = Convert.ToDecimal(o["c"]),
                Volume = Convert.ToDecimal(o["v"]),
                QuoteVolume = Convert.ToDecimal(o["q"]),
                TradeNumber = Convert.ToInt32(o["n"]),
                BuyTakerVolume = Convert.ToDecimal(o["V"]),
                BuyTakerQuoteVolume = Convert.ToDecimal(o["Q"]),
            });
        }
コード例 #2
0
ファイル: Converters.cs プロジェクト: simhaonline/Bitcoin
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var o = JArray.Load(reader);

            return(new HistoryKlineInfo()
            {
                OpenTime = JsTimeConverter.TimeFromMs(Convert.ToInt64(o[0])),
                Open = Convert.ToDecimal(o[1]),
                High = Convert.ToDecimal(o[2]),
                Low = Convert.ToDecimal(o[3]),
                Close = Convert.ToDecimal(o[4]),
                Volume = Convert.ToDecimal(o[5]),
                CloseTime = JsTimeConverter.TimeFromMs(Convert.ToInt64(o[6])),
                QuoteVolume = Convert.ToDecimal(o[7]),
                TradeNumber = Convert.ToInt32(o[8]),
                BuyTakerVolume = Convert.ToDecimal(o[9]),
                BuyTakerQuoteVolume = Convert.ToDecimal(o[10]),
            });
        }
コード例 #3
0
ファイル: Converters.cs プロジェクト: simhaonline/Bitcoin
        public static DateTime ConvertServerTime(string data)
        {
            var o = JsonConvert.DeserializeObject <JObject>(data);

            return(JsTimeConverter.TimeFromMs(Convert.ToInt64(o["serverTime"])));
        }
コード例 #4
0
ファイル: AccessRestApi.cs プロジェクト: simhaonline/Bitcoin
        public static async Task <T> InvokeHttpCall <T>(
            string args,
            InvokeMethod method,
            SecurityType token,
            string apiKey,
            string secretKey)
        {
            string endpoint = endpointBase + args;

            if (token == SecurityType.TRADE || token == SecurityType.USER_DATA)
            {
                endpoint += "&recvWindow=5000";

                long timestamp = JsTimeConverter.TimeToMs(DateTime.UtcNow - _offset);
                endpoint += "&timestamp=" + timestamp.ToString();

                var signature = Crypto(endpoint, secretKey);
                endpoint += "&signature=" + signature;
            }

            if (_httpClient.DefaultRequestHeaders.Contains("X-MBX-APIKEY"))
            {
                _httpClient.DefaultRequestHeaders.Remove("X-MBX-APIKEY");
            }

            if (token != SecurityType.NONE)
            {
                _httpClient.DefaultRequestHeaders.Add("X-MBX-APIKEY", apiKey);
            }

            HttpResponseMessage res;

            switch (method)
            {
            case InvokeMethod.GET:
                res = await _httpClient.GetAsync(endpoint);

                break;

            case InvokeMethod.DELETE:
                res = await _httpClient.DeleteAsync(endpoint);

                break;

            case InvokeMethod.POST:
                res = await _httpClient.PostAsync(endpoint, null);

                break;

            case InvokeMethod.PUT:
                res = await _httpClient.PutAsync(endpoint, null);

                break;

            default:
                res = null;
                break;
            }

            string data = await res.Content.ReadAsStringAsync();

            if (!res.IsSuccessStatusCode)
            {
                throw new HttpRequestException(data);
            }

            return(ConvertHelper.DataConvert <T>(data));
        }
コード例 #5
0
ファイル: BinanceMethod.cs プロジェクト: simhaonline/Bitcoin
 string AppendPeriod(DateTime startTime, DateTime endTime)
 {
     return("&startTime=" + JsTimeConverter.TimeToMs(startTime).ToString()
            + "&endTime=" + JsTimeConverter.TimeToMs(endTime).ToString());
 }