Example #1
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 #2
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 #3
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 #4
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 #5
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 #6
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 #7
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));
        }