4.5 KiB
4.5 KiB
[계획 문서]
- 경로:
common-docs/improvement/plans/dev-plan-2026-03-05-trade-chart-timeframes-and-history.md
[요구사항 요약]
- 차트 표시/상호작용을 개선한다. (공식 문서 기준 반영)
- 분봉 옵션에 5분/10분/15분을 추가한다.
- 1시간봉 과거 데이터가 짧게 보이는 원인을 수정한다.
[가정]
- 기존 차트 라이브러리는
lightweight-charts@5.1.0을 유지한다. - KIS 분봉 API는 당일/일별 분봉 API를 조합해 과거 데이터를 이어 붙인다.
- UI 레이아웃 전체 재설계보다 차트 영역 중심 개선을 우선한다.
[영향 범위]
- 수정:
features/trade/types/trade.types.ts - 수정:
features/trade/components/chart/stock-line-chart-meta.ts - 수정:
features/trade/components/chart/chart-utils.ts - 수정:
features/trade/components/chart/StockLineChart.tsx - 수정:
lib/kis/domestic-helpers.ts - 수정:
app/api/kis/domestic/chart/route.ts
[구현 단계]
- 1. 차트/타임프레임 타입 확장 (
1m/5m/10m/15m/30m/1h/1d/1w)- 근거:
features/trade/types/trade.types.ts
- 근거:
- 2. 분봉 버킷 계산 로직 확장 (5/10/15분 지원)
- 근거:
lib/kis/domestic-helpers.ts,features/trade/components/chart/chart-utils.ts,app/api/kis/domestic/chart/route.ts
- 근거:
- 3. 차트 초기 과거 로드량을 시간프레임별로 확장해 1시간봉 과거 구간 부족 개선
- 근거:
features/trade/components/chart/stock-line-chart-meta.ts,features/trade/components/chart/StockLineChart.tsx
- 근거:
- 4. infinite history 로딩 트리거를 공식 문서 권장 패턴(
barsInLogicalRange)으로 보강- 근거:
features/trade/components/chart/StockLineChart.tsx
- 근거:
- 5. 차트 가시성 옵션(축 여백/우측 여백/가격선) 미세 개선
- 근거:
features/trade/components/chart/StockLineChart.tsx(timeScale.rightOffset/barSpacing/minBarSpacing/rightBarStaysOnScroll)
- 근거:
[사용할 MCP/Skills]
- MCP:
tavily-remote(lightweight-charts 공식 문서 확인) - MCP:
mcp:kis-code-assistant-mcp(KIS 분봉 API 파라미터/제약 확인) - Skills:
dev-auto-pipeline,vercel-react-best-practices
[참조 문서(common-docs)]
common-docs/api-reference/openapi_all.xlsxcommon-docs/api-reference/kis_api_reference.mdcommon-docs/api-reference/kis-error-code-reference.mdcommon-docs/features/trade-stock-sync.mdcommon-docs/ui/GLOBAL_ALERT_SYSTEM.md
[리스크/회귀 포인트]
- 분봉 추가 후 기존 30분/1시간 정렬 경계가 깨질 수 있음
- 과거 로드량 증가 시 초기 로딩 시간이 늘 수 있음
- 무한 스크롤 조건 변경 시 중복 API 호출이 발생할 수 있음
[검증 계획]
- 1. 타입/빌드 검증:
npm run lint- 근거: 통과
- 2. 프로덕션 빌드 검증:
npm run build- 근거: 통과
- 3. 수동 점검: 분봉 드롭다운(1/5/10/15/30/60분) 노출 확인
- 근거: Playwriter 스냅샷에서
1분/5분/10분/15분/30분/1시간버튼 노출 확인
- 근거: Playwriter 스냅샷에서
- 4. 수동 점검: 1시간봉 진입 직후 과거 구간 확장 여부 확인
- 근거:
/api/kis/domestic/chart?timeframe=1h초기 요청 19건 확인, 최소 시각2026-02-26 09:00:00(KST)까지 로드
- 근거:
- 5. 수동 점검: 좌측 스크롤 시 과거 데이터 추가 로딩 유지 확인
- 근거: 차트 드래그 후
timeframe=1h추가 요청 5건 발생, 최소 시각2026-02-25 09:00:00(KST)로 확장
- 근거: 차트 드래그 후
[진행 로그]
- 2026-03-05: 계획 문서 생성.
- 2026-03-05:
lightweight-charts공식 문서 확인 (subscribeVisibleLogicalRangeChange,barsInLogicalRange, infinite history 데모). - 2026-03-05:
kis-code-assistant-mcp로inquire_time_itemchartprice,inquire_time_dailychartprice예제 확인 (당일/과거 분봉 API 호출 제약 확인). - 2026-03-05: 차트 타임프레임 확장(5/10/15분) + 과거 로드 로직 개선 + KIS 분봉 cursor 파싱 보강 적용.
- 2026-03-05:
npm run lint,npm run build통과. - 2026-03-05: Playwriter 실브라우저 검증 수행(
/trade), 분봉 메뉴/1시간봉 과거 로드/좌측 스크롤 추가 로드 확인. - 2026-03-05: 1시간봉 초기 과거 로드 상한 추가 상향(페이지 수 + 목표 봉 수 + 12초 예산), 재검증 시 최소 시각
2026-02-05 09:00:00(KST)까지 자동 로드 확인. - 2026-03-05: 창 확장 시 좌측 공백 보완 로직 추가(초기 fitContent 보강 + left whitespace 자동 추가 로드), 1920px 기준 재검증 시 최소 시각
2026-01-30 13:00:00(KST)까지 자동 로드 확인.