Example #1
0
 /// <summary>
 /// 获取活跃委托
 /// </summary>
 /// <param name="contractCode"></param>
 public Task <List <GetOpenOrdersResponse> > GetOpenOrdersAsync(string contractCode)
 {
     return(HopexClient.Get <List <GetOpenOrdersResponse> >("/api/v1/order_info", new Dictionary <string, string>
     {
         { "contractCode", contractCode }
     }, true, _apiKey, _apiSecret));
 }
Example #2
0
 /// <summary>
 /// 获取单个合约行情
 /// </summary>
 /// <param name="contractCode"></param>
 /// <returns></returns>
 public Task <GetMarketTickerResponse> GetMarketTickerAsync(string contractCode)
 {
     return(HopexClient.Get <GetMarketTickerResponse>("/api/v1/ticker", new Dictionary <string, string>
     {
         { "contractCode", contractCode }
     }, false));
 }
Example #3
0
 /// <summary>
 /// 获取最新成交
 /// </summary>
 /// <param name="contractCode"></param>
 /// <param name="pageSize"></param>
 /// <returns></returns>
 public Task <List <GetTradesResponse> > GetTradesAsync(string contractCode, int pageSize)
 {
     return(HopexClient.Get <List <GetTradesResponse> >("/api/v1/trades", new Dictionary <string, string>
     {
         { "contractCode", contractCode },
         { "pageSize", pageSize.ToString() }
     }, false));
 }
Example #4
0
 /// <summary>
 /// 获取推送公告
 /// </summary>
 /// <param name="page"></param>
 /// <param name="limit"></param>
 /// <returns></returns>
 public Task <ListResultViewModel <GetIndexNotifyResponse> > GetIndexNotifyAsync(int page, int limit)
 {
     return(HopexClient.Get <ListResultViewModel <GetIndexNotifyResponse> >("/api/v1/index_notify", new Dictionary <string, string>
     {
         { "page", page.ToString() },
         { "limit", limit.ToString() }
     }, false));
 }
Example #5
0
 /// <summary>
 /// 撤单
 /// </summary>
 /// <param name="contractCode"></param>
 /// <param name="orderId"></param>
 /// <returns></returns>
 public Task <bool> CancelOrderAsync(string contractCode, long orderId)
 {
     return(HopexClient.Get <bool>("/api/v1/cancel_order", new Dictionary <string, string>
     {
         { "contractCode", contractCode },
         { "orderId", orderId.ToString() }
     }, true, _apiKey, _apiSecret));
 }
Example #6
0
 /// <summary>
 /// 获取用户出入金记录
 /// </summary>
 /// <param name="page"></param>
 /// <param name="limit"></param>
 /// <returns></returns>
 public Task <ListResultViewModel <GetDepositWithdrawResponse> > GetDepositWithdrawAsync(int page, int limit)
 {
     return(HopexClient.Get <ListResultViewModel <GetDepositWithdrawResponse> >("/api/v1/account_records", new Dictionary <string, string>
     {
         { "page", page.ToString() },
         { "limit", limit.ToString() },
     }, true, _apiKey, _apiSecret));
 }
Example #7
0
 /// <summary>
 /// 设置用户合约杠杆
 /// </summary>
 /// <param name="contractCode"></param>
 /// <param name="direct"></param>
 /// <param name="leverage"></param>
 /// <returns></returns>
 public Task <decimal> SetLeverageAsync(string contractCode, int direct, decimal leverage)
 {
     return(HopexClient.Get <decimal>("/api/v1/set_leverage", new Dictionary <string, string>
     {
         { "contractCode", contractCode },
         { "direct", direct.ToString() },
         { "leverage", leverage.ToString(CultureInfo.InvariantCulture) },
     }, true, _apiKey, _apiSecret));
 }
Example #8
0
 /// <summary>
 /// 获取K线
 /// </summary>
 /// <param name="contractCode"></param>
 /// <param name="endTime"></param>
 /// <param name="startTime"></param>
 /// <param name="interval"></param>
 /// <returns></returns>
 public Task <GetKlineResponse> GetKlineAsync(string contractCode, long endTime, long startTime, string interval)
 {
     return(HopexClient.Get <GetKlineResponse>("/api/v1/kline", new Dictionary <string, string>
     {
         { "contractCode", contractCode },
         { "endTime", endTime.ToString() },
         { "startTime", startTime.ToString() },
         { "interval", interval },
     }, false));
 }
Example #9
0
        /// <summary>
        /// 获取下单参数
        /// </summary>
        /// <param name="contractCode"></param>
        /// <returns></returns>
        public Task <QueryOrderParasResponse> QueryOrderParasAsync(string contractCode)
        {
            var req = new ApiRequestModel <Dictionary <string, string> >
            {
                Param = new Dictionary <string, string>
                {
                    { "contractCode", contractCode }
                }
            };

            return(HopexClient.Post <ApiRequestModel <Dictionary <string, string> >, QueryOrderParasResponse>("/api/v1/get_orderParas", req, null, true, _apiKey, _apiSecret));
        }
Example #10
0
        /// <summary>
        /// 获取用户强平历史
        /// </summary>
        /// <param name="param"></param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        public Task <ListResultViewModel <QueryLiquidationHistoryResponse> > QueryLiquidationHistoryAsync(QueryLiquidationHistoryRequest param, int page = 1, int limit = 10)
        {
            var req = new ApiRequestModel <QueryLiquidationHistoryRequest>
            {
                Param = param
            };

            return(HopexClient.Post <ApiRequestModel <QueryLiquidationHistoryRequest>, ListResultViewModel <QueryLiquidationHistoryResponse> >("/api/v1/liquidation_history", req, new Dictionary <string, string>
            {
                { "page", page.ToString() },
                { "limit", limit.ToString() }
            }, true, _apiKey, _apiSecret));
        }
