feat: show entry type as category/subtype (反转/启动A)

Format持仓与交易记录开仓类型为两级展示;新平仓写入与旧短标签自动展开。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-07 00:27:53 +08:00
parent 99eb16dbd8
commit f580e4542d
6 changed files with 105 additions and 14 deletions
+7 -1
View File
@@ -185,6 +185,7 @@ from lib.trade.entry_model_lib import (
open_position_button_label,
parse_manual_order_style_fields,
resolve_effective_trade_entry_reason,
format_entry_type_display,
resolve_trade_record_entry_reason,
trend_manual_entry_reason_count,
)
@@ -2075,6 +2076,7 @@ def to_effective_trade_dict(row):
item["effective_entry_reason"] = resolve_effective_trade_entry_reason(
reviewed_entry_reason=reviewed_er,
entry_reason=item.get("entry_reason"),
entry_model=item.get("entry_model"),
key_signal_type=(item.get("key_signal_type") or "").strip() or None,
monitor_type=item.get("monitor_type"),
trade_style=item.get("trade_style"),
@@ -8751,7 +8753,11 @@ def export_trade_records():
er0 = (r["entry_reason"] or "").strip() if r["entry_reason"] else ""
er1 = (r["reviewed_entry_reason"] or "").strip() if r["reviewed_entry_reason"] else ""
kst = (r["key_signal_type"] or "").strip() if "key_signal_type" in r.keys() else ""
eff = er1 or er0 or entry_reason_from_key_signal(kst) or ""
eff = format_entry_type_display(
er1 or er0 or entry_reason_from_key_signal(kst) or "",
entry_model=r["entry_model"] if "entry_model" in r.keys() else None,
trade_style=r["trade_style"] if "trade_style" in r.keys() else None,
)
snap = r["initial_stop_loss"] if r["initial_stop_loss"] not in (None, "") else r["stop_loss"]
data.append((
r["id"], r["symbol"], r["monitor_type"], kst, r["direction"], r["trigger_price"],