Commit Graph

529 Commits

Author SHA1 Message Date
Macbook 9d9c14c2b1 fix: 백테스팅 실행 시 인디케이터 파라미터(indicatorParams) 전달
BacktestHistoryPage와 StrategyEditorPage의 handleQuickRun에서
runBacktest 호출 시 loadIndicatorSettings()로 사용자 저장 파라미터를
불러와 indicatorParams로 함께 전송한다.

이를 통해 백엔드가 기본값(kLength=14, smooth=3) 대신 사용자 설정값
(kLength=12, smooth=5 등)으로 지표를 계산하여 차트와 동일한
스토캐스틱 교차 지점에서 정확히 시그널을 생성한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 17:45:08 +09:00
Macbook 8d019ddd26 백테스팅 SIGNAL_ONLY 수정 — 포지션 무관 전체 시그널 생성 + 기본값 적용
- BacktestingService: SIGNAL_ONLY 모드에서 inPosition 포지션 락 제거,
  entryRule/exitRule 충족 시마다 BUY/SELL 시그널 무조건 생성
- BacktestSettingsDto: positionMode 기본값 LONG_ONLY → SIGNAL_ONLY
- backendApi.ts: DEFAULT_BACKTEST_SETTINGS positionMode 기본값 변경
- BacktestSettingsModal: positionMode UI 항목(시그널 생성 방식) 최상단에 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 17:22:26 +09:00
Macbook 7b4a7e1950 시스템 상태 카드 — 눈금 레이블+블록바+신호등 동일 높이 정렬
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:48:32 +09:00
Macbook 50aed38f62 대시보드 시스템 상태 카드 — 세로 블록바+신호등 2열 레이아웃으로 재설계
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:45:08 +09:00
Macbook 75738c424f 대시보드 시스템 상태 신호등 가로 배치로 수정
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:41:18 +09:00
Macbook 14fafea739 대시보드 시스템 상태 카드에 메모리·디스크 신호등 추가
- Backend: PipelineMonitorService에 system 항목 추가 (OS 메모리, 디스크 사용률)
- Frontend: SystemMonitorDto에 system 필드 추가
- DashboardPage: 시스템/메모리/디스크 3열 신호등 레이아웃 적용
- dashboardCommand.css: gc-dash-sys-status, gc-sys-tl-item 스타일 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:37:42 +09:00
Macbook 900c743aa1 전략빌더 빠른 백테스팅 툴바에 전략 선택 드롭다운 추가
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:19:46 +09:00
Macbook 7f1c63ef87 전략빌더 상단 툴바에 빠른 백테스팅 실행 기능 추가
- StrategyEditorPage: 종목 검색(MarketSearchPanel), 타임프레임 select, 실행 버튼 UI 추가
- 백테스팅 완료 후 백테스팅 화면으로 자동 이동 (onNavigateToBacktest)
- BacktestHistoryPage: sessionStorage backtest_focus_id로 신규 결과 자동 선택
- App.tsx: StrategyEditorPage에 onNavigateToBacktest prop 전달
- strategyEditor.css: se-quick-run 툴바 스타일 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:15:30 +09:00
Macbook f23b9a2724 fix: UPBIT_MARKETS 미사용 import 제거 후 기본값 KRW-BTC 하드코딩
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:07:59 +09:00
Macbook c747f91792 백테스팅 종목 선택란을 MarketSearchPanel 한글 검색 드롭다운으로 교체
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:07:06 +09:00
Macbook b74f305654 백테스팅 화면 상단 툴바에 빠른 실행 기능 추가
- 헤더 중앙에 종목·타임프레임·전략 드롭다운 + 실행 버튼 추가
- 실행 클릭 시 /api/candles/history에서 캔들 로드 → runBacktest 호출
- 완료 후 결과 목록 자동 갱신 및 백테스팅 탭 활성화
- 실행 중 스피너 표시, 오류 시 인라인 에러 메시지 표시
- btd-header-run·btd-run-select·btd-run-btn·btd-run-spinner CSS 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 16:00:20 +09:00
Macbook 33621883dc 백엔드 재시작 후 차트 2개 봉만 표시되는 race-condition 수정
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>
2026-06-11 14:47:31 +09:00
Macbook 9f9e025598 매매탭 주문패널을 스플릿 카드 레이아웃으로 복원 (상단 매수, 하단 매도)
- TradeTabOrderPanel(탭 방식) → TradeSplitOrderPanel(카드 분리 방식)으로 전환
- VirtualTradingPage·PaperTradingPage에 '거래' 외부 탭 복원
- 거래 내역(미체결/체결/원장)을 '거래' 탭 하위로 원복

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 13:10:33 +09:00
Macbook c601293ed7 업비트 스타일 매수/매도 탭 주문 패널 적용
- TradeTabOrderPanel 신규 생성: 매수|매도|간편주문|거래내역 탭
  - 매수 탭: 빨간 하단 인디케이터, 매도 탭: 파란 하단 인디케이터
  - 간편주문: 시장가 즉시체결 (KRW 금액 입력 + % 버튼)
  - 거래내역: historySlot prop으로 외부 콘텐츠 주입
