mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-01-19 21:40:24 +00:00
feat: Futures wallets should consider open PnL
This commit is contained in:
@@ -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,
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user