feat: Futures wallets should consider open PnL

This commit is contained in:
Matthias
2026-01-06 20:04:11 +01:00
parent 519721b58b
commit 3b5f1d52cd

View File

@@ -873,8 +873,21 @@ class RPC:
symbol: str
pos: PositionWallet
for symbol, pos in self._freqtrade.wallets.get_all_positions().items():
total += pos.collateral
total_bot += pos.collateral
est_stake = pos.collateral
pos_base = self._freqtrade.exchange.get_pair_base_currency(symbol)
if pos.leverage:
try:
rate = self._freqtrade.exchange.get_conversion_rate(pos_base, stake_currency)
if rate:
# est_stake = collateral + PnL
est_stake = rate * pos.position - pos.collateral * (pos.leverage - 1)
except (ExchangeError, PricingError) as e:
logger.warning(f"Error {e} getting rate for futures {symbol} / {pos_base}")
pass
# Add the estimated stake (collateral + unlevered PnL) to totals
total += est_stake
total_bot += est_stake
currencies.append(
{
@@ -883,11 +896,11 @@ class RPC:
"balance": 0,
"used": 0,
"position": pos.position,
"est_stake": pos.collateral,
"est_stake_bot": pos.collateral,
"est_stake": est_stake,
"est_stake_bot": est_stake,
"stake": stake_currency,
"side": pos.side,
"is_bot_managed": True,
"is_bot_managed": pos_base in open_assets,
"is_position": True,
}
)