From bfb518307fe77569440a8107fec5ba20f849e18b Mon Sep 17 00:00:00 2001 From: hyowons Date: Thu, 11 Jun 2026 09:21:22 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=88=9C=EC=9E=90=EC=82=B0=20=EC=B0=A8?= =?UTF-8?q?=ED=8A=B8=20=EA=B3=A0/=EC=A0=80=EC=A0=90=20=E2=80=94=20?= =?UTF-8?q?=EC=9E=A5=EC=A4=91=EA=B0=80(=EB=A7=88=EC=A7=80=EB=A7=89=20?= =?UTF-8?q?=EC=A0=90)=EA=B0=80=20=EA=B7=B9=EA=B0=92=EC=9D=BC=20=EB=95=8C?= =?UTF-8?q?=EB=8F=84=20=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존엔 극값이 마지막 점이면 생략 → 저점이 현재값인 차트(가희 등)에서 저점 안 보임. 마지막 점 제외 조건 제거 → 장중가가 고/저점이어도 표시. 단 마지막 점이 신고가(ATH)면 신고가 링이 '고'를 대신(중복 방지). Co-Authored-By: Claude Opus 4.8 --- agents/stock/workspace/scripts/behive_web.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/agents/stock/workspace/scripts/behive_web.py b/agents/stock/workspace/scripts/behive_web.py index ba31514..af6a01f 100644 --- a/agents/stock/workspace/scripts/behive_web.py +++ b/agents/stock/workspace/scripts/behive_web.py @@ -3722,9 +3722,12 @@ def _render_net_worth_chart(series: list[tuple[str, int]], current_net: int | No svg_parts.append( f'' ) - # 전고점 dot — 그려진 라인(plot_values) 의 max 시점에 노란 마커. 마지막 포인트와 같으면 last_dot 으로 충분해 생략. + # 고/저점 dot — 장중가(마지막 점)가 극값일 때도 표시. last_dot 위에 색 점이 덮인다. peak_i = max(range(len(plot_values)), key=lambda i: plot_values[i]) - if peak_i != n - 1: + low_i = min(range(len(plot_values)), key=lambda i: plot_values[i]) + _is_ath = n >= 2 and plot_values[-1] > max(plot_values[:-1]) + # 고점 — 단, 마지막 점이 신고가(ATH)면 신고가 링/라벨이 대신하므로 '고' 생략. + if not (peak_i == n - 1 and _is_ath): peak_x, peak_y = pts[peak_i] svg_parts.append( f'' @@ -3732,9 +3735,8 @@ def _render_net_worth_chart(series: list[tuple[str, int]], current_net: int | No svg_parts.append( f'' ) - # 저점 dot — min 시점에 파란 마커 + '저' 라벨. 마지막/고점과 겹치면 생략. - low_i = min(range(len(plot_values)), key=lambda i: plot_values[i]) - if low_i != n - 1 and low_i != peak_i: + # 저점 — 고점과 다른 점일 때 (장중가가 저점이어도 표시). + if low_i != peak_i: low_x, low_y = pts[low_i] svg_parts.append( f'' @@ -3744,7 +3746,7 @@ def _render_net_worth_chart(series: list[tuple[str, int]], current_net: int | No ) # 신고가 마커 — 오늘(마지막) 그려진 값이 이전 모든 포인트를 strict 하게 초과하면 last dot 위에 금색 ring + 라벨. # per_period면 '역대 최고 기간 손익', 아니면 누적/순자산 신고가. - if n >= 2 and plot_values[-1] > max(plot_values[:-1]): + if _is_ath: svg_parts.append( f''