@@ -164,6 +164,13 @@ def contract_detail(
|
||||
"change": r.change,
|
||||
})
|
||||
|
||||
pos_totals = {
|
||||
"long": sum(r.change for r in rankings if r.data_type == "long"),
|
||||
"short": sum(r.change for r in rankings if r.data_type == "short"),
|
||||
}
|
||||
else:
|
||||
pos_totals = {"long": 0, "short": 0}
|
||||
|
||||
# Predict next trading day amplitude: mean of latest 5 diffs
|
||||
# Compute next trading date
|
||||
next_date = latest.date + timedelta(days=1) if latest else None
|
||||
@@ -186,6 +193,7 @@ def contract_detail(
|
||||
pos_dates=pos_dates,
|
||||
selected_pos_date=selected_date,
|
||||
pos_data=pos_data,
|
||||
pos_totals=pos_totals,
|
||||
next_amp=next_amp,
|
||||
next_date=next_date.strftime("%Y/%-m/%-d") if next_date else None,
|
||||
next_weekday=WEEKDAY_ZH.get(next_date.weekday(), "") if next_date else "",
|
||||
|
||||
@@ -92,6 +92,15 @@
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if dtype != 'volume' %}
|
||||
<tr style="background:var(--th-bg);font-weight:600;">
|
||||
<td></td><td style="text-align:right;">增减合计</td>
|
||||
<td></td>
|
||||
<td style="color:{% if pos_totals[dtype] > 0 %}var(--danger-fg){% elif pos_totals[dtype] < 0 %}var(--success-fg){% else %}var(--sub){% endif %};">
|
||||
{% if pos_totals[dtype] > 0 %}+{% endif %}{{ pos_totals[dtype] }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
Reference in New Issue
Block a user