update
This commit is contained in:
parent
8e025adba9
commit
09df00091e
@ -1679,7 +1679,8 @@ class PaperTradingService:
|
|||||||
losing_trades = len([o for o in orders if o.pnl_amount < 0])
|
losing_trades = len([o for o in orders if o.pnl_amount < 0])
|
||||||
|
|
||||||
total_pnl = sum(o.pnl_amount for o in orders)
|
total_pnl = sum(o.pnl_amount for o in orders)
|
||||||
total_pnl_percent = sum(o.pnl_percent for o in orders)
|
# 正确的账户总收益率:(总盈亏 / 初始资金) * 100
|
||||||
|
total_pnl_percent = (total_pnl / self.initial_balance * 100) if self.initial_balance > 0 else 0
|
||||||
|
|
||||||
wins = [o.pnl_amount for o in orders if o.pnl_amount > 0]
|
wins = [o.pnl_amount for o in orders if o.pnl_amount > 0]
|
||||||
losses = [abs(o.pnl_amount) for o in orders if o.pnl_amount < 0]
|
losses = [abs(o.pnl_amount) for o in orders if o.pnl_amount < 0]
|
||||||
|
|||||||
@ -518,59 +518,6 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Detailed Stats (Only show in history tab) -->
|
|
||||||
<div v-if="currentTab === 'history' && orderHistory.length > 0" class="grade-stats">
|
|
||||||
<div class="grade-card">
|
|
||||||
<div class="grade-card-header">
|
|
||||||
<span class="grade-card-title">交易详情</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-card-stats">
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">总交易数</span>
|
|
||||||
<span class="grade-stat-value">{{ stats.total_trades || 0 }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">盈利交易</span>
|
|
||||||
<span class="grade-stat-value positive">{{ stats.winning_trades || 0 }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">亏损交易</span>
|
|
||||||
<span class="grade-stat-value negative">{{ stats.losing_trades || 0 }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">最佳交易</span>
|
|
||||||
<span class="grade-stat-value positive">{{ stats.best_trade ? stats.best_trade.toFixed(2) : '0.00' }}%</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">最差交易</span>
|
|
||||||
<span class="grade-stat-value negative">{{ stats.worst_trade ? stats.worst_trade.toFixed(2) : '0.00' }}%</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grade-card">
|
|
||||||
<div class="grade-card-header">
|
|
||||||
<span class="grade-card-title">收益分析</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-card-stats">
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">平均盈利</span>
|
|
||||||
<span class="grade-stat-value positive">${{ stats.average_win ? stats.average_win.toFixed(2) : '0.00' }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">平均亏损</span>
|
|
||||||
<span class="grade-stat-value negative">${{ stats.average_loss ? stats.average_loss.toFixed(2) : '0.00' }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="grade-stat-row">
|
|
||||||
<span class="grade-stat-label">收益率</span>
|
|
||||||
<span class="grade-stat-value" :class="stats.return_percent >= 0 ? 'positive' : 'negative'">
|
|
||||||
{{ stats.return_percent >= 0 ? '+' : '' }}{{ stats.return_percent ? stats.return_percent.toFixed(2) : '0.00' }}%
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Detailed Statistics Tab -->
|
<!-- Detailed Statistics Tab -->
|
||||||
<div v-if="currentTab === 'stats'" class="table-container">
|
<div v-if="currentTab === 'stats'" class="table-container">
|
||||||
<!-- Core Metrics -->
|
<!-- Core Metrics -->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user