mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-10 10:21:59 +00:00
putting wallets into a class (doesn’t need to be in persistence)
This commit is contained in:
parent
69dd56b237
commit
82cb0e4d95
39
freqtrade/finance/wallets.py
Normal file
39
freqtrade/finance/wallets.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
# pragma pylint: disable=W0603
|
||||
""" Wallet """
|
||||
import logging
|
||||
from typing import Dict
|
||||
from collections import namedtuple
|
||||
from freqtrade.exchange import Exchange
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Wallets(object):
|
||||
|
||||
# wallet data structure
|
||||
wallet = namedtuple(
|
||||
'wallet',
|
||||
['exchange', 'currency', 'free', 'used', 'total']
|
||||
)
|
||||
|
||||
def __init__(self, exchange: Exchange) -> None:
|
||||
self.exchange = exchange
|
||||
self.wallets: Dict[str, self.wallet] = {}
|
||||
|
||||
def _update_wallets(self) -> None:
|
||||
balances = self.exchange.get_balances()
|
||||
|
||||
for currency in balances:
|
||||
info = {
|
||||
'exchange': self.exchange.id,
|
||||
'currency': currency,
|
||||
'free': balances[currency['free']],
|
||||
'used': balances[currency['used']],
|
||||
'total': balances[currency['total']]
|
||||
}
|
||||
self.wallets[currency] = self.wallet(**info)
|
||||
|
||||
logger.info('Wallets synced ...')
|
||||
|
||||
def update(self) -> None:
|
||||
self._update_wallets()
|
|
@ -346,26 +346,3 @@ class Trade(_DECL_BASE):
|
|||
)
|
||||
profit_percent = (close_trade_price / open_trade_price) - 1
|
||||
return float(f"{profit_percent:.8f}")
|
||||
|
||||
|
||||
class Wallet(_DECL_BASE):
|
||||
"""
|
||||
Class for wallet structure
|
||||
It is a mirror of wallets on an exchange
|
||||
"""
|
||||
__tablename__ = 'wallets'
|
||||
|
||||
exchange = Column(String, nullable=False, primary_key=True, index=True)
|
||||
currency = Column(String, nullable=False, primary_key=True, index=True)
|
||||
|
||||
free = Column(Float, index=True)
|
||||
used = Column(Float)
|
||||
total = Column(Float)
|
||||
base = Column(Boolean, index=True, default=False)
|
||||
quote = Column(Boolean, index=True, default=False)
|
||||
|
||||
__table_args__ = (
|
||||
PrimaryKeyConstraint(
|
||||
exchange,
|
||||
currency),
|
||||
{})
|
||||
|
|
Loading…
Reference in New Issue
Block a user