Example #11
0
        /// <summary>
        /// 获取条件单
        /// </summary>
        /// <param name="param"></param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        public Task <ListResultViewModel <QueryConditionOrdersResponse> > QueryConditionOrdersAsync(QueryConditionOrdersRequest param, int page = 1, int limit = 10)
        {
            var req = new ApiRequestModel <QueryConditionOrdersRequest>
            {
                Param = param
            };

            return(HopexClient.Post <ApiRequestModel <QueryConditionOrdersRequest>, ListResultViewModel <QueryConditionOrdersResponse> >("/api/v1/condition_order_info", req, new Dictionary <string, string>
            {
                { "page", page.ToString() },
                { "limit", limit.ToString() }
            }, true, _apiKey, _apiSecret));
        }
Example #12
0
        /// <summary>
        /// 获取合约深度信息
        /// </summary>
        /// <param name="contractCode"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public Task <PostQueryMarketDepthResponse> PostQueryMarketDepthAsync(string contractCode, int pageSize)
        {
            var req = new ApiRequestModel <dynamic>
            {
                Param = new Dictionary <string, string>
                {
                    { "contractCode", contractCode },
                    { "pageSize", pageSize.ToString() }
                }
            };

            return(HopexClient.Post <ApiRequestModel <dynamic>, PostQueryMarketDepthResponse>("/api/v1/depth", req, null, false));
        }
Example #13
0
        /// <summary>
        /// 撤条件单
        /// </summary>
        /// <param name="contractCode"></param>
        /// <param name="taskId"></param>
        /// <returns></returns>
        public Task <bool> CancelConditionOrderAsync(string contractCode, long taskId)
        {
            var req = new ApiRequestModel <dynamic>
            {
                Param = new Dictionary <string, string>
                {
                    { "contractCode", contractCode },
                    { "taskId", taskId.ToString() }
                }
            };

            return(HopexClient.Post <ApiRequestModel <dynamic>, bool>("/api/v1/cancel_condition_order", req, null, true, _apiKey, _apiSecret));
        }
Example #14
0
        /// <summary>
        /// 下单
        /// </summary>
        /// <param name="contractCode"></param>
        /// <param name="side"></param>
        /// <param name="orderQuantity"></param>
        /// <param name="orderPrice"></param>
        /// <returns></returns>
        public Task <long> CreateOrderAsync(string contractCode, int side, int orderQuantity, decimal?orderPrice)
        {
            var req = new ApiRequestModel <dynamic>
            {
                Param = new Dictionary <string, string>
                {
                    { "contractCode", contractCode },
                    { "side", side.ToString() },
                    { "orderQuantity", orderQuantity.ToString() },
                    { "orderPrice", orderPrice.ToString() }
                }
            };

            return(HopexClient.Post <ApiRequestModel <dynamic>, long>("/api/v1/order", req, null, true, _apiKey, _apiSecret));
        }
Example #15
0
        /// <summary>
        /// 下条件单
        /// </summary>
        /// <param name="contractCode"></param>
        /// <param name="side"></param>
        /// <param name="type"></param>
        /// <param name="trigPrice"></param>
        /// <param name="expectedQuantity"></param>
        /// <param name="expectedPrice"></param>
        /// <returns></returns>
        public Task <bool> CreateConditionOrderAsync(string contractCode, int side, string type, decimal trigPrice,
                                                     int expectedQuantity, decimal?expectedPrice)
        {
            var req = new ApiRequestModel <dynamic>
            {
                Param = new Dictionary <string, string>
                {
                    { "contractCode", contractCode },
                    { "side", side.ToString() },
                    { "type", type },
                    { "trigPrice", trigPrice.ToString(CultureInfo.InvariantCulture) },
                    { "expectedQuantity", expectedQuantity.ToString() },
                    { "expectedPrice", expectedPrice.ToString() },
                }
            };

            return(HopexClient.Post <ApiRequestModel <dynamic>, bool>("/api/v1/condition_order", req, null, true, _apiKey, _apiSecret));
        }
Example #16
0
 /// <summary>
 /// 获取用户信息
 /// </summary>
 /// <returns></returns>
 public Task <GetUserInfoResponse> GetUserInfoAsync()
 {
     return(HopexClient.Get <GetUserInfoResponse>("/api/v1/userinfo", null, true, _apiKey, _apiSecret));
 }
Example #17
0
 /// <summary>
 /// 获取成交量
 /// </summary>
 /// <returns></returns>
 public Task <GetIndexStatisticsResponse> GetIndexStatisticsAsync()
 {
     return(HopexClient.Get <GetIndexStatisticsResponse>("/api/v1/indexStat", null, false));
 }
Example #18
0
 /// <summary>
 /// 获取持仓
 /// </summary>
 /// <returns></returns>
 public Task <List <GetPositionsResponse> > GetPositionsAsync()
 {
     return(HopexClient.Get <List <GetPositionsResponse> >("/api/v1/position", null, true, _apiKey, _apiSecret));
 }
Example #19
0
 /// <summary>
 /// 获取所有合约行情
 /// </summary>
 /// <returns></returns>
 public Task <List <GetMarketsResponse> > GetMarketsAsync()
 {
     return(HopexClient.Get <List <GetMarketsResponse> >("/api/v1/markets", null, false));
 }
Example #20
0
 /// <summary>
 /// 获取用户资产信息
 /// </summary>
 /// <returns></returns>
 public Task <GetUserWalletResponse> GetUserWalletAsync()
 {
     return(HopexClient.Get <GetUserWalletResponse>("/api/v1/wallet", null, true, _apiKey, _apiSecret));
 }