public List <BaseOrder> GetOrdersHistory(BaseCurrencyPair currencyPair, int top_count = 100) { if (Username == null || Password == null) { LastErrorInfo = "Not Autorizated"; return(new List <BaseOrder>()); } if (top_count > 1000) { top_count = 1000; } WebConector wc = new WebConector(); string api_name = "/api/v3/allOrders"; List <Tuple <string, string> > heder = new List <Tuple <string, string> >(); var jsontimestamp = wc.ReqwestGetAsync(string.Format("{0}/api/v3/time", base_url), new List <Tuple <string, string> >(), "").Result; string timestamp = (JObject.Parse(jsontimestamp))["serverTime"].ToString(); heder.Add(new Tuple <string, string>("X-MBX-APIKEY", Username)); string data_for_encript = "symbol=" + currencyPair.PairName + "&limit=" + top_count + "&recvWindow=" + "50000" + "×tamp=" + timestamp; heder.Add(new Tuple <string, string>("signature", SignatureHelper.Sign(Password, data_for_encript, 256))); data_for_encript += "&signature=" + SignatureHelper.Sign(Password, data_for_encript, 256); string jsonRezalt = wc.ReqwestPostAsync(string.Format("{0}{1}", base_url, api_name), heder, data_for_encript).Result; try { var jsonRezaltArray = JArray.Parse(jsonRezalt); LastErrorInfo = ""; var rezalt = new List <BaseOrder>(); foreach (var order in jsonRezaltArray) { BaseOrder bo = new BaseOrder(); bo.Id = order["orderId"].ToObject <int>(); bo.Pair = new BaseCurrencyPair(order["symbol"].ToString()); bo.Quantity = order["origQty"].ToObject <double>(); bo.Price = order["price"].ToObject <double>(); bo.Type = BinanceOrderType.SetValue(order["type"].ToString()); bo.Amount = order["executedQty"].ToObject <int>(); rezalt.Add(bo); } return(rezalt); } catch (Exception ex) { LastErrorInfo = jsonRezalt; return(new List <BaseOrder>()); } }
public List <BaseOrder> GetOrdersHistory(BaseCurrencyPair currencyPair, int top_count = 100) { if (Username == null || Password == null) { LastErrorInfo = "Not Authenticated"; return(new List <BaseOrder>()); } WebConector wc = new WebConector(); string api_name = "user_cancelled_orders"; List <Tuple <string, string> > heder = new List <Tuple <string, string> >(); string nonce = ((long)(DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds).ToString(); heder.Add(new Tuple <string, string>("Key", Username)); string data_for_encript = "limit=" + top_count + "&" + "nonce=" + nonce; heder.Add(new Tuple <string, string>("Sign", SignatureHelper.Sign(Password, data_for_encript))); var body = new NameValueCollection(); body.Add("limit", top_count.ToString()); body.Add("nonce", nonce); string jsonRezalt = wc.ReqwestPostAsync(string.Format(base_url, api_name), heder, body).Result; var jsonRezaltArray = JArray.Parse(jsonRezalt); if (jsonRezaltArray.Count != 0) { List <BaseOrder> rezaltlist = new List <BaseOrder>(); foreach (JObject record in jsonRezaltArray.Children <JObject>()) { BaseOrder bhr = new BaseOrder(); bhr.Id = int.Parse(record["order_id"].ToString()); bhr.Type = BaseOrderType.SetValue(record["order_type"].ToString()); bhr.Pair = new BaseCurrencyPair(record["pair"].ToString()); bhr.Price = double.Parse(record["price"].ToString()); bhr.Quantity = double.Parse(record["quantity"].ToString()); bhr.Amount = double.Parse(record["amount"].ToString()); rezaltlist.Add(bhr); } LastErrorInfo = ""; return(rezaltlist); } else { return(new List <BaseOrder>()); } }