HistoricalDataService.getHistory: 인메모리 봉이 20개 미만이면
Upbit REST 폴백을 실행하도록 변경.
이전 동작: rawBars.isEmpty() 일 때만 Upbit 폴백
→ 재시작 직후 warm-up 미완료 상태에서 2~3개 봉이 메모리에 있으면
inMemory=true로 판정 후 Upbit 폴백 없이 2~3개 봉만 반환됨
수정 동작: rawBars.size() < 20 이면 Upbit REST 재조회
→ warm-up 완료 전에도 최소 200개 봉을 반환 보장
→ 차트 2개 캔들 표시 및 OBV plot1 누락 경고 해소
Co-authored-by: Cursor <cursoragent@cursor.com>
- TradeTabOrderPanel(탭 방식) → TradeSplitOrderPanel(카드 분리 방식)으로 전환
- VirtualTradingPage·PaperTradingPage에 '거래' 외부 탭 복원
- 거래 내역(미체결/체결/원장)을 '거래' 탭 하위로 원복
Co-authored-by: Cursor <cursoragent@cursor.com>
paperDashboard.css가 PaperTradingPage에만 임포트되어 있어
VirtualTradingPage·알림목록·실시간 차트·백테스팅 등에서
ptd-split-card-body의 flex:1 레이아웃이 없어 콘텐츠 높이가 0이 됨.
BuilderPageShell·ChartWorkspaceView·TradeNotificationListPage에
paperDashboard.css 임포트 추가로 전 페이지에서 정상 표시되도록 수정.
Co-authored-by: Cursor <cursoragent@cursor.com>
1. evaluateOverallRule: 5m 전략 평가 시 1m 고정 시리즈 사용 버그 수정
- DSL에서 주 시간봉(TIMEFRAME 노드 candleType)을 추출하여 해당 시리즈 사용
- 없으면 1m 폴백 유지
2. buildConditionRule: kLength 등 지표 파라미터를 조건 노드 params에서 우선 읽도록 수정
- 조건 DSL의 params 필드가 있으면 전역 indicator settings보다 우선 적용
- 서버 DB에 indicator settings 없어도 전략 저장 당시 값 사용 가능
3. LiveConditionController: deviceId 헤더를 indicatorSettingsService에 전달
- x-device-id 헤더를 읽어 device 단위 지표 설정 조회 지원
Co-authored-by: Cursor <cursoragent@cursor.com>
- 진단 로그로 두 시리즈가 정상 생성됨을 확인 (series:2, visible:true, color:#2196F3)
- 미니차트는 800봉 누적 OBV 계산 → 마지막 200봉 구간에서 OBV와 SMA(9)가 수렴,
주황 신호선이 파란 본선을 덮어 1개 선처럼 보이는 것이 원인
- registry plot1에 lineStyle:'dashed' 추가
- normalizeSignalLineIndicatorPlots OBV 분기에서 plot0=solid, plot1=dashed 강제
Co-authored-by: Cursor <cursoragent@cursor.com>