feat: add "bot_managed" to wallet_history
This commit is contained in:
@@ -21,6 +21,7 @@ class WalletHistory(ModelBase):
|
|||||||
price: Mapped[float] = mapped_column(Float, nullable=True)
|
price: Mapped[float] = mapped_column(Float, nullable=True)
|
||||||
balance: Mapped[float] = mapped_column(Float, nullable=False)
|
balance: Mapped[float] = mapped_column(Float, nullable=False)
|
||||||
leverage: Mapped[float] = mapped_column(Float, nullable=False, default=1.0)
|
leverage: Mapped[float] = mapped_column(Float, nullable=False, default=1.0)
|
||||||
|
bot_managed: Mapped[bool] = mapped_column(nullable=False, default=True)
|
||||||
|
|
||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
# Ensure one record per currency per day
|
# Ensure one record per currency per day
|
||||||
|
|||||||
@@ -458,6 +458,7 @@ class Wallets:
|
|||||||
# Record total balances for all currencies
|
# Record total balances for all currencies
|
||||||
wallet_records = []
|
wallet_records = []
|
||||||
position_collaterals = 0.0
|
position_collaterals = 0.0
|
||||||
|
open_assets: dict[str, Trade] = {t.safe_base_currency: t for t in Trade.get_open_trades()}
|
||||||
for position in self.get_all_positions().values():
|
for position in self.get_all_positions().values():
|
||||||
base = self._exchange.get_pair_base_currency(position.symbol)
|
base = self._exchange.get_pair_base_currency(position.symbol)
|
||||||
price = self._exchange.get_conversion_rate(base, self._stake_currency)
|
price = self._exchange.get_conversion_rate(base, self._stake_currency)
|
||||||
@@ -467,6 +468,7 @@ class Wallets:
|
|||||||
price=price,
|
price=price,
|
||||||
balance=position.position,
|
balance=position.position,
|
||||||
leverage=position.leverage or 1.0,
|
leverage=position.leverage or 1.0,
|
||||||
|
bot_managed=base in open_assets,
|
||||||
)
|
)
|
||||||
position_collaterals += position.collateral
|
position_collaterals += position.collateral
|
||||||
wallet_records.append(position_record)
|
wallet_records.append(position_record)
|
||||||
@@ -474,6 +476,10 @@ class Wallets:
|
|||||||
for wallet in self.get_all_balances().values():
|
for wallet in self.get_all_balances().values():
|
||||||
# TODO: exclude minimal balances?
|
# TODO: exclude minimal balances?
|
||||||
price = self._exchange.get_conversion_rate(wallet.currency, self._stake_currency)
|
price = self._exchange.get_conversion_rate(wallet.currency, self._stake_currency)
|
||||||
|
is_bot_managed = (
|
||||||
|
self._stake_currency == wallet.currency or wallet.currency in open_assets
|
||||||
|
)
|
||||||
|
|
||||||
wallet_record = WalletHistory(
|
wallet_record = WalletHistory(
|
||||||
timestamp=timestamp,
|
timestamp=timestamp,
|
||||||
currency=wallet.currency,
|
currency=wallet.currency,
|
||||||
@@ -481,6 +487,7 @@ class Wallets:
|
|||||||
balance=wallet.total
|
balance=wallet.total
|
||||||
- (position_collaterals if wallet.currency == self._stake_currency else 0),
|
- (position_collaterals if wallet.currency == self._stake_currency else 0),
|
||||||
leverage=1.0,
|
leverage=1.0,
|
||||||
|
bot_managed=is_bot_managed,
|
||||||
)
|
)
|
||||||
wallet_records.append(wallet_record)
|
wallet_records.append(wallet_record)
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user