# coding: utf-8 """ Gate API v4 Welcome to Gate.io API APIv4 provides spot, margin and futures trading operations. There are public APIs to retrieve the real-time market statistics, and private APIs which needs authentication to trade on user's behalf. # noqa: E501 Contact: support@mail.gate.io Generated by: https://openapi-generator.tech """ import pprint import re # noqa: F401 import six from gate_api.configuration import Configuration class FuturesAccount(object): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech Do not edit the class manually. """ """ Attributes: openapi_types (dict): The key is attribute name and the value is attribute type. attribute_map (dict): The key is attribute name and the value is json key in definition. """ openapi_types = { 'total': 'str', 'unrealised_pnl': 'str', 'position_margin': 'str', 'order_margin': 'str', 'available': 'str', 'point': 'str', 'currency': 'str', 'in_dual_mode': 'bool', 'enable_credit': 'bool', 'position_initial_margin': 'str', 'maintenance_margin': 'str', 'bonus': 'str', 'history': 'FuturesAccountHistory', } attribute_map = { 'total': 'total', 'unrealised_pnl': 'unrealised_pnl', 'position_margin': 'position_margin', 'order_margin': 'order_margin', 'available': 'available', 'point': 'point', 'currency': 'currency', 'in_dual_mode': 'in_dual_mode', 'enable_credit': 'enable_credit', 'position_initial_margin': 'position_initial_margin', 'maintenance_margin': 'maintenance_margin', 'bonus': 'bonus', 'history': 'history', } def __init__( self, total=None, unrealised_pnl=None, position_margin=None, order_margin=None, available=None, point=None, currency=None, in_dual_mode=None, enable_credit=None, position_initial_margin=None, maintenance_margin=None, bonus=None, history=None, local_vars_configuration=None, ): # noqa: E501 # type: (str, str, str, str, str, str, str, bool, bool, str, str, str, FuturesAccountHistory, Configuration) -> None """FuturesAccount - a model defined in OpenAPI""" # noqa: E501 if local_vars_configuration is None: local_vars_configuration = Configuration() self.local_vars_configuration = local_vars_configuration self._total = None self._unrealised_pnl = None self._position_margin = None self._order_margin = None self._available = None self._point = None self._currency = None self._in_dual_mode = None self._enable_credit = None self._position_initial_margin = None self._maintenance_margin = None self._bonus = None self._history = None self.discriminator = None if total is not None: self.total = total if unrealised_pnl is not None: self.unrealised_pnl = unrealised_pnl if position_margin is not None: self.position_margin = position_margin if order_margin is not None: self.order_margin = order_margin if available is not None: self.available = available if point is not None: self.point = point if currency is not None: self.currency = currency if in_dual_mode is not None: self.in_dual_mode = in_dual_mode if enable_credit is not None: self.enable_credit = enable_credit if position_initial_margin is not None: self.position_initial_margin = position_initial_margin if maintenance_margin is not None: self.maintenance_margin = maintenance_margin if bonus is not None: self.bonus = bonus if history is not None: self.history = history @property def total(self): """Gets the total of this FuturesAccount. # noqa: E501 total is the balance after the user's accumulated deposit, withdraw, profit and loss (including realized profit and loss, fund, fee and referral rebate), excluding unrealized profit and loss. total = SUM(history_dnw, history_pnl, history_fee, history_refr, history_fund) # noqa: E501 :return: The total of this FuturesAccount. # noqa: E501 :rtype: str """ return self._total @total.setter def total(self, total): """Sets the total of this FuturesAccount. total is the balance after the user's accumulated deposit, withdraw, profit and loss (including realized profit and loss, fund, fee and referral rebate), excluding unrealized profit and loss. total = SUM(history_dnw, history_pnl, history_fee, history_refr, history_fund) # noqa: E501 :param total: The total of this FuturesAccount. # noqa: E501 :type: str """ self._total = total @property def unrealised_pnl(self): """Gets the unrealised_pnl of this FuturesAccount. # noqa: E501 Unrealized PNL # noqa: E501 :return: The unrealised_pnl of this FuturesAccount. # noqa: E501 :rtype: str """ return self._unrealised_pnl @unrealised_pnl.setter def unrealised_pnl(self, unrealised_pnl): """Sets the unrealised_pnl of this FuturesAccount. Unrealized PNL # noqa: E501 :param unrealised_pnl: The unrealised_pnl of this FuturesAccount. # noqa: E501 :type: str """ self._unrealised_pnl = unrealised_pnl @property def position_margin(self): """Gets the position_margin of this FuturesAccount. # noqa: E501 Position margin # noqa: E501 :return: The position_margin of this FuturesAccount. # noqa: E501 :rtype: str """ return self._position_margin @position_margin.setter def position_margin(self, position_margin): """Sets the position_margin of this FuturesAccount. Position margin # noqa: E501 :param position_margin: The position_margin of this FuturesAccount. # noqa: E501 :type: str """ self._position_margin = position_margin @property def order_margin(self): """Gets the order_margin of this FuturesAccount. # noqa: E501 Order margin of unfinished orders # noqa: E501 :return: The order_margin of this FuturesAccount. # noqa: E501 :rtype: str """ return self._order_margin @order_margin.setter def order_margin(self, order_margin): """Sets the order_margin of this FuturesAccount. Order margin of unfinished orders # noqa: E501 :param order_margin: The order_margin of this FuturesAccount. # noqa: E501 :type: str """ self._order_margin = order_margin @property def available(self): """Gets the available of this FuturesAccount. # noqa: E501 The available balance for transferring or trading(including bonus. Bonus can't be be withdrawn. The transfer amount needs to deduct the bonus) # noqa: E501 :return: The available of this FuturesAccount. # noqa: E501 :rtype: str """ return self._available @available.setter def available(self, available): """Sets the available of this FuturesAccount. The available balance for transferring or trading(including bonus. Bonus can't be be withdrawn. The transfer amount needs to deduct the bonus) # noqa: E501 :param available: The available of this FuturesAccount. # noqa: E501 :type: str """ self._available = available @property def point(self): """Gets the point of this FuturesAccount. # noqa: E501 POINT amount # noqa: E501 :return: The point of this FuturesAccount. # noqa: E501 :rtype: str """ return self._point @point.setter def point(self, point): """Sets the point of this FuturesAccount. POINT amount # noqa: E501 :param point: The point of this FuturesAccount. # noqa: E501 :type: str """ self._point = point @property def currency(self): """Gets the currency of this FuturesAccount. # noqa: E501 Settle currency # noqa: E501 :return: The currency of this FuturesAccount. # noqa: E501 :rtype: str """ return self._currency @currency.setter def currency(self, currency): """Sets the currency of this FuturesAccount. Settle currency # noqa: E501 :param currency: The currency of this FuturesAccount. # noqa: E501 :type: str """ self._currency = currency @property def in_dual_mode(self): """Gets the in_dual_mode of this FuturesAccount. # noqa: E501 Whether dual mode is enabled # noqa: E501 :return: The in_dual_mode of this FuturesAccount. # noqa: E501 :rtype: bool """ return self._in_dual_mode @in_dual_mode.setter def in_dual_mode(self, in_dual_mode): """Sets the in_dual_mode of this FuturesAccount. Whether dual mode is enabled # noqa: E501 :param in_dual_mode: The in_dual_mode of this FuturesAccount. # noqa: E501 :type: bool """ self._in_dual_mode = in_dual_mode @property def enable_credit(self): """Gets the enable_credit of this FuturesAccount. # noqa: E501 Whether portfolio margin account mode is enabled # noqa: E501 :return: The enable_credit of this FuturesAccount. # noqa: E501 :rtype: bool """ return self._enable_credit @enable_credit.setter def enable_credit(self, enable_credit): """Sets the enable_credit of this FuturesAccount. Whether portfolio margin account mode is enabled # noqa: E501 :param enable_credit: The enable_credit of this FuturesAccount. # noqa: E501 :type: bool """ self._enable_credit = enable_credit @property def position_initial_margin(self): """Gets the position_initial_margin of this FuturesAccount. # noqa: E501 Initial margin position, applicable to the portfolio margin account model # noqa: E501 :return: The position_initial_margin of this FuturesAccount. # noqa: E501 :rtype: str """ return self._position_initial_margin @position_initial_margin.setter def position_initial_margin(self, position_initial_margin): """Sets the position_initial_margin of this FuturesAccount. Initial margin position, applicable to the portfolio margin account model # noqa: E501 :param position_initial_margin: The position_initial_margin of this FuturesAccount. # noqa: E501 :type: str """ self._position_initial_margin = position_initial_margin @property def maintenance_margin(self): """Gets the maintenance_margin of this FuturesAccount. # noqa: E501 Maintenance margin position, applicable to the portfolio margin account model # noqa: E501 :return: The maintenance_margin of this FuturesAccount. # noqa: E501 :rtype: str """ return self._maintenance_margin @maintenance_margin.setter def maintenance_margin(self, maintenance_margin): """Sets the maintenance_margin of this FuturesAccount. Maintenance margin position, applicable to the portfolio margin account model # noqa: E501 :param maintenance_margin: The maintenance_margin of this FuturesAccount. # noqa: E501 :type: str """ self._maintenance_margin = maintenance_margin @property def bonus(self): """Gets the bonus of this FuturesAccount. # noqa: E501 Perpetual Contract Bonus # noqa: E501 :return: The bonus of this FuturesAccount. # noqa: E501 :rtype: str """ return self._bonus @bonus.setter def bonus(self, bonus): """Sets the bonus of this FuturesAccount. Perpetual Contract Bonus # noqa: E501 :param bonus: The bonus of this FuturesAccount. # noqa: E501 :type: str """ self._bonus = bonus @property def history(self): """Gets the history of this FuturesAccount. # noqa: E501 :return: The history of this FuturesAccount. # noqa: E501 :rtype: FuturesAccountHistory """ return self._history @history.setter def history(self, history): """Sets the history of this FuturesAccount. :param history: The history of this FuturesAccount. # noqa: E501 :type: FuturesAccountHistory """ self._history = history def to_dict(self): """Returns the model properties as a dict""" result = {} for attr, _ in six.iteritems(self.openapi_types): value = getattr(self, attr) if isinstance(value, list): result[attr] = list(map(lambda x: x.to_dict() if hasattr(x, "to_dict") else x, value)) elif hasattr(value, "to_dict"): result[attr] = value.to_dict() elif isinstance(value, dict): result[attr] = dict( map( lambda item: (item[0], item[1].to_dict()) if hasattr(item[1], "to_dict") else item, value.items(), ) ) else: result[attr] = value return result def to_str(self): """Returns the string representation of the model""" return pprint.pformat(self.to_dict()) def __repr__(self): """For `print` and `pprint`""" return self.to_str() def __eq__(self, other): """Returns true if both objects are equal""" if not isinstance(other, FuturesAccount): return False return self.to_dict() == other.to_dict() def __ne__(self, other): """Returns true if both objects are not equal""" if not isinstance(other, FuturesAccount): return True return self.to_dict() != other.to_dict()