This commit is contained in:
薇薇安 2026-01-15 18:46:20 +08:00
parent 2e672d1f25
commit 532adfe348

View File

@ -263,13 +263,18 @@ async def get_realtime_positions():
mark_price = entry_price mark_price = entry_price
position_value = abs(position_amt * mark_price) position_value = abs(position_amt * mark_price)
pnl_percent = 0
if entry_price > 0 and position_value > 0:
pnl_percent = (unrealized_pnl / position_value) * 100
# 计算开仓时的USDT数量 # 计算开仓时的USDT数量名义价值
entry_value_usdt = abs(position_amt) * entry_price entry_value_usdt = abs(position_amt) * entry_price
# 计算收益率:盈亏 / 保证金(与币安一致)
# 保证金 = 名义价值 / 杠杆
leverage = float(pos.get('leverage', 1))
margin = entry_value_usdt / leverage if leverage > 0 else entry_value_usdt
pnl_percent = 0
if margin > 0:
pnl_percent = (unrealized_pnl / margin) * 100
# 尝试从数据库获取开仓时间 # 尝试从数据库获取开仓时间
entry_time = None entry_time = None
try: try: