{_buy_rank_badge(buy_amount)}{stock}{acct_label}
-
๋ณด์ {qty:,} ์ฃผ{_pending_badges_html(r)}{weight:.2f}%{star}
+
๐ฆ {qty:,}{_pending_badges_html(r)}{weight:.2f}%{star}
{summary_journal_html}
@@ -4298,7 +4298,7 @@ details.row + .section-label { margin-top: 14px; padding-top: 24px; border-top-c
.btn-tag-quick.active { color: #ff6b78; background: rgba(255,77,94,0.14); border-color: rgba(255,77,94,0.50); }
.btn-tag-quick.active:hover { background: rgba(255,77,94,0.22); }
.badge.watching { background: #1a1e2a; color: #7a8090; }
-.badge.held { background: #2a1820; color: #ff8a96; border: 1px solid rgba(255,77,94,0.3); }
+.badge.held { background: #2a1820; color: #ff8a96; border: 1px solid rgba(255,77,94,0.3); font-size: 8px; padding: 1px 5px; }
.badge.pending-buy { background: #2a1822; color: #ff9fb3; border: 1px solid rgba(255,140,170,0.32); font-weight: 600; padding: 2px 6px; letter-spacing: 0; }
.badge.pending-sell { background: #182030; color: #7fb8ff; border: 1px solid rgba(122,180,255,0.32); font-weight: 600; padding: 2px 6px; letter-spacing: 0; }
dl.pending-detail { margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,0.08); grid-template-columns: 92px minmax(0, 1fr); }
diff --git a/agents/stock/workspace/sim/sim_web.py b/agents/stock/workspace/sim/sim_web.py
index 7c7f920..8ba2f85 100644
--- a/agents/stock/workspace/sim/sim_web.py
+++ b/agents/stock/workspace/sim/sim_web.py
@@ -1122,7 +1122,7 @@ def _compare_panel() -> str:
bt_row = ''
rows += (
f''
+ f'data-ret="{ret}" data-held="{s.get("open_positions", 0)}" data-trades="{s.get("closed_trades", 0)}">'
f'{rank_of[v["id"]]}์{_bear_chip_html(mp)}{_relax_chip_html(mp)}{_immediate_chip_html(mp)} {_vid_disp(vid)} '
f'{_esc(_cat_name(mp))}{tag}'
f'๐{s.get("open_positions", 0)} '
@@ -1155,29 +1155,45 @@ def _compare_panel() -> str:
f'
'
)
sortbar = (''
- ''
- ''
- ''
- '
')
+ ''
+ ''
+ ''
+ '')
+ # ๊ฐ ๋ฒํผ: ํ ๋ฒ ๋๋ฅผ ๋๋ง๋ค ์ค๋ฆ/๋ด๋ฆผ ํ ๊ธ. ๊ธฐ๋ณธ ๋ฐฉํฅ โ ์์ต/๋ณด์ /๊ฑฐ๋=๋ด๋ฆผ(desc), ํ๊ฐ(๋ฐฑํ
์คํธ์์)=์ค๋ฆ(asc)
sort_js = """
"""
fav_js = ("""