feat: show entry type as category/subtype (反转/启动A)
Format持仓与交易记录开仓类型为两级展示;新平仓写入与旧短标签自动展开。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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"],
|
||||
|
||||
Reference in New Issue
Block a user