This commit is contained in:
薇薇安 2026-01-15 19:02:05 +08:00
parent 532adfe348
commit ada31bdd65

View File

@ -107,12 +107,20 @@ async def get_dashboard_data():
open_trades = []
for trade in db_trades:
entry_value_usdt = float(trade.get('quantity', 0)) * float(trade.get('entry_price', 0))
leverage = float(trade.get('leverage', 1))
pnl = float(trade.get('pnl', 0))
# 数据库中的pnl_percent是价格涨跌幅需要转换为收益率
# 收益率 = 盈亏 / 保证金
margin = entry_value_usdt / leverage if leverage > 0 else entry_value_usdt
pnl_percent = (pnl / margin * 100) if margin > 0 else 0
formatted_trade = {
**trade,
'entry_value_usdt': entry_value_usdt,
'mark_price': trade.get('entry_price', 0), # 数据库中没有标记价,使用入场价
'pnl': trade.get('pnl', 0),
'pnl_percent': trade.get('pnl_percent', 0)
'pnl': pnl,
'pnl_percent': pnl_percent # 使用重新计算的收益率
}
open_trades.append(formatted_trade)
logger.info(f"使用数据库记录作为持仓数据: {len(open_trades)} 个持仓")
@ -128,12 +136,20 @@ async def get_dashboard_data():
open_trades = []
for trade in db_trades:
entry_value_usdt = float(trade.get('quantity', 0)) * float(trade.get('entry_price', 0))
leverage = float(trade.get('leverage', 1))
pnl = float(trade.get('pnl', 0))
# 数据库中的pnl_percent是价格涨跌幅需要转换为收益率
# 收益率 = 盈亏 / 保证金
margin = entry_value_usdt / leverage if leverage > 0 else entry_value_usdt
pnl_percent = (pnl / margin * 100) if margin > 0 else 0
formatted_trade = {
**trade,
'entry_value_usdt': entry_value_usdt,
'mark_price': trade.get('entry_price', 0), # 数据库中没有标记价,使用入场价
'pnl': trade.get('pnl', 0),
'pnl_percent': trade.get('pnl_percent', 0)
'pnl': pnl,
'pnl_percent': pnl_percent # 使用重新计算的收益率
}
open_trades.append(formatted_trade)
logger.info(f"使用数据库记录作为持仓数据: {len(open_trades)} 个持仓")