Commit Graph

7 Commits

Author SHA1 Message Date
hyowons 70841548bc feat: VI 배지 토스트에 종목 실제 VI 데이터 표시
VI 탭 시 그 종목의 실시간 VI 정보(적용구분·방향·발동가·발동등락률·당일
발동횟수·해제시각)를 설명과 함께 표시. window.__rtState.vi[code] 사용.
허브에 발동횟수(1490) 캡처 추가.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 11:08:27 +09:00
hyowons 7f1c52a580 feat: 자산웹 실시간(WS) NXT 통합·시세 중복 제거·연결상태 점
- realtime_hub: 0B/1h 구독을 _AL(통합/SOR)로 전환 → 정규장 KRX + NXT 시간대
  NXT 체결을 한 구독으로 수신(수신 시 거래소 접미사 제거 후 bare 저장).
  NXT 당일평가손익 실시간 갱신 미동작 근본 수정. 0B 시/고/저(16/17/18) 캡처
- behive_web: WS 연결 시 보유 가격보정 ka10095 2콜 skip(완전 중복),
  관심·감시 시세도 허브 메모리 우선 충당(OHLC·마크는 서버 렌더 유지, mark는
  exchange 필드로 판정) → 시세성 키움 호출 중복 제거
- VI 배지: 자동갱신 swap 직후 마지막 WS 상태 즉시 재적용(깜빡임 제거),
  codesOnPage가 보유행(:held)·영문 6자리 코드도 수집 → 보유종목까지 VI 표시
- 상단바 WS 연결 상태 점(초록/빨강/회색) 추가 + 탭 시 상태 토스트

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 12:26:45 +09:00
hyowons 787834f93e feat: 관심·감시 등락률 실시간 + WS 빈응답 가드
- 관심·감시 행 등락률: KRX 기준 = 0B 피드 pct와 동일 → paintPrice가 .rt-wl-daypct를 피드 pct로 갱신 (보유행 NXT기준과 분리)
- realtime_hub: recv 빈응답 5회 연속 시 재연결(이론상 tight busy-loop 차단), 타임아웃은 정상 idle로 카운터 리셋

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 15:07:19 +09:00
hyowons 15df525fb2 feat: realtime_hub 장외 대기 — 다음 영업일까지(6h 상한)
30분 고정 폴링 → 다음 영업일 07:00까지 계산해 자되 6시간 상한.
주말·휴장·연휴 정확히 건너뜀(_next_preopen_dt + _load_holidays). 휴장일 깨우기 48→4회/일.
6h 상한은 날짜계산 오류 시에도 자가교정하는 backstop. 개장 임박(07:00~08:00)은 여전히 60s.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:50:56 +09:00
hyowons 4ae10b50fc feat: realtime_hub 장외 대기 적응형(개장 임박만 촘촘히)
고정 60s 폴링 → 평일 07:00~08:00(NXT 프리마켓 08:00 임박)만 60s,
그 외 장외(밤·주말·휴장)는 30분. 밤새 무의미한 1분 폴링 제거.
30분 상한은 자가교정용(개장 오버슬립 방지). 휴장·주말은 phase!=closed 라 자동 30분.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:42:34 +09:00
hyowons b813d01cfa feat: realtime_hub 장 시간대 게이팅
장외·주말·휴장 시 키움 WS 연결 안 함(재연결 폭주·로그 노이즈 방지).
behive_web._market_phase_state() 지연 import 재사용(active=정규장·NXT만 연결).
장 마감되면 수신 루프가 연결 종료 후 대기 모드(60s 폴링), 개장 시 자동 재연결.
판정 실패 시 보수적으로 연결 유지(fail-open).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:34:48 +09:00
hyowons 925014dfd8 feat: 자산웹 실시간 시세·평가손익 (키움 WebSocket)
- realtime_hub.py: 키움 WS 허브(0B 체결가·1h VI), behive_web 데몬 스레드 + 메모리 상태
- /api/realtime/quotes 엔드포인트 (허브 메모리만, 키움 호출 0)
- 보유행 현재가·평가손익·평가금액·등락률(NXT종가 기준)·비중 실시간
- KPI 총평가금액·총평가손익·순자산·당일평가손익 실시간 (owner 탭 합계→자산정보 탭 카드 연동)
- fill_watcher 체결 시 fill_signal 기록 → 자산웹 패널 자동 새로고침(수량·예수금·당일정산)
- 감시종목 탭 자동갱신 카운트다운 활성화
- 안전: kill-switch BEHIVE_REALTIME=0, 허브 콜드/실패 시 REST 폴백, 매매 경로 무관

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:30:19 +09:00