[docs]classStandardFuturesAPI:"""API for managing standard futures on BingX. This class provides methods to interact with standard futures features such as querying positions, placing orders, and more. """def__init__(self,client:"BingXHttpClient")->None:"""Initialize the StandardFuturesAPI. Args: client (BingXHttpClient): The HTTP client used to interact with the BingX API. Returns: None """self.client=client
[docs]defget_all_positions(self)->PositionsResponse:"""Get all positions. Returns: PositionResponse: List of position data. """returnself.client.save_convert(self.client.get("/openApi/contract/v1/allPosition"),PositionsResponse,)
[docs]defget_historical_orders(self,symbol:str,order_id:Optional[int]=None,start_time:Optional[int]=None,end_time:Optional[int]=None,limit:Optional[int]=None,recv_window:Optional[int]=None,)->HistoricalOrderResponse:"""Get historical orders. Args: symbol (str): Currency pair, the format is similar: BTC-USDT, must pass. order_id (Optional[int]): Order ID, optional. Defaults to None. start_time (Optional[int]): Start time, optional. Defaults to None. end_time (Optional[int]): End time, optional. Defaults to None. limit (Optional[int]): Quantity, optional. Defaults to None. recv_window (Optional[int]): Timestamp of initiating the request, Unit: milliseconds. Defaults to None. Returns: HistoricalOrderResponse: List of historical order data. """params:dict[str,Any]={"symbol":symbol,}iforder_idisnotNone:params["orderId"]=order_idifstart_timeisnotNone:params["startTime"]=start_timeifend_timeisnotNone:params["endTime"]=end_timeiflimitisnotNone:params["limit"]=limitifrecv_windowisnotNone:params["recvWindow"]=recv_windowreturnself.client.save_convert(self.client.get("/openApi/contract/v1/allOrders",params=params),HistoricalOrderResponse,)
[docs]defquery_standard_contract_balance(self)->StandardContractBalanceResponse:"""Query standard contract balance. Returns: StandardContractBalanceResponse: The response data. """returnself.client.save_convert(self.client.get("/openApi/contract/v1/balance"),StandardContractBalanceResponse,)