Beispiel #1
0
        /// <summary>
        /// 获取用户订单信息
        /// </summary>
        /// <param name="symbol">btc_usd:比特币    ltc_usd :莱特币</param>
        /// <param name="contractType">合约类型: this_week:当周   next_week:下周   month:当月   quarter:季度</param>
        /// <param name="orderId">订单ID(-1查询全部未成交订单,否则查询相应单号的订单)</param>
        /// <param name="status">查询状态:1:未完成(最近七天的数据)  2:已完成(最近七天的数据)</param>
        /// <param name="currentPage">当前页数</param>
        /// <param name="pageLength">每页获取条数,最多不超过50</param>
        /// <returns></returns>
        public String future_order_info(String symbol, String contractType,
                                        String orderId, String status, String currentPage, String pageLength)
        {
            String result = "";

            try
            {
                // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();
                if (!StringUtil.isEmpty(contractType))
                {
                    paras.Add("contract_type", contractType);
                }
                if (!StringUtil.isEmpty(currentPage))
                {
                    paras.Add("current_page", currentPage);
                }
                if (!StringUtil.isEmpty(orderId))
                {
                    paras.Add("order_id", orderId);
                }
                if (!StringUtil.isEmpty(api_key))
                {
                    paras.Add("api_key", api_key);
                }
                if (!StringUtil.isEmpty(pageLength))
                {
                    paras.Add("page_length", pageLength);
                }
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(status))
                {
                    paras.Add("status", status);
                }
                String sign = MD5Util.buildMysignV1(paras, secret_key);
                paras.Add("sign", sign);
                // 发送post请求

                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, FUTURE_ORDER_INFO_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// 期货下单
        /// </summary>
        /// <param name="symbol">btc_usd:比特币    ltc_usd :莱特币</param>
        /// <param name="contractType">合约类型: this_week:当周   next_week:下周   month:当月   quarter:季度</param>
        /// <param name="price">价格</param>
        /// <param name="amount">委托数量</param>
        /// <param name="type">1:开多   2:开空   3:平多   4:平空</param>
        /// <param name="matchPrice">是否为对手价 0:不是    1:是   ,当取值为1时,price无效</param>
        /// <returns></returns>
        public String future_trade(String symbol, String contractType,
                                   String price, String amount, String type, String matchPrice)
        {
            String result = "";

            try
            {  // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(contractType))
                {
                    paras.Add("contract_type", contractType);
                }
                if (!StringUtil.isEmpty(api_key))
                {
                    paras.Add("api_key", api_key);
                }
                if (!StringUtil.isEmpty(price))
                {
                    paras.Add("price", price);
                }
                if (!StringUtil.isEmpty(amount))
                {
                    paras.Add("amount", amount);
                }
                if (!StringUtil.isEmpty(type))
                {
                    paras.Add("type", type);
                }
                if (!StringUtil.isEmpty(matchPrice))
                {
                    paras.Add("match_price", matchPrice);
                }
                String sign = MD5Util.buildMysignV1(paras, secret_key);
                paras.Add("sign", sign);
                // 发送post请求

                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, FUTURE_TRADE_URL, paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
Beispiel #3
0
        /// <summary>
        /// 提币BTC/LTC
        /// </summary>
        /// <param name="symbol">btc_usd: 比特币 ltc_usd: 莱特币 </param>
        /// <param name="chargefee">网络手续费 BTC默认范围 [0.0001,0.01] LTC默认范围 [0.001,0.2],手续费越高,网络确认越快,OKCoin内部提币设置0 </param>
        /// <param name="trade_pwd">交易密码 </param>
        /// <param name="withdraw_address">提币认证地址 </param>
        /// <param name="withdraw_amount">提币数量 BTC>=0.01 LTC>=0.1 </param>
        /// <returns></returns>
        public String withdraw(String symbol, String chargefee, String trade_pwd, String withdraw_address, String withdraw_amount)
        {
            String result = "";

            try
            {
                Dictionary <String, String> paras = new Dictionary <String, String>();
                paras.Add("api_key", api_key);
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(chargefee))
                {
                    paras.Add("chargefee", chargefee);
                }
                if (!StringUtil.isEmpty(trade_pwd))
                {
                    paras.Add("trade_pwd", trade_pwd);
                }
                if (!StringUtil.isEmpty(withdraw_address))
                {
                    paras.Add("withdraw_address", withdraw_address);
                }
                if (!StringUtil.isEmpty(withdraw_amount))
                {
                    paras.Add("withdraw_amount", withdraw_amount);
                }
                String sign = MD5Util.buildMysignV1(paras, this.secret_key);
                paras.Add("sign", sign);

                // 发送post请求
                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, WITHDRAW_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
Beispiel #4
0
        /// <summary>
        /// 获取历史订单信息,只返回最近七天的信息
        /// </summary>
        /// <param name="symbol">btc_usd: 比特币 ltc_usd: 莱特币</param>
        /// <param name="status">委托状态: 0:未成交 1:已完成(最近七天的数据)</param>
        /// <param name="current_page">当前页数</param>
        /// <param name="page_length">每页数据条数,最多不超过200</param>
        /// <returns></returns>
        public String order_history(String symbol, String status,
                                    String current_page, String page_length)
        {
            String result = "";

            try
            {
                // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();
                paras.Add("api_key", api_key);
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(status))
                {
                    paras.Add("status", status);
                }
                if (!StringUtil.isEmpty(current_page))
                {
                    paras.Add("current_page", current_page);
                }
                if (!StringUtil.isEmpty(page_length))
                {
                    paras.Add("page_length", page_length);
                }

                String sign = MD5Util.buildMysignV1(paras, this.secret_key);
                paras.Add("sign", sign);

                // 发送post请求
                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, ORDER_HISTORY_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }

            return(result);
        }
Beispiel #5
0
        /// <summary>
        /// 期货逐仓账户信息
        /// </summary>
        /// <returns></returns>
        public String future_userinfo_4fix()
        {
            String result = "";

            try
            { // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();
                paras.Add("api_key", api_key);
                String sign = MD5Util.buildMysignV1(paras, this.secret_key);
                paras.Add("sign", sign);
                // 发送post请求
                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, FUTURE_USERINFO_4FIX_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
Beispiel #6
0
        /// <summary>
        /// 批量下单
        /// </summary>
        /// <param name="symbol">btc_usd:比特币    ltc_usd :莱特币</param>
        /// <param name="contract_type">合约类型: this_week:当周   next_week:下周   quarter:季度</param>
        /// <param name="orders_data">JSON类型的字符串 例:[{price:5,amount:2,type:1,match_price:1},{price:2,amount:3,type:1,match_price:1}] 最大下单量为5,price,amount,type,match_price参数参考future_trade接口中的说明 </param>
        ///<param name="lever_rate">杠杆倍数 value:10\20 默认10</param>
        /// <returns></returns>
        public String future_batch_trade(String symbol, String contract_type, String orders_data, String lever_rate)
        {
            String result = "";

            try
            {
                // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();
                paras.Add("api_key", api_key);
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(contract_type))
                {
                    paras.Add("contract_type", contract_type);
                }
                if (!StringUtil.isEmpty(orders_data))
                {
                    paras.Add("orders_data", orders_data);
                }
                if (!StringUtil.isEmpty(lever_rate))
                {
                    paras.Add("lever_rate", lever_rate);
                }
                String sign = MD5Util.buildMysignV1(paras, secret_key);

                paras.Add("sign", sign);
                // 发送post请求

                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, FUTURE_BATCH_TRADE_URL, paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
Beispiel #7
0
        /// <summary>
        /// 批量获取用户订单
        /// </summary>
        /// <param name="type">查询类型 0:未成交,未成交 1:完全成交,已撤销</param>
        /// <param name="symbol">btc_usd: 比特币 ltc_usd: 莱特币</param>
        /// <param name="order_id">订单ID(多个订单ID中间以","分隔,一次最多允许查询50个订单)</param>
        /// <returns></returns>
        public String orders_info(String type, String symbol,
                                  String order_id)
        {
            String result = "";

            try
            {
                // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();
                paras.Add("api_key", api_key);
                if (!StringUtil.isEmpty(type))
                {
                    paras.Add("type", type);
                }
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(order_id))
                {
                    paras.Add("order_id", order_id);
                }

                String sign = MD5Util.buildMysignV1(paras, this.secret_key);
                paras.Add("sign", sign);

                // 发送post请求
                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, ORDERS_INFO_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }

            return(result);
        }
Beispiel #8
0
        /// <summary>
        ///  获取期货交易历史
        /// </summary>
        /// <param name="symbol">btc_usd:比特币    ltc_usd :莱特币</param>
        /// <param name="date">合约交割时间,格式yyyy-MM-dd</param>
        /// <param name="since">交易Id起始位置</param>
        /// <returns></returns>
        public String future_trades_history(String symbol, String date, String since)
        {
            String result = "";

            try
            {
                // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(date))
                {
                    paras.Add("date", date);
                }
                if (!StringUtil.isEmpty(since))
                {
                    paras.Add("since", since);
                }
                if (!StringUtil.isEmpty(api_key))
                {
                    paras.Add("api_key", api_key);
                }
                String sign = MD5Util.buildMysignV1(paras, secret_key);
                paras.Add("sign", sign);
                // 发送post请求

                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                result = httpUtil.requestHttpPost(url_prex, FUTURE_TRADES_HISTORY_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
Beispiel #9
0
        /// <summary>
        /// 申请借款
        /// </summary>
        /// <param name="symbol">btc_usd: 比特币 ltc_usd: 莱特币 usd: 美元 </param>
        /// <param name="days">借款天数, three,seven,fifteen,thirty,sixty,ninety </param>
        /// <param name="amount">借入数量 </param>
        /// <param name="rate">借款利率 [0.0001, 0.01] </param>
        /// <returns></returns>
        public String borrow_money(String symbol, String days, String amount, String rate)
        {
            String result = "";

            try
            {
                HttpUtilManager             httpUtil = HttpUtilManager.getInstance();
                Dictionary <String, String> paras    = new Dictionary <String, String>();
                paras.Add("api_key", api_key);
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(days))
                {
                    paras.Add("days", days);
                }
                if (!StringUtil.isEmpty(amount))
                {
                    paras.Add("amount", amount);
                }
                if (!StringUtil.isEmpty(rate))
                {
                    paras.Add("rate", rate);
                }
                String sign = MD5Util.buildMysignV1(paras, this.secret_key);
                paras.Add("sign", sign);
                //发送post请求
                result = httpUtil.requestHttpPost(url_prex, BORROW_MONEY_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
Beispiel #10
0
        /// <summary>
        /// 获取用户提现/充值记录
        /// </summary>
        /// <param name="symbol">btc_usd: 比特币 ltc_usd: 莱特币 usd: 美元</param>
        /// <param name="type">0:充值 1 :提现 </param>
        /// <param name="current_page">当前页数</param>
        /// <param name="page_length">每页数据条数,最多不超过50条</param>
        /// <returns></returns>
        public String account_records(String symbol, String type, String current_page, String page_length)
        {
            String result = "";

            try
            {
                HttpUtilManager             httpUtil = HttpUtilManager.getInstance();
                Dictionary <String, String> paras    = new Dictionary <String, String>();
                paras.Add("api_key", api_key);
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                if (!StringUtil.isEmpty(type))
                {
                    paras.Add("type", type);
                }
                if (!StringUtil.isEmpty(current_page))
                {
                    paras.Add("current_page", current_page);
                }
                if (!StringUtil.isEmpty(page_length))
                {
                    paras.Add("page_length", page_length);
                }
                String sign = MD5Util.buildMysignV1(paras, this.secret_key);
                paras.Add("sign", sign);
                //发送post请求
                result = httpUtil.requestHttpPost(url_prex, ACCOUNT_RECORDS_URL,
                                                  paras);
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }