Ejemplo n.º 1
0
        /// <summary>
        /// 撤销订单 异步
        /// </summary>
        /// <param name="symbol">btc_usd: 比特币 ltc_usd: 莱特币</param>
        /// <param name="order_id">订单ID(多个订单ID中间以","分隔,一次最多允许撤消3个订单)</param>
        /// <returns></returns>
        public void cancelOrderAsync(String symbol, String order_id, HttpAsyncReq.ResponseCallback callback)
        {
            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(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();
                httpUtil.requestHttpPostAsync(url_prex, CANCEL_ORDER_URL,
                                              paras, callback);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 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>
        /// <param name="leverRate">杠杆率,10或20</param>
        /// <returns></returns>
        public void future_async_trade_ex(String symbol, String contractType,
                                          String price, String amount, String type, String matchPrice, String leverRate, HttpAsyncReq.ResponseCallback callback)
        {
            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);
                }
                if (!StringUtil.isEmpty(leverRate))
                {
                    paras.Add("lever_rate", leverRate);
                }
                String sign = MD5Util.buildMysignV1(paras, secret_key);
                paras.Add("sign", sign);
                // 发送post请求

                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                httpUtil.requestHttpPostAsync(url_prex, FUTURE_TRADE_URL, paras, callback);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 下单交易 异步
        /// </summary>
        /// <param name="symbol">btc_usd: 比特币 ltc_usd: 莱特币</param>
        /// <param name="type">买卖类型: 限价单(buy/sell) 市价单(buy_market/sell_market)</param>
        /// <param name="price">下单价格 [限价买单(必填): 大于等于0,小于等于1000000 |  市价买单(必填): BTC :最少买入0.01个BTC 的金额(金额>0.01*卖一价) / LTC :最少买入0.1个LTC 的金额(金额>0.1*卖一价)]</param>
        /// <param name="amount"> 交易数量 [限价卖单(必填):BTC 数量大于等于0.01 / LTC 数量大于等于0.1 | 市价卖单(必填): BTC :最少卖出数量大于等于0.01 / LTC :最少卖出数量大于等于0.1]</param>
        /// <returns></returns>
        public void tradeAsync(String symbol, String type,
                               String price, String amount, HttpAsyncReq.ResponseCallback callback)
        {
            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(type))
                {
                    paras.Add("type", type);
                }
                if (!StringUtil.isEmpty(price))
                {
                    paras.Add("price", price);
                }
                if (!StringUtil.isEmpty(amount))
                {
                    paras.Add("amount", amount);
                }
                String sign = MD5Util.buildMysignV1(paras, this.secret_key);
                paras.Add("sign", sign);

                // 发送post请求
                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                httpUtil.requestHttpPostAsync(url_prex, TRADE_URL,
                                              paras, callback);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 4
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</param>
        /// <returns></returns>
        public void future_cancel_async(String symbol, String contractType,
                                        String orderId, HttpAsyncReq.ResponseCallback callback)
        {
            try
            {  // 构造参数签名
                Dictionary <String, String> paras = new Dictionary <String, String>();

                if (!StringUtil.isEmpty(contractType))
                {
                    paras.Add("contract_type", contractType);
                }
                if (!StringUtil.isEmpty(orderId))
                {
                    paras.Add("order_id", orderId);
                }
                if (!StringUtil.isEmpty(api_key))
                {
                    paras.Add("api_key", api_key);
                }
                if (!StringUtil.isEmpty(symbol))
                {
                    paras.Add("symbol", symbol);
                }
                String sign = MD5Util.buildMysignV1(paras, secret_key);

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

                HttpUtilManager httpUtil = HttpUtilManager.getInstance();
                httpUtil.requestHttpPostAsync(url_prex, FUTURE_CANCEL_URL, paras, callback);
            }
            catch (Exception e)
            {
                throw e;
            }
        }