- VirtualTradingPage: 외부 '거래' 탭 제거 → 거래내역 내부 탭으로 이동
- PaperTradingPage: 미체결/체결/원장 거래내역 내부 탭으로 이동
- TradeNotificationListPage·RightSidePanel: TradeTabOrderPanel 적용
- tradeRightPanel.css: ttop-* · qop-* 스타일 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 12:25:36 +09:00
Macbook 1752ec555a 우측 매수/매도 패널 내용 표시 안되는 버그 수정
paperDashboard.css가 PaperTradingPage에만 임포트되어 있어
VirtualTradingPage·알림목록·실시간 차트·백테스팅 등에서
ptd-split-card-body의 flex:1 레이아웃이 없어 콘텐츠 높이가 0이 됨.

BuilderPageShell·ChartWorkspaceView·TradeNotificationListPage에
paperDashboard.css 임포트 추가로 전 페이지에서 정상 표시되도록 수정.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 11:05:46 +09:00
Macbook 090752f42c 백엔드 전략 조건 평가 버그 3건 수정
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>
2026-06-11 08:28:05 +09:00
Macbook b21d40333c 진단 로그 강화: 서버 전략 목록·live설정 확인
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 01:54:14 +09:00
Macbook 8a72b74d62 진단 로그 추가: loadStrategies hasRegisteredUser 체크
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 01:49:17 +09:00
Macbook 0a2925ba0f 디버그 로그 추가 (전략 로딩 진단용)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 01:45:10 +09:00
Macbook 66143e5912 서버 알림목록 오류 수정 2026-06-11 01:30:15 +09:00
Macbook 979c0da47a 서버 알림목록 로딩이슈 2026-06-11 01:13:43 +09:00
Macbook 191ad0e5f9 서버 알림목록 로딩 오류 수정 2026-06-11 01:02:55 +09:00
Macbook ff5f52a150 서버 알림목록 로딩 오류 수정 2026-06-11 00:57:13 +09:00
Macbook 040ca55070 알림목록 로딩 오류 수정 2026-06-11 00:44:34 +09:00
Macbook e9d83f2058 알림목록 오류 수정 2026-06-11 00:30:19 +09:00
Macbook 54fdc3e77a frontend 속도 개선 2026-06-11 00:14:14 +09:00
Macbook 0ff1992b64 매매 시그널 디테일 팝업 기능 적용 2026-06-10 21:13:53 +09:00
Macbook bf5554d375 분석레포트 타임라인 표시 2026-06-10 16:53:03 +09:00
Macbook 55b1c75226 알림목록 매매시그널 표시 2026-06-10 10:38:55 +09:00
Macbook 1ec22d6ea2 알림목록 obv 그래프 문제 최종수정 2026-06-10 09:57:38 +09:00
Macbook 490db298b6 수정3 2026-06-09 23:03:41 +09:00
Macbook d841e57670 수정2 2026-06-09 22:56:30 +09:00
Macbook 222c6ecca8 수정1 2026-06-09 22:46:15 +09:00
Macbook 47e287c0f6 추가수정 2026-06-09 22:40:46 +09:00
Macbook 420050dfb7 obv 수정 2026-06-09 22:30:19 +09:00
Macbook 7b4fc1f811 obv 추가수정 2026-06-09 22:18:18 +09:00
Macbook 27c60be1e9 obv 수정 2026-06-09 22:04:30 +09:00
Macbook 0a7d547ea9 그래프 수정 2026-06-09 17:04:35 +09:00
Macbook 4bd93cd037 최종수정 2026-06-09 15:33:56 +09:00
Macbook 645c54f991 최종이길 2026-06-09 15:23:52 +09:00
Macbook bc478dd51e 추가수정 2026-06-09 15:06:15 +09:00
Macbook d100a12225 obv 수정 2026-06-09 14:55:50 +09:00
Macbook a72fd84158 수정 2026-06-09 14:41:14 +09:00
Macbook a9312285c4 재수정완료 2026-06-09 14:26:00 +09:00
Macbook 10ed4ea98d 재수정 2026-06-09 14:10:03 +09:00
Macbook 35f38c0e82 추가수정 2026-06-09 14:00:13 +09:00
Macbook c98d1a188f 추가수정 2026-06-09 13:35:42 +09:00
Macbook 7928b4ef46 obv 그래프 추가수정 2026-06-09 13:20:58 +09:00
Macbook 9f601606d7 obv 수정 2026-06-09 12:09:30 +09:00
Macbook 91d52e9e26 OBV 신호선 점선 처리로 본선과 시각 구분 보장
- 진단 로그로 두 시리즈가 정상 생성됨을 확인 (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>
2026-06-09 09:00:00 +09:00