ae480cb3e7
Co-authored-by: Cursor <cursoragent@cursor.com>
92 lines
3.4 KiB
HTML
92 lines
3.4 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}统计分析 - 国内期货监控系统{% endblock %}
|
|
{% block content %}
|
|
<h1 class="page-title">统计分析</h1>
|
|
|
|
<div class="stat-grid">
|
|
<div class="stat-item"><div class="label">总交易</div><div class="value">{{ total }}</div></div>
|
|
<div class="stat-item"><div class="label">止盈</div><div class="value" style="color:#4cd97f">{{ win }}</div></div>
|
|
<div class="stat-item"><div class="label">止损</div><div class="value" style="color:#ff6666">{{ loss }}</div></div>
|
|
<div class="stat-item"><div class="label">胜率</div><div class="value">{{ rate }}%</div></div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>按品种统计</h2>
|
|
<table>
|
|
<thead><tr><th>品种</th><th>交易次数</th><th>止盈次数</th><th>胜率</th></tr></thead>
|
|
<tbody>
|
|
{% for s in by_symbol %}
|
|
<tr>
|
|
<td>{{ s.symbol_name or s.symbol }}</td>
|
|
<td>{{ s.cnt }}</td>
|
|
<td>{{ s.wins }}</td>
|
|
<td>{{ round(s.wins / s.cnt * 100, 2) if s.cnt else 0 }}%</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr><td colspan="4" style="color:#888">暂无数据</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>按类型统计</h2>
|
|
<table>
|
|
<thead><tr><th>类型</th><th>交易次数</th><th>止盈次数</th><th>胜率</th></tr></thead>
|
|
<tbody>
|
|
{% for t in by_type %}
|
|
<tr>
|
|
<td>{{ t.monitor_type }}</td>
|
|
<td>{{ t.cnt }}</td>
|
|
<td>{{ t.wins }}</td>
|
|
<td>{{ round(t.wins / t.cnt * 100, 2) if t.cnt else 0 }}%</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr><td colspan="4" style="color:#888">暂无数据</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>按方向统计</h2>
|
|
<table>
|
|
<thead><tr><th>方向</th><th>交易次数</th><th>止盈次数</th><th>胜率</th></tr></thead>
|
|
<tbody>
|
|
{% for d in by_direction %}
|
|
<tr>
|
|
<td><span class="badge dir">{{ '做多' if d.direction == 'long' else '做空' }}</span></td>
|
|
<td>{{ d.cnt }}</td>
|
|
<td>{{ d.wins }}</td>
|
|
<td>{{ round(d.wins / d.cnt * 100, 2) if d.cnt else 0 }}%</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr><td colspan="4" style="color:#888">暂无数据</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>最近 10 笔交易</h2>
|
|
<table>
|
|
<thead><tr><th>品种</th><th>方向</th><th>结果</th><th>时间</th></tr></thead>
|
|
<tbody>
|
|
{% for r in recent %}
|
|
<tr>
|
|
<td>{{ r.symbol_name or r.symbol }}</td>
|
|
<td><span class="badge dir">{{ '做多' if r.direction == 'long' else '做空' }}</span></td>
|
|
<td>
|
|
{% if r.result == '止盈' %}<span class="badge profit">止盈</span>
|
|
{% else %}<span class="badge loss">止损</span>{% endif %}
|
|
</td>
|
|
<td>{{ r.created_at[:16] if r.created_at else '' }}</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr><td colspan="4" style="color:#888">暂无数据</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endblock %}
|