async def get_childorders(self, product_code: str, count: int = 100, before: int = None, after: int = None, chiled_order_state: Literal["ACTIVE", "COMPLETED", "CANCELED", "EXPIRED", "REJECTED"] = None, child_order_id: int = None, child_order_acceptance_id: int = None, parent_order_id: int = None ): """注文の一覧を取得する。""" body = create_params( product_code=product_code, count=count, before=before, after=after, chiled_order_state=chiled_order_state, child_order_id=child_order_id, child_order_acceptance_id=child_order_acceptance_id, parent_order_id=parent_order_id, ) res = await self.request_private( method="GET", path="/v1/me/getchildorders", body=body ) return res.text
async def post_sendchildorder(self, product_code: str, child_order_type: Literal['LIMIT', 'MARKET'], side: Literal['BUY', 'SELL'], size: float, price: float = None, minute_to_expire: int = 43200, time_in_force: Literal['GTC', 'IOC', 'FOK'] = "GTC" ): """新規注文を出す。""" body = create_params( product_code=product_code, child_order_type=child_order_type, side=side, size=size, price=price, minute_to_expire=minute_to_expire, time_in_force=time_in_force ) res = await self.request_private( method="POST", path="/v1/me/sendchildorder", body=body ) return res.text
async def get_boradstate(self, product_code: str = "BTC_JPY"): """約定履歴を取得する。""" res = await self.request_private( method="GET", path="/v1/getboardstate", body=create_params(product_code=product_code) ) return res.text
async def get_board(self, product_code: str = "BTC_JPY") -> Board: """板情報を取得する。""" res = await self.request_private( method="GET", path="/v1/board", body=create_params(product_code=product_code) ) return res.text
async def get_ticker(self, product_code: str = "BTC_JPY") -> Ticker: """通貨の概要を取得する。""" res = await self.request_private( method="GET", path="/v1/ticker", body=create_params(product_code=product_code) ) return res.text
async def get_chats(self, from_date): """チャットの発言一覧を取得します。""" res = await self.request_private( method="GET", path="/v1/getchats", body=create_params(from_date=from_date) ) return res.text
async def get_executions(self, product_code: str = "BTC_JPY", count: int = 100, before: int = None, after: int = None): """約定履歴を取得する。""" res = await self.request_private( method="GET", path="/v1/executions", body=create_params(product_code=product_code) ) return res.text
async def get_health(self, product_code: str = "BTC_JPY"): """ 取引所の状態を取得する。 """ res = await self.request_private( method="GET", path="/v1/gethealth", body=create_params(product_code=product_code) ) return res.text
async def get_deposits(self, count: int = 100, before: int = None, after: int = None): res = await self.request_private( method="GET", path="/v1/me/getdeposits", body=create_params( count=count, before=before, after=after ) ) return res.text
async def post_withdrawals(self, count: int = 100, before: int = None, after: int = None): """出金履歴を取得する。""" res = await self.request_private( method="POST", path="/v1/me/getwithdrawals", body=create_params( count=count, before=before, after=after ) ) return res.text
async def get_coinins(self, count: int = 100, before: int = None, after: int = None): """仮想通貨預入履歴を取得する。""" res = await self.request_private( method="GET", path="/v1/me/getcoinins", body=create_params( count=count, before=before, after=after ) ) return res.text
async def post_withdraw(self, bank_account_id: int, amount: float, currency_code: str = "JPY", code: str = None): """出金します。""" res = await self.request_private( method="POST", path="/v1/me/withdraw", body=create_params( bank_account_id=bank_account_id, amount=amount, currency_code=currency_code, code=code ) ) return res.text
async def post_cancelallchildorders(self, product_code: str, ): """すべての注文をキャンセルする。""" body = create_params( product_code=product_code, ) res = await self.request_private( method="POST", path="/v1/me/cancelallchildorders", body=body ) return res.text
async def get_tradingcommission(self, product_code: str ): """取引手数料を取得する。""" body = create_params( product_code=product_code ) res = await self.request_private( method="GET", path=f"/v1/me/gettradingcommission", body=body ) return res.text
async def get_positions(self, product_code: str = "FX_BTC_JPY", ): """約定の一覧を取得する。""" body = create_params( product_code=product_code, ) res = await self.request_private( method="GET", path="/v1/me/getpositions", body=body ) return res.text
async def get_parentorder(self, child_order_id: int = None, child_order_acceptance_id: str = None ): """親注文の詳細を取得する。""" body = create_params( child_order_id=child_order_id, child_order_acceptance_id=child_order_acceptance_id ) res = await self.request_private( method="POST", path="/v1/me/getparentorder", body=body ) return res.text
async def post_cancelparentorder(self, product_code: str, child_order_id: int = None, chile_order_acceptance_id=None ): body = create_params( product_code=product_code, child_order_id=child_order_id, chile_order_acceptance_id=chile_order_acceptance_id ) res = await self.request_private( method="POST", path="/v1/me/cancelchildorder", body=body ) return res.text
async def get_collateralhistory(self, count: int = 100, before: int = None, after: int = None ): """証拠金の変動履歴を取得する。""" body = create_params( count=count, before=before, after=after ) res = await self.request_private( method="GET", path="/v1/me/getcollateralhistory", body=body ) return res.text
async def get_balancehistory(self, currency_code: str = "JPY", count: int = 100, before: int = None, after: int = None, ): """約定の一覧を取得する。""" body = create_params( currency_code=currency_code, count=count, before=before, after=after, ) res = await self.request_private( method="GET", path="/v1/me/getbalancehistory", body=body ) return res.text
async def post_sendparentorder(self, order_method: Literal['SIMPLE', 'IFD', 'OCO', 'IFDOCO'] = "SIMPLE", minute_to_expire: int = 43200, time_in_force: Literal['GTC', 'IOC', 'FOK'] = "GTC", parameters: List = [] ): """ 単純な指値注文 (LIMIT), 成り行き注文 (MARKET) 以外の、ロジックを含んだ注文を発注することができます。 このような注文は、親注文 (parent order) として扱われます。 特殊注文を利用することで、マーケットの状況に応じて注文を出したり、複数の注文を関連付けたりすることが可能です。 """ body = create_params( order_method=order_method, minute_to_expire=minute_to_expire, time_in_force=time_in_force, parameters=parameters ) res = await self.request_private( method="POST", path="/v1/me/sendparentorder", body=body ) return res.text
async def get_executions(self, product_code: str, count: int = 100, before: int = None, after: int = None, child_order_id: int = None, child_order_acceptance_id: int = None ): """約定の一覧を取得する。""" body = create_params( product_code=product_code, count=count, before=before, after=after, child_order_id=child_order_id, child_order_acceptance_id=child_order_acceptance_id ) res = await self.request_private( method="GET", path="/v1/me/getexecutions", body=body ) return res.text