/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <summary> /// 获取用户信息 /// </summary> /// <returns></returns> public Task <GetUserInfoResponse> GetUserInfoAsync() { return(HopexClient.Get <GetUserInfoResponse>("/api/v1/userinfo", null, true, _apiKey, _apiSecret)); }
/// <summary> /// 获取成交量 /// </summary> /// <returns></returns> public Task <GetIndexStatisticsResponse> GetIndexStatisticsAsync() { return(HopexClient.Get <GetIndexStatisticsResponse>("/api/v1/indexStat", null, false)); }
/// <summary> /// 获取持仓 /// </summary> /// <returns></returns> public Task <List <GetPositionsResponse> > GetPositionsAsync() { return(HopexClient.Get <List <GetPositionsResponse> >("/api/v1/position", null, true, _apiKey, _apiSecret)); }
/// <summary> /// 获取所有合约行情 /// </summary> /// <returns></returns> public Task <List <GetMarketsResponse> > GetMarketsAsync() { return(HopexClient.Get <List <GetMarketsResponse> >("/api/v1/markets", null, false)); }
/// <summary> /// 获取用户资产信息 /// </summary> /// <returns></returns> public Task <GetUserWalletResponse> GetUserWalletAsync() { return(HopexClient.Get <GetUserWalletResponse>("/api/v1/wallet", null, true, _apiKey, _apiSecret)); }