You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
grid_trader/huobi/model/margin/cross_margin_account_balanc...

50 lines
1.8 KiB

from huobi.constant import *
from huobi.model.account import Balance
from huobi.utils import *
class CrossMarginAccountBalance:
"""
The account information for spot account, margin account etc.
:member
id: The unique account id.
type: The type of this account, possible value: spot, margin, otc, point.
state: The account state, possible value: working, lock.
list: The balance list of the specified currency. The content is Balance class
"""
def __init__(self):
self.id = 0
self.type = AccountType.INVALID
self.state = AccountState.INVALID
self.risk_rate = 0
self.acct_balance_sum = 0.0
self.debt_balance_sum = 0.0
self.list = list()
@staticmethod
def json_parse(data_json):
balance_list_json = data_json.get("list", [])
data_json.pop("list")
account_balance = default_parse_list_dict(data_json, CrossMarginAccountBalance)
account_balance.list = default_parse_list_dict(balance_list_json, Balance, [])
return account_balance
def print_object(self, format_data=""):
from huobi.utils.print_mix_object import PrintBasic
PrintBasic.print_basic(self.id, format_data + "Account ID")
PrintBasic.print_basic(self.type, format_data + "Account Type")
PrintBasic.print_basic(self.state, format_data + "Account State")
PrintBasic.print_basic(self.risk_rate, format_data + "Risk Rate")
PrintBasic.print_basic(self.acct_balance_sum, format_data + "Total Balance")
PrintBasic.print_basic(self.debt_balance_sum, format_data + "Debt Balance")
if self.list and len(self.list):
for balance in self.list:
balance.print_object("\t")
print()