平仓汇总按原始价差计算毛利和净利,红涨绿跌配色
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -37,26 +37,25 @@
|
||||
<div class="value">{{ total_count }}</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="label">总盈亏</div>
|
||||
<div class="value" style="{% if total_pnl > 0 %}color:var(--success-fg);{% elif total_pnl < 0 %}color:var(--danger-fg);{% endif %}">
|
||||
{% if total_pnl > 0 %}+{% endif %}{{ "%.0f"|format(total_pnl) }}
|
||||
<div class="label">毛利</div>
|
||||
<div class="value" style="{% if gross_pnl > 0 %}color:var(--danger-fg);{% elif gross_pnl < 0 %}color:var(--success-fg);{% endif %}">
|
||||
{% if gross_pnl > 0 %}+{% endif %}{{ "%.2f"|format(gross_pnl) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="label">总手续费</div>
|
||||
<div class="value">{{ "%.0f"|format(total_fee) }}</div>
|
||||
<div class="value">{{ "%.2f"|format(total_fee) }}</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="label">总胜率</div>
|
||||
<div class="value" style="{% if total_win_rate >= 50 %}color:var(--success-fg);{% else %}color:var(--danger-fg);{% endif %}">
|
||||
<div class="value" style="{% if total_win_rate >= 40 %}color:var(--danger-fg);{% else %}color:var(--success-fg);{% endif %}">
|
||||
{{ total_win_rate }}%
|
||||
</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="label">净盈亏</div>
|
||||
<div class="value" style="{% if total_pnl - total_fee > 0 %}color:var(--success-fg);{% elif total_pnl - total_fee < 0 %}color:var(--danger-fg);{% endif %}">
|
||||
{% set net = total_pnl - total_fee %}
|
||||
{% if net > 0 %}+{% endif %}{{ "%.0f"|format(net) }}
|
||||
<div class="label">净利润</div>
|
||||
<div class="value" style="{% if net_pnl > 0 %}color:var(--danger-fg);{% elif net_pnl < 0 %}color:var(--success-fg);{% endif %}">
|
||||
{% if net_pnl > 0 %}+{% endif %}{{ "%.2f"|format(net_pnl) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -72,9 +71,9 @@
|
||||
<div class="tab-panel{% if view != 'options' and view != 'dual' %} active{% endif %}">
|
||||
<div class="sub-stat">
|
||||
<span>笔数 <b>{{ future_stats.count }}</b></span>
|
||||
<span>盈亏 <b style="{% if future_stats.pnl > 0 %}color:var(--success-fg);{% elif future_stats.pnl < 0 %}color:var(--danger-fg);{% endif %}">{% if future_stats.pnl > 0 %}+{% endif %}{{ "%.0f"|format(future_stats.pnl) }}</b></span>
|
||||
<span>手续费 <b>{{ "%.0f"|format(future_stats.total_fee) }}</b></span>
|
||||
<span>胜率 <b style="{% if future_stats.win_rate >= 50 %}color:var(--success-fg);{% else %}color:var(--danger-fg);{% endif %}">{{ future_stats.win_rate }}%</b></span>
|
||||
<span>毛利 <b style="{% if future_stats.gross > 0 %}color:var(--danger-fg);{% elif future_stats.gross < 0 %}color:var(--success-fg);{% endif %}">{% if future_stats.gross > 0 %}+{% endif %}{{ "%.2f"|format(future_stats.gross) }}</b></span>
|
||||
<span>手续费 <b>{{ "%.2f"|format(future_stats.total_fee) }}</b></span>
|
||||
<span>净利 <b style="{% if future_stats.net > 0 %}color:var(--danger-fg);{% elif future_stats.net < 0 %}color:var(--success-fg);{% endif %}">{% if future_stats.net > 0 %}+{% endif %}{{ "%.2f"|format(future_stats.net) }}</b></span>
|
||||
</div>
|
||||
|
||||
{% if future_trades %}
|
||||
@@ -100,7 +99,7 @@
|
||||
<td>
|
||||
{% set p = t.pnl %}
|
||||
{% if p is not none %}
|
||||
<span style="font-weight:700;{% if p > 0 %}color:var(--success-fg);{% elif p < 0 %}color:var(--danger-fg);{% endif %}">
|
||||
<span style="font-weight:700;{% if p > 0 %}color:var(--danger-fg);{% elif p < 0 %}color:var(--success-fg);{% endif %}">
|
||||
{% if p > 0 %}+{% endif %}{{ p }}
|
||||
</span>
|
||||
{% endif %}
|
||||
@@ -118,9 +117,9 @@
|
||||
<div class="tab-panel{% if view == 'options' %} active{% endif %}">
|
||||
<div class="sub-stat">
|
||||
<span>笔数 <b>{{ option_stats.count }}</b></span>
|
||||
<span>盈亏 <b style="{% if option_stats.pnl > 0 %}color:var(--success-fg);{% elif option_stats.pnl < 0 %}color:var(--danger-fg);{% endif %}">{% if option_stats.pnl > 0 %}+{% endif %}{{ "%.0f"|format(option_stats.pnl) }}</b></span>
|
||||
<span>手续费 <b>{{ "%.0f"|format(option_stats.total_fee) }}</b></span>
|
||||
<span>胜率 <b style="{% if option_stats.win_rate >= 50 %}color:var(--success-fg);{% else %}color:var(--danger-fg);{% endif %}">{{ option_stats.win_rate }}%</b></span>
|
||||
<span>毛利 <b style="{% if option_stats.gross > 0 %}color:var(--danger-fg);{% elif option_stats.gross < 0 %}color:var(--success-fg);{% endif %}">{% if option_stats.gross > 0 %}+{% endif %}{{ "%.2f"|format(option_stats.gross) }}</b></span>
|
||||
<span>手续费 <b>{{ "%.2f"|format(option_stats.total_fee) }}</b></span>
|
||||
<span>净利 <b style="{% if option_stats.net > 0 %}color:var(--danger-fg);{% elif option_stats.net < 0 %}color:var(--success-fg);{% endif %}">{% if option_stats.net > 0 %}+{% endif %}{{ "%.2f"|format(option_stats.net) }}</b></span>
|
||||
</div>
|
||||
|
||||
{% if option_trades %}
|
||||
@@ -154,7 +153,7 @@
|
||||
<td>
|
||||
{% set p = t.pnl %}
|
||||
{% if p is not none %}
|
||||
<span style="font-weight:700;{% if p > 0 %}color:var(--success-fg);{% elif p < 0 %}color:var(--danger-fg);{% endif %}">
|
||||
<span style="font-weight:700;{% if p > 0 %}color:var(--danger-fg);{% elif p < 0 %}color:var(--success-fg);{% endif %}">
|
||||
{% if p > 0 %}+{% endif %}{{ p }}
|
||||
</span>
|
||||
{% endif %}
|
||||
@@ -172,9 +171,9 @@
|
||||
<div class="tab-panel{% if view == 'dual' %} active{% endif %}">
|
||||
<div class="sub-stat">
|
||||
<span>笔数 <b>{{ dual_stats.count }}</b></span>
|
||||
<span>盈亏 <b style="{% if dual_stats.pnl > 0 %}color:var(--success-fg);{% elif dual_stats.pnl < 0 %}color:var(--danger-fg);{% endif %}">{% if dual_stats.pnl > 0 %}+{% endif %}{{ "%.0f"|format(dual_stats.pnl) }}</b></span>
|
||||
<span>手续费 <b>{{ "%.0f"|format(dual_stats.total_fee) }}</b></span>
|
||||
<span>胜率 <b style="{% if dual_stats.win_rate >= 50 %}color:var(--success-fg);{% else %}color:var(--danger-fg);{% endif %}">{{ dual_stats.win_rate }}%</b></span>
|
||||
<span>毛利 <b style="{% if dual_stats.gross > 0 %}color:var(--danger-fg);{% elif dual_stats.gross < 0 %}color:var(--success-fg);{% endif %}">{% if dual_stats.gross > 0 %}+{% endif %}{{ "%.2f"|format(dual_stats.gross) }}</b></span>
|
||||
<span>手续费 <b>{{ "%.2f"|format(dual_stats.total_fee) }}</b></span>
|
||||
<span>净利 <b style="{% if dual_stats.net > 0 %}color:var(--danger-fg);{% elif dual_stats.net < 0 %}color:var(--success-fg);{% endif %}">{% if dual_stats.net > 0 %}+{% endif %}{{ "%.2f"|format(dual_stats.net) }}</b></span>
|
||||
</div>
|
||||
|
||||
{% if dual_trades %}
|
||||
@@ -195,7 +194,7 @@
|
||||
<td>
|
||||
{% set p = t.pnl %}
|
||||
{% if p is not none %}
|
||||
<span style="font-weight:700;{% if p > 0 %}color:var(--success-fg);{% elif p < 0 %}color:var(--danger-fg);{% endif %}">
|
||||
<span style="font-weight:700;{% if p > 0 %}color:var(--danger-fg);{% elif p < 0 %}color:var(--success-fg);{% endif %}">
|
||||
{% if p > 0 %}+{% endif %}{{ p }}
|
||||
</span>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user