{% macro key_direction_label(k) -%} {% if k.direction == 'watch' %}双向{% elif k.direction == 'long' %}做多{% else %}做空{% endif %} {%- endmacro %} {% macro key_sl_tp_mode_label(k) -%} {% if (k.sl_tp_mode or 'standard') == 'standard' %}标准突破{% elif k.sl_tp_mode == 'box_1p5' %}箱体1R·止盈1.5H{% else %}趋势单{% endif %} {%- endmacro %} {% macro key_monitor_brief(k) -%} 上{{ k.upper }} / 下{{ k.lower }} · 提醒 {{ k.notification_count or 0 }}/{{ k.max_notify or 3 }} {%- if k.monitor_type in ['箱体突破','收敛突破'] %} · {{ key_sl_tp_mode_label(k) }}{% endif %} {%- if k.breakeven_enabled %} · 保本开{% else %} · 保本关{% endif %} {%- endmacro %} {% macro key_history_brief(h) -%} {{ h.close_reason or '—' }} · {{ (h.closed_at or '-')[:16] }} · 上{{ h.upper }} / 下{{ h.lower }} · 提醒 {{ h.notification_count or 0 }} {%- endmacro %}