Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="side">交易別</param>
        /// <param name="symbol">幣別</param>
        /// <param name="MinQuantity">數量</param>
        /// <param name="price">單價</param>
        /// <returns></returns>
        internal ExchangeApiData NewOrder(string side, string symbol, decimal quantity, decimal price)
        {
            var        ExchangeApiData = new ExchangeApiData();
            RestClient client1         = new RestClient(ApiUrl);
            var        request1        = new RestRequest("/api/2/order", Method.POST);

            client1.Authenticator  = new HttpBasicAuthenticator(_apiKey, _secretKey);
            request1.RequestFormat = DataFormat.Json;
            request1.AddBody(new
            {
                symbol   = symbol,
                side     = side,
                quantity = quantity,
                price    = price,
            });

            var     Content        = client1.Execute(request1).Content;
            JObject restoredObject = JObject.Parse(Content);
            var     errordata      = (JObject)restoredObject["error"];

            if (errordata != null)
            {
                ExchangeApiData.Msg = (string)errordata.Property("message").Value;

                ExchangeApiData.Stace = false;
            }
            else
            {
                ExchangeApiData.Stace = true;
            }
            return(ExchangeApiData);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 交易API
        /// </summary>
        /// <param name="type">buy-market:市價買,sell-market:市價賣,buy-limit:限價買,sell-limit:限價賣</param>
        /// <param name="symbol">btcusdt,bccbtc</param>
        /// <param name="amount">限價單表示下單數量,市價買單時表示買多少錢,市價賣單時表示賣多少幣</param>
        /// <param name="price">下單價格,市價單不傳該參數</param>
        public ExchangeApiData ordersPlace(string type, string symbol, decimal amount, decimal price)
        {
            var ExchangeApiData = new ExchangeApiData();;
            var ParameterS      = "{\"account-id\"" + ":\"" + AccountId + "\",";

            ParameterS += "\"amount\"" + ":\"" + amount.ToString("0.####") + "\",";
            ParameterS += "\"price\"" + ":\"" + price.ToString("0.#######") + "\",";
            ParameterS += "\"symbol\"" + ":\"" + symbol.ToLower() + "\",";
            ParameterS += "\"type\"" + ":\"" + type + "\"}";

            //ParameterS.Add(new Parameter { Name = "account-id", Value = AccountId });
            //ParameterS.Add(new Parameter { Name = "amount", Value = amount });
            //ParameterS.Add(new Parameter { Name = "price", Value = price });
            //ParameterS.Add(new Parameter { Name = "symbol", Value = symbol.ToLower() });
            //ParameterS.Add(new Parameter { Name = "type", Value = type });
            var     GetReturn      = RestClientPost("/v1/order/orders/place", ParameterS);
            JObject restoredObject = JObject.Parse(GetReturn);
            var     status         = (string)restoredObject.Property("status").Value;

            if (status == "ok")
            {
                ExchangeApiData.Stace = true;
            }
            else
            {
                var errcode = (string)restoredObject.Property("err-code").Value;
                var errmsg  = (string)restoredObject.Property("err-msg").Value;
                ExchangeApiData.Stace = false;
                ExchangeApiData.Msg   = errmsg;
            }
            return(ExchangeApiData);
        }