Files
2026-05-23 15:11:48 +09:00

1134 lines
45 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GoldenChart 사용자 매뉴얼
> 버전: 2026-05-21 기준
> 스택: Spring Boot + Ta4j (백엔드) · React + TypeScript + lightweight-charts (프론트엔드)
---
## 목차
1. [앱 개요 및 시작](#1-앱-개요-및-시작)
2. [상단 메뉴바](#2-상단-메뉴바)
3. [실시간 차트 화면](#3-실시간-차트-화면)
- 3.1 [상단 툴바](#31-상단-툴바)
- 3.2 [드로잉 툴바 (좌측)](#32-드로잉-툴바-좌측)
- 3.3 [차트 본체 및 지표](#33-차트-본체-및-지표)
- 3.4 [멀티 차트 레이아웃](#34-멀티-차트-레이아웃)
- 3.5 [좌측 마켓 패널](#35-좌측-마켓-패널)
- 3.6 [우측 패널](#36-우측-패널)
- 3.7 [백테스팅 (차트 내)](#37-백테스팅-차트-내)
- 3.8 [실시간 전략 체크](#38-실시간-전략-체크)
- 3.9 [매매 알림 팝업](#39-매매-알림-팝업)
- 3.10 [기타 플로팅 패널](#310-기타-플로팅-패널)
- 3.11 [화면 내 설정·모달](#311-화면-내-설정모달)
4. [투자전략 화면](#4-투자전략-화면)
- 4.1 [화면 내 설정](#41-화면-내-설정)
5. [백테스팅 이력 화면](#5-백테스팅-이력-화면)
6. [설정 화면](#6-설정-화면)
- 6.0 [설정 화면 개요 및 저장 범위](#60-설정-화면-개요-및-저장-범위)
- 6.1 [일반 설정](#61-일반-설정)
- 6.2 [차트 설정](#62-차트-설정)
- 6.3 [백테스팅 설정](#63-백테스팅-설정)
- 6.4 [전략 설정](#64-전략-설정)
- 6.5 [알림 설정](#65-알림-설정)
- 6.6 [네트워크 설정](#66-네트워크-설정)
7. [드로잉 툴 상세 사용법](#7-드로잉-툴-상세-사용법)
8. [키보드 단축키 모음](#8-키보드-단축키-모음)
9. [미구현 기능 안내](#9-미구현-기능-안내)
---
## 1. 앱 개요 및 시작
GoldenChart는 업비트 암호화폐 거래소의 실시간 시세를 기반으로 차트 분석·투자전략 수립·백테스팅을 지원하는 웹 기반 트레이딩 도구입니다.
### 지원 데이터 소스
| 구분 | 방식 | 설명 |
|------|------|------|
| **업비트 마켓** | REST (초기 300봉) + WebSocket (실시간 틱) | KRW·BTC 마켓 |
| **기타 심볼** | 시뮬레이션 데이터 | 테스트용 |
### 초기 화면
앱 진입 시 **실시간 차트** 화면이 기본으로 표시됩니다. 상단 메뉴에서 다른 화면으로 전환할 수 있습니다.
---
## 2. 상단 메뉴바
화면 최상단에 항상 표시되는 글로벌 내비게이션 바입니다.
| 메뉴 항목 | 기능 |
|-----------|------|
| **GoldenChart** (로고) | 홈(실시간 차트)으로 이동 |
| **대시보드** | 미구현 (메뉴만 존재) |
| **실시간차트** | 실시간 차트 화면으로 이동 |
| **투자전략** | 투자전략 빌더 화면으로 이동 |
| **백테스팅** | 백테스팅 이력 대시보드로 이동 |
| **설정** | 설정 화면으로 이동 |
| **테마 토글** (☀/🌙) | 다크 → 블루 → 라이트 테마 순환, DB에 자동 저장 |
| **로그인** | UI 버튼만 구현 (실제 인증 미연동) |
---
## 3. 실시간 차트 화면
앱의 핵심 화면으로, 차트·지표·드로잉·백테스팅·실시간 전략 기능을 모두 포함합니다.
---
### 3.1 상단 툴바
#### 좌측 컨트롤
| 버튼 | 기능 |
|------|------|
| **종목 검색** | 업비트 마켓 코드 검색 및 선택 (예: KRW-BTC) |
| **워치리스트** | 관심종목 패널 펼치기/접기 |
| **타임프레임** | `1m / 3m / 5m / 15m / 30m / 1h / 4h / 1D / 1W / 1M` 선택 |
| **차트 유형** | 캔들스틱 / 바 / 라인 / 영역 / 기준선 |
| **지표 추가 (Ind)** | 지표 선택 패널 열기 → 카테고리 탐색 또는 검색 후 클릭으로 추가 |
| **Undo / Redo** | 드로잉 되돌리기 / 다시 실행 |
| **자석 모드** | 크로스헤어 스냅 ON/OFF — ON 시 OHLCV 값에 자동 흡착 |
| **드로잉 전체 삭제** | 차트 위 모든 드로잉 오브젝트 제거 |
| **통계 패널** | 가격 통계 플로팅 창 열기 |
| **자동 피보나치** | 고점·저점 자동 피보나치 라인 표시 토글 |
| **그리드** | 차트 격자 표시 토글 |
#### 차트 모드 전환
| 버튼 | 기능 |
|------|------|
| **차트뷰** | 기본 분석 모드 — 드로잉 툴 비활성, 스크롤/줌 최적화 |
| **트레이딩뷰** | 드로잉 모드 — 좌측 드로잉 툴바 활성화 |
#### 백테스팅 버튼 그룹
> ⚠️ 싱글 차트 레이아웃 + 실시간 차트 페이지에서만 사용 가능합니다.
| 버튼 | 기능 |
|------|------|
| **백테스팅** | 전략 드롭다운 열기 — 전략 이름과 **실행** 버튼 목록 표시 |
| **설정** (⚙) | 백테스팅 옵션 설정 모달 열기 |
| **결과** (📊) | 마지막 백테스트 결과 대시보드 팝업 |
| **마커 삭제** (🗑) | 차트에 표시된 매수/매도 마커 모두 제거 |
> - **전략 실행**: 드롭다운에서 전략 우측 **실행** 버튼 클릭 → 현재 차트 캔들 데이터와 함께 백엔드로 전송 → 결과 마커 표시
> - **결과 자동 팝업**: 설정 → 백테스팅에서 ON 시 실행 후 결과 팝업이 자동 열림
#### 실시간 전략 체크 버튼
| 버튼 | 기능 |
|------|------|
| **LiveStrategy** (⚡) | 실시간 전략 체크 패널 열기/닫기 |
#### 우측 컨트롤
| 버튼 | 기능 |
|------|------|
| **좌측 패널 토글** | 마켓 패널 접기/펼치기 |
| **돋보기** | 차트 돋보기(확대경) 오버레이 팝업 |
| **레이아웃 (⊞)** | 멀티 차트 레이아웃 선택 및 동기화 설정 |
| **맞춤 (F)** | 차트 전체 데이터 범위에 맞게 뷰 조정 |
| **실시간 스크롤** | 최신 캔들로 자동 따라가기 ON/OFF |
| **가격 알림** (🔔) | 가격 알림 추가·관리 |
| **스크린샷** | 차트 영역 이미지 저장 |
| **전체화면** | 브라우저 전체화면 전환 |
---
### 3.2 드로잉 툴바 (좌측)
> **트레이딩뷰 모드**에서만 활성화됩니다.
툴바는 그룹별로 구성되며, 각 그룹 아이콘을 **호버**하면 하위 툴 플라이아웃이 펼쳐집니다.
#### 드로잉 공통 조작
| 조작 | 설명 |
|------|------|
| **클릭** | 앵커 포인트 배치 |
| **더블클릭 / Enter** | 드로잉 완료 확정 (다중 점 툴) |
| **Escape** | 현재 드로잉 취소 |
| **클릭 후 드래그** | 완성된 드로잉 이동 |
| **앵커 포인트 드래그** | 형태 조절 |
| **우클릭** | 설정·삭제 컨텍스트 메뉴 |
#### 그룹 목록 및 하위 툴
| 그룹 | 주요 하위 툴 |
|------|-------------|
| **커서** | 선택/이동 (기본 탐색 모드) |
| **라인** | 추세선, 확장선(Ray), 화살표, 수평선, 수직선, 수평 채널, 오름/내림 채널, 선형 회귀, 예측 조정 |
| **피보나치** | 되돌림, 확장, 채널, 타임존, 피치포크(중간·수정·쉬프), 갠 박스, 갠 팬 |
| **패턴** | XABCD, 헤드앤숄더, 엘리엇 파동(ABC/WXYXZ), 사이퍼, 사이클 삼각형 |
| **프로젝션** | 롱/숏 포지션, 예측, 앵커드 VWAP, 고정 볼륨 프로파일, 바 패턴, 지그재그, 고스트 피드 |
| **도형** | 사각형, 회전 사각형, 원, 타원, 삼각형, 평행사변형, 다각형, 호 |
| **브러시** | 자유 붓, 하이라이터, 방향 화살표(위/아래) |
| **텍스트 & 노트** | 텍스트, 노트(핀), 가격 노트, 콜아웃(말풍선), 고정 텍스트, 가격 라벨 |
| **측정** | 날짜·가격 범위, 데이터 창 |
| **확대/축소** | 돋보기(확대 뷰) |
#### 하단 고정 버튼
| 버튼 | 기능 |
|------|------|
| **자석** | 크로스헤어 스냅 강도 (끄기 / 약 / 강 / 지표 스냅) |
| **잠금** | 완성된 드로잉 이동 불가 고정 |
| **눈 (가시성)** | 드로잉 숨김 / 지표 숨김 / 전체 숨김 토글 |
| **되돌리기** | 마지막 드로잉 작업 취소 (Ctrl+Z) |
| **삭제** | 드로잉 삭제 / 지표 삭제 / 전체 삭제 |
| **레이어** | 오브젝트 트리 팝업 열기 (드로잉 목록 관리) |
---
### 3.3 차트 본체 및 지표
#### 기본 차트 조작
| 조작 | 설명 |
|------|------|
| **스크롤 좌우** | 시간축 이동 (왼쪽: 과거 데이터 자동 추가 로드) |
| **마우스 휠** | 줌인/줌아웃 |
| **오른쪽 드래그** | 가격축 스케일 조절 |
| **F 키** | 데이터 전체 맞춤 |
| **L 키** | 로그 스케일 전환 |
#### 무한 스크롤 (과거 데이터)
차트를 왼쪽으로 스크롤하여 맨 첫 번째 캔들에 도달하면 자동으로 과거 데이터를 요청합니다.
- 인메모리(최근 300봉) 범위 → 즉시 반환
- 인메모리 초과 → 업비트 REST API 프록시 조회
#### 지표 추가 방법
1. 상단 툴바 **Ind** 버튼 클릭
2. 카테고리 탐색 또는 검색창에 지표 이름 입력
3. 원하는 지표 클릭 → 차트에 즉시 추가
#### 지표 설정
| 방법 | 설명 |
|------|------|
| **pane 호버 → 설정 아이콘** | 지표 파라미터·색상·선 스타일 설정 |
| **지표 pane 우클릭** | 설정·숨김·삭제 메뉴 |
| **더블클릭 (지표 pane)** | 설정 모달 바로 열기 |
#### 지표 설정 항목
- **기간**: 이동평균 기간, 오실레이터 기간 등
- **색상**: 선 색상, 히스토그램 색상
- **선 스타일**: 실선, 점선, 대시
- **선 굵기**: 1~4px
- **과열선 / 중앙선 / 침체선**: 기준값·색상·스타일·굵기 개별 설정
> 지표 설정은 DB에 저장되어 앱 재실행 시에도 유지됩니다.
#### 지원 지표 카테고리 (126개+)
| 카테고리 | 대표 지표 |
|----------|-----------|
| **이동평균** | SMA(5/8/20/60/120), EMA(12/26), WMA, DEMA, TEMA, HMA, VWMA 등 |
| **오실레이터** | RSI, CCI, Stochastic, MACD, MFI, CMO, Williams %R, DPO, Aroon 등 |
| **추세** | ADX, DMI, Parabolic SAR, 일목균형표, TRIX 등 |
| **변동성** | 볼린저 밴드, ATR, 켈트너 채널, Donchian 채널, Mass Index 등 |
| **거래량** | OBV, Volume Oscillator, VWAP, Force Index, Chaikin MF 등 |
| **캔들 패턴** | 도지, 해머, 역망치, 봉선, 십자성, 삼병 등 44종 |
#### 차트 범례 (Legend)
크로스헤어를 차트 위에 올리면 각 pane에 현재 바의 값이 표시됩니다.
- **메인 pane**: 날짜·시간, O/H/L/C, 거래량, 등락률
- **지표 pane**: 지표명, 계산된 값
---
### 3.4 멀티 차트 레이아웃
상단 툴바 우측 **레이아웃(⊞)** 버튼에서 분할 방식을 선택합니다.
| 레이아웃 | 설명 |
|----------|------|
| **1분할** | 단일 차트 (기본) |
| **2분할 (가로/세로)** | 좌우 또는 상하 2개 |
| **3~8분할** | 다양한 그리드 구성 |
#### 슬롯 관리
- 분할된 각 차트 슬롯을 **클릭하여 활성화** (파란 테두리 표시)
- 활성 슬롯에서 종목·타임프레임·지표 변경 가능
- 슬롯 **전체보기 버튼**: 해당 슬롯을 싱글 화면으로 확대
#### 동기화 옵션
| 옵션 | 설명 |
|------|------|
| **심볼 동기화** | 모든 슬롯이 같은 종목을 표시 |
| **인터벌 동기화** | 모든 슬롯이 같은 타임프레임 유지 |
| **크로스헤어 동기화** | 한 슬롯의 크로스헤어가 모든 슬롯에 연동 |
| **시간축 동기화** | 모든 슬롯의 시간 범위 동기화 |
---
### 3.5 좌측 마켓 패널
종목 목록과 실시간 호가를 표시합니다.
#### 마켓 탭
| 탭 | 표시 내용 |
|----|-----------|
| **원화 (KRW)** | KRW 마켓 전체 종목, 현재가·등락률·거래량 |
| **BTC** | BTC 마켓 (USD 환산 가격 포함) |
| **보유** | localStorage에 저장된 보유 종목 |
| **관심** | 즐겨찾기(★) 등록 종목 |
- **종목 클릭**: 활성 슬롯의 심볼 변경
- **★ 버튼**: 관심종목 등록/해제 (DB 동기화)
- **가격 플래시**: 가격 변동 시 녹색(상승)/빨강(하락) 배경 깜빡임
#### 호가창 (OrderbookPanel)
패널 하단에 실시간 업비트 WebSocket 호가 데이터 표시.
| 영역 | 내용 |
|------|------|
| **매도 호가** | 가격(빨강), 잔량 바 |
| **현재가** | 중앙 강조 표시 |
| **매수 호가** | 가격(파랑), 잔량 바 |
| **스프레드** | 최우선 매도/매수 가격 차이 |
---
### 3.6 우측 패널
우측 접기/펼치기 버튼으로 개폐합니다.
| 탭 | 상태 |
|----|------|
| **알림** | UI 구조만 구현 (기능 미구현) |
| **매수** | UI 구조만 구현 (실제 주문 미연동) |
| **매도** | UI 구조만 구현 (실제 주문 미연동) |
---
### 3.7 백테스팅 (차트 내)
투자전략 빌더에서 만든 전략을 현재 차트 데이터로 즉시 테스트합니다.
#### 실행 방법
1. 상단 툴바 **백테스팅** 버튼 클릭 → 전략 드롭다운 표시
2. 원하는 전략 우측 **실행** 버튼 클릭
3. 차트에 매수(▲ 초록), 매도(▼ 빨강) 마커 표시
4. 결과 뱃지(시그널 수·승률·수익·MDD)가 상단에 표시
#### 결과 확인
| 방법 | 설명 |
|------|------|
| **상단 뱃지** | 간략 결과 (거래 수, 승률, 총 수익률, MDD) |
| **결과 버튼(📊)** | 상세 대시보드 팝업 (종합 지표·거래 이력·차트) |
| **백테스팅 이력 메뉴** | 과거 실행 결과 이력 대시보드 |
#### 상세 결과 지표
| 지표 | 설명 |
|------|------|
| 총 거래 수 | 전체 매수·매도 쌍의 수 |
| 승률 | 수익 발생 거래 비율 |
| 총 수익률 | 초기 자본 대비 최종 수익 |
| 최대 낙폭 (MDD) | 고점 대비 최대 손실 |
| 평균 수익/손실 | 수익/손실 거래의 평균 |
| Profit Factor | 총 이익 / 총 손실 |
| Sharpe Ratio | 위험 조정 수익률 |
| 보유 기간 | 평균 포지션 유지 봉 수 |
#### 마커 표시 옵션
- **매수 마커**: "매수" 한글 표시 (설정에서 금액 추가 표시 ON 시: "매수 : 1,000,000")
- **매도 마커**: "매도" 한글 표시
- **마커 삭제**: 툴바 🗑 버튼으로 전체 제거
---
### 3.8 실시간 전략 체크
선택한 전략 조건을 실시간으로 모니터링하여 매수/매도 시그널을 차트에 표시합니다.
#### 패널 열기
상단 툴바 **⚡** 버튼 클릭 → `LiveStrategyPanel` 팝업 표시
#### 설정 항목
| 항목 | 설명 |
|------|------|
| **실시간 체크 ON/OFF** | 토글 — ON 시 STOMP WebSocket 구독 시작 |
| **전략 선택** | 드롭다운에서 모니터링할 전략 선택 |
| **체크 방식** | **봉 마감 (CANDLE_CLOSE)**: 캔들 확정 시 판정 / **실시간 틱 (REALTIME_TICK)**: 3초 주기 판정 |
| **시그널 모드** | **보유 자산 기준 (LONG_ONLY)**: 매수 이력 있을 때만 매도 허용 / **순수 지표 기준 (SIGNAL_ONLY)**: 포지션 무관, 지표 충족 시 즉시 매도 |
#### 마커 특징
- **중복 방지**: 동일 타임스탬프에 마커 무한 생성 방지 (Lock 메커니즘)
- **REALTIME_TICK**: 같은 봉 내 동일 시그널 중복 표시 안 함
#### LONG_ONLY vs SIGNAL_ONLY
| 모드 | 매수 조건 | 매도 조건 |
|------|-----------|-----------|
| **LONG_ONLY** | 진입 규칙 충족 + 포지션 없을 때 | 청산 규칙 충족 + 포지션 있을 때 |
| **SIGNAL_ONLY** | 진입 규칙 충족 (포지션 무관) | 청산 규칙 충족 (포지션 무관) |
> SIGNAL_ONLY 모드에서는 매도 시그널이 이전 매수 없이도 발생하므로 더 많은 마커가 표시됩니다.
---
### 3.9 매매 알림 팝업
실시간 전략 체크에서 BUY/SELL 시그널 발생 시 화면에 팝업을 표시합니다.
#### 활성화 조건
설정화면 → 전략 설정 → **매매 알림 팝업** ON
#### 팝업 구성
| 영역 | 내용 |
|------|------|
| **헤더** | 시그널 유형(매수/매도), 종목, 시각 |
| **요약** | 가격, 전략명, 실행 방식 |
| **매수 탭** | 주문 유형(지정가/시장가/예약), 가격·수량 입력, 비율 버튼 |
| **매도 탭** | 동일 구성 |
| **간편주문 탭** | 미구현 안내 |
| **거래내역 탭** | 미구현 안내 |
> ⚠️ 주문 탭의 **주문 버튼은 실제 거래소 API와 연동되지 않습니다.** 프로토타입 UI입니다.
팝업은 화면 어디서나 **드래그하여 이동** 가능합니다.
---
### 3.10 기타 플로팅 패널
#### 오브젝트 트리
드로잉 툴바 하단 **레이어** 버튼 → 드로잉 오브젝트 목록 팝업
- 드로잉 이름 목록 표시
- 눈 아이콘으로 개별 표시/숨김
- 휴지통 아이콘으로 개별 삭제
#### 통계 패널 (StatsPanel)
상단 툴바 **통계** 버튼 → 가격 통계 플로팅 창
- 선택 기간 OHLCV 통계 표시
#### 관심종목 (WatchList)
- 즐겨찾기 등록 종목 목록
- 현재가·등락률 표시
- 클릭 시 차트 심볼 변경
- DB에 동기화
#### 가격 알림 (AlertManager)
상단 툴바 **🔔** → 알림 패널
- 특정 가격 도달 시 알림 설정
- 현재 알림 목록 관리 (추가/삭제)
- 차트에 수평선 표시
---
### 3.11 화면 내 설정·모달
실시간 차트 화면에서 **설정 화면(메뉴 → 설정)** 이 아닌, 차트 위에서 바로 열리는 설정 UI입니다.
#### 설정 열기 방법 요약
| 설정 종류 | 열기 방법 |
|-----------|-----------|
| **메인 차트(캔들) 색상** | 차트 우클릭 → 설정, 또는 메인 pane 설정 |
| **지표** | 지표 pane 호버 → ⚙ / 우클릭 → 설정 / pane 더블클릭 |
| **드로잉** | 완성된 드로잉 우클릭 → 설정 |
| **피보나치 타임존** | 피보나치 TZ 드로잉 우클릭 → 설정 |
| **백테스팅 (빠른)** | 툴바 백테스팅 ⚙ → 모달 (설정 화면과 동일 DB 연동) |
| **실시간 전략** | 툴바 ⚡ → `LiveStrategyPanel` (설정 화면 전략 탭과 DB 공유) |
| **가격 알림** | 툴바 🔔 → `AlertManager` |
| **멀티 레이아웃 동기화** | 툴바 ⊞ → 레이아웃 팝업 내 동기화 체크박스 |
---
#### 메인 차트 설정 (`MainChartSettingsModal`)
| 항목 | 설명 | 저장 |
|------|------|------|
| **몸통 (Body)** | 상승봉·하락봉 몸통 색 (좌=상승, 우=하락) | DB (`gc_app_settings.mainChartStyle`) |
| **테두리 (Borders)** | 캔들 테두리 색 | 동일 |
| **심지 (Wick)** | 꼬리(심지) 색 | 동일 |
| **기본값** | 앱 기본 캔들 색으로 복원 | — |
| **확인 / 취소** | 적용 또는 변경 취소 | — |
> 설정 화면 **차트 설정**의 색상 항목과 별도입니다. 차트 설정 탭은 현재 로컬 상태만이며, 실제 차트에 반영되는 캔들 색은 이 모달·DB 값이 우선합니다.
---
#### 지표 설정 (`IndicatorSettingsModal`)
탭: **입력값** · **스타일** · **가시성**
| 탭 | 항목 | 설명 | 저장 |
|----|------|------|------|
| **입력값** | 기간·소스 등 | 지표별 `params` (예: RSI 기간 14, 소스 close) | DB (지표별 설정) |
| **입력값** | SMA 전용 | MA1~MA8 각각 ON/OFF + 기간, 공통 소스 | DB |
| **입력값** | 일목 전용 | 전환선·기준선·선행스팬 기간 등 | DB |
| **스타일** | 플롯 | 선 색·굵기·유형(선/히스토그램/영역 등) | DB |
| **스타일** | 수평선 | **과열선·중앙선·침체선** 가격·색·선형·굵기·표시 여부 | DB |
| **스타일** | 일목 구름 | 상승/하락 구름 색·투명도 | DB |
| **가시성** | 플롯별 | 개별 선/히스토그램 표시 ON/OFF | DB |
| **기본값** | — | 지표 레지스트리 기본값으로 복원 | — |
**소스(src) 옵션**: `close`, `open`, `high`, `low`, `hl2`, `hlc3`, `ohlc4`
> 전략 빌더에서 지표를 추가할 때, **현재 차트에 적용된 지표 설정값**(기간·과열/침체선 포함)이 전략 조건의 기본값으로 복사됩니다.
---
#### 드로잉 설정 (`DrawingSettingsModal`)
| 항목 | 설명 | 비고 |
|------|------|------|
| **색상** | 프리셋 20색 + 커스텀 컬러 피커 | 모든 드로잉 공통 |
| **선 굵기** | 1~4px | text·measure 유형 제외 |
| **선 스타일** | 실선 / 파선 / 점선 | text·measure 제외 |
| **텍스트** | 표시 문구 (text 타입만) | — |
드로잉 데이터는 차트·종목·타임프레임별로 저장됩니다.
---
#### 피보나치 타임존 설정 (`FibTZSettingsModal`)
| 항목 | 설명 |
|------|------|
| **레벨 목록** | 각 피보나치 비율(%)·표시 여부·색·선형·굵기 |
| **기준선** | 0%/100% 기준선 스타일 |
| **확장** | TZ 구간 연장 옵션 |
---
#### 백테스팅 빠른 설정 (`BacktestSettingsModal`)
차트 툴바 ⚙ 로 열리는 모달입니다. **설정 화면 → 백테스팅**과 동일한 `BacktestSettingsDto`를 DB에 저장합니다. 각 필드에 **?** 도움말(상세 설명)이 붙어 있습니다.
| 구역 | 항목 | 요약 |
|------|------|------|
| 표시 | 결과 자동 팝업 | 실행 후 결과 대시보드 자동 오픈 (`AppSettings`, DB) |
| 표시 | 매수/매도 금액 표시 | 마커 문구에 금액 포함 여부 (`AppSettings`, DB) |
| 자본 | 초기 자본·거래 규모 | 시뮬레이션 자금·비율/고정금액 |
| 비용 | 수수료·슬리피지 | LINEAR/ZERO, 체결 가격 미끄럼 |
| 가격 | 진입/청산/방향 | 종가 vs 다음봉 시가, LONG/SHORT/BOTH |
| 리스크 | 손절·익절·트레일링 | Ta4j 규칙 연동 |
| 기타 | 재진입·분할청산·포지션 모드 | [6.3절](#63-백테스팅-설정) 참고 |
---
#### 실시간 전략 패널 (`LiveStrategyPanel`)
설정 화면 **전략 설정 → 실시간 전략 체크**와 **동일 DB**(`gc_live_strategy_settings`, 종목별)를 사용합니다. 한쪽에서 변경하면 다른 쪽에도 반영됩니다.
| 항목 | 설명 |
|------|------|
| 실시간 체크 | ON 시 백엔드 STOMP 구독·시그널 평가 시작 |
| 전략 선택 | 투자전략 빌더에 저장된 전략 ID |
| 실행 방식 | 봉 마감 직후 / 실시간 틱(3초) — 설정 화면의 **체크 방식**과 동일 |
| 시그널 모드 | Long-Only / Signal-Only — 설정 화면 **포지션 종속성 모드**와 동일 |
> 설정 변경 시 기존 차트 마커는 자동 초기화됩니다.
---
#### 가격 알림 (`AlertManager`)
| 항목 | 설명 | 저장 |
|------|------|------|
| **가격** | 알림을 받을 목표가 (숫자) | 세션/앱 상태 |
| **메모** | 선택 라벨 | 동일 |
| **추가** | 목록에 알림 등록, 차트 수평선 표시 | — |
| **삭제** | 항목별 ✕ | — |
설정 화면 **알림 설정**의 가격 알림 토글과는 아직 연동되지 않았습니다. 실제 알림 발송은 미구현입니다.
---
#### 멀티 차트 레이아웃 동기화
툴바 **⊞** 팝업에서 설정합니다. `AppSettings.syncOptions`에 DB 저장됩니다.
| 옵션 | 동작 |
|------|------|
| 심볼 동기화 | 모든 슬롯 종목 통일 |
| 인터벌 동기화 | 타임프레임 통일 |
| 크로스헤어 동기화 | 커서 위치 연동 |
| 시간축 동기화 | 보이는 시간 범위 연동 |
---
#### 테마
상단 메뉴바 **☀/🌙** 클릭 시 **다크 → 블루 → 라이트** 순환. `AppSettings.defaultTheme`에 DB 저장됩니다.
---
## 4. 투자전략 화면
전략 조건을 시각적으로 구성하고 DB에 저장하는 빌더 화면입니다.
### 화면 구성
```
[좌: 전략 목록] | [중: 조건 편집기] | [우: 팔레트/미리보기]
```
### 전략 목록 (좌측)
| 기능 | 설명 |
|------|------|
| **새 전략** | 빈 전략 생성 |
| **전략 선택** | 클릭 시 편집기에 로드 |
| **정렬** | 이름 / 날짜 정렬 |
| **삭제** | 체크박스로 선택 후 삭제 |
| **저장** | 편집 내용 DB 저장 |
> 전략은 DB에 저장되며, 로컬스토리지(`gc_strat_v2`) 백업도 유지됩니다.
### 조건 편집기 (중앙)
#### 논리 트리 구조
| 노드 타입 | 설명 |
|-----------|------|
| **AND** | 모든 하위 조건 동시 충족 |
| **OR** | 하위 조건 중 하나라도 충족 |
| **NOT** | 하위 조건 부정 |
| **CONDITION** | 실제 지표 비교 조건 |
#### 조건 타입
| 타입 | 설명 |
|------|------|
| 비교 (GREATER/LESS/EQUAL) | A > B, A < B, A == B |
| 상향 돌파 (CROSS_UP) | A가 B를 아래에서 위로 교차 |
| 하향 돌파 (CROSS_DOWN) | A가 B를 위에서 아래로 교차 |
| N일 유지 | 조건이 N봉 동안 연속 충족 |
| 기울기 (SLOPE_UP/DOWN) | 지표값이 상승/하강 추세 |
| 일목 구름 (KUMO_ABOVE/BELOW) | 가격이 구름 위/아래 |
#### 조건 편집
- **드래그앤드롭**: 조건 순서 변경
- **노드 추가**: AND/OR/NOT/CONDITION 노드 추가 버튼
- **우클릭**: 조건 삭제
- **매수/매도 탭**: 각각 별도 조건 트리 구성
### 컴포넌트 팔레트 (우측)
| 탭 | 내용 |
|----|------|
| **지표 팔레트** | 사용 가능한 지표 목록, 클릭 또는 드래그로 편집기에 추가 |
| **전략 목록** | 저장된 전략 목록 |
| **템플릿** | 골든크로스, RSI 과매도 등 자동 생성 템플릿 |
| **미리보기** | 구성한 조건의 수식 텍스트 미리보기 |
### 지표 파라미터
전략에서 지표를 추가하면 **현재 차트 지표 설정값**이 기본값으로 적용됩니다.
- 예: 차트 CCI 기간이 15이면 전략 CCI 기간도 15로 초기화
- **과열선/중앙선/침체선** 설정값도 반영
---
### 4.1 화면 내 설정
투자전략 화면 자체에는 별도의 “환경설정” 메뉴가 없습니다. 대신 아래 항목이 **전략 데이터·차트 설정과 연동**됩니다.
| 기능 | 설정·연동 내용 | 저장 위치 |
|------|----------------|-----------|
| **지표 파라미터** | 조건 노드에 붙은 지표는 차트 지표 설정(DB)을 초기값으로 사용 | `gc_indicator_settings` |
| **전략 저장** | 매수/매도 조건 트리, 이름 | DB + `localStorage` 백업 |
| **템플릿 적용** | 골든크로스·RSI 등 프리셋 조건 일괄 생성 | — (저장 전까지 메모리) |
| **정렬** | 이름/날짜 — UI만, 데이터 변경 없음 | — |
백테스팅·실시간 체크에 쓰이는 **포지션 모드·수수료·체크 방식** 등은 [6.3](#63-백테스팅-설정)·[6.4](#64-전략-설정)에서 설정합니다.
---
## 5. 백테스팅 이력 화면
상단 메뉴 **백테스팅** 클릭 → 백테스팅 실행 이력 대시보드
### 화면 구성
```
[좌: 이력 목록] | [우: 선택된 결과 대시보드]
```
### 이력 목록 (좌측)
| 기능 | 설명 |
|------|------|
| **목록 표시** | 실행 일시, 전략명, 종목, 시그널 수, 승률 |
| **체크박스** | 다중 선택 |
| **삭제** | 선택 항목 삭제 |
| **전체 삭제** | 전체 이력 삭제 |
| **새로고침** | 목록 갱신 |
### 결과 대시보드 (우측)
이력 목록에서 항목 클릭 시 오른쪽에 상세 결과가 카드 형태로 표시됩니다.
| 카드 | 표시 내용 |
|------|-----------|
| **기본 정보** | 전략명, 종목, 실행 시각, 기간 |
| **핵심 지표** | 총 거래 수, 승률, 총 수익률 |
| **손익 분석** | 평균 수익, 평균 손실, Profit Factor |
| **리스크 지표** | MDD, Sharpe Ratio, Calmar Ratio |
| **거래 통계** | 최대 연속 이익/손실, 평균 보유 기간 |
---
## 6. 설정 화면
상단 메뉴 **설정** 클릭 → macOS 스타일 2열 레이아웃 (**좌: 카테고리** / **우: 설정 패널**).
| 카테고리 | 주요 내용 |
|----------|-----------|
| 일반 설정 | 언어·시작 화면·UI 동작 |
| 차트 설정 | 캔들 색·격자·자석·가격축 |
| 백테스팅 | 시뮬레이션 자본·비용·리스크·포지션 모드 |
| 전략 설정 | 실시간 체크·알림 팝업·리스크·백테스트 기본값(UI) |
| 알림 설정 | 알림 채널·조건 (미연동) |
| 네트워크 | API·WebSocket·연결 테스트 |
---
### 6.0 설정 화면 개요 및 저장 범위
설정값이 **어디에 저장되는지**에 따라 앱을 재시작해도 유지되는 항목이 달라집니다.
| 저장 위치 | 적용 항목 | 재시작 후 |
|-----------|-----------|-----------|
| **DB** (`gc_app_settings`) | 테마, 백테스트 팝업/마커 표시, 매매 알림 팝업, 멀티차트 동기화, 메인 차트 스타일 | 유지 |
| **DB** (`gc_backtest_settings`) | 백테스팅 시뮬레이션 전 항목 | 유지 |
| **DB** (`gc_live_strategy_settings`, 종목별) | 실시간 체크·전략·체크 방식·포지션 모드 | 유지 |
| **DB** (지표별) | 지표 입력값·스타일 | 유지 |
| **컴포넌트 상태만** (일반·차트·알림·네트워크 탭 대부분) | 언어, 차트 색(설정 탭), 알림 토글 등 | **초기화** |
| **localStorage** | 전략 백업, deviceId, 일부 앱 상태 | 유지 |
변경 시 **자동 저장**되는 패널: 백테스팅(저장 중/✓ 저장됨 표시), 실시간 전략(토글·선택 즉시 API 호출).
---
### 6.1 일반 설정
> ⚠️ 이 탭의 값은 **React 컴포넌트 내부 상태**만 갱신합니다. DB·localStorage에 저장되지 않아 **페이지 새로고침 시 초기값으로 돌아갑니다.**
#### 언어 및 지역
| 항목 | UI 컨트롤 | 선택값 | 상세 설명 |
|------|-----------|--------|-----------|
| **언어** | 드롭다운 | 한국어 / English / 日本語 | UI 문자열 언어(현재 다국어 리소스 연동은 제한적). |
| **날짜 형식** | 드롭다운 | `YYYY-MM-DD`, `DD/MM/YYYY`, `MM/DD/YYYY` | 차트 축·팝업 등 날짜 표기 형식. |
| **시간대** | 드롭다운 | `Asia/Seoul`, `UTC`, `America/New_York` | 차트 시간·알림 기준 시간대. |
#### 시작 화면
| 항목 | 선택값 | 상세 설명 |
|------|--------|-----------|
| **시작 페이지** | 대시보드 / 실시간 차트 / 투자 전략 / 백테스팅 | 앱 최초 진입 시 열릴 화면(라우팅 연동 미완 — UI만). |
#### UI 동작
| 항목 | 컨트롤 | 상세 설명 |
|------|--------|-----------|
| **애니메이션** | 토글 | 화면 전환·차트 업데이트 애니메이션 사용 여부. |
| **툴팁 표시** | 토글 | 버튼·지표에 마우스 오버 시 설명 툴팁 표시. |
---
### 6.2 차트 설정
> ⚠️ 캔들 **색상**은 이 탭보다 [3.11 메인 차트 설정 모달](#메인-차트-설정-mainchartsettingsmodal)(DB 저장)이 실제 차트에 반영됩니다.
> **자석 모드**만 앱 전역(`magnetMode`)과 연동되어 즉시 적용됩니다.
#### 캔들 색상
| 항목 | 컨트롤 | 기본값 예 | 상세 설명 |
|------|--------|-----------|-----------|
| **상승 캔들 색상** | 컬러 피커 + HEX | `#26a69a` | 양봉 몸통 색(설정 탭 — 로컬만). |
| **하락 캔들 색상** | 컬러 피커 | `#ef5350` | 음봉 몸통 색. |
| **배경 색상** | 컬러 피커 | `#131722` | 차트 plot 배경. |
#### 차트 표시 옵션
| 항목 | 컨트롤 | 상세 설명 |
|------|--------|-----------|
| **격자선 표시** | 토글 | 수평·수직 격자선 ON/OFF. 툴바 **그리드** 버튼과 유사 목적. |
| **거래량 표시** | 토글 | 하단 volume pane 표시. |
| **크로스헤어 모드** | 드롭다운: 기본 / 마그넷 / 숨기기 | 십자선 표시 방식. |
| **자석모드 (Magnet Mode)** | 토글 | ON → `strong`, OFF → `off`. 십자선이 OHLC에 스냅되어 드로잉·분석 정밀도 향상. 드로잉 툴바 하단 자석(끄기/약/강/지표)과 별도 — 여기는 단순 ON/OFF. |
#### 가격축
| 항목 | 선택값 | 상세 설명 |
|------|--------|-----------|
| **가격축 위치** | 우측 / 좌측 / 양쪽 | 가격 눈금자 배치. |
| **소수점 자리수** | 0 / 2 / 4 / 8자리 | Y축·범례 가격 소수 표시. BTC 등 고가·저가 코인에 8자리 유용. |
---
### 6.3 백테스팅 설정
**DB (`gc_backtest_settings`)에 자동 저장**됩니다. 차트 툴바에서 백테스팅 **실행** 시 이 설정이 백엔드 `BacktestingService`에 전달됩니다. 차트 ⚙ 모달과 **동일 데이터**입니다.
**시스템 기본값** (초기화 시):
| 항목 | 기본값 |
|------|--------|
| 초기 자본 | 10,000,000원 |
| 수수료 | LINEAR 0.15% (0.0015) |
| 슬리피지 | 0.05% (0.0005) |
| 진입/청산 가격 | 종가(CLOSE) |
| 포지션 방향 | LONG |
| 거래 규모 | 자본 100% |
| 포지션 모드 | LONG_ONLY |
---
#### 표시 설정
| 항목 | 저장 | 상세 설명 |
|------|------|-----------|
| **결과 팝업 자동 표시** | `AppSettings.btAutoPopup` (DB) | ON: 실행 완료 후 결과 대시보드 자동 오픈. OFF: 툴바 **결과(📊)** 수동 클릭. |
| **매수/매도 금액 표시** | `AppSettings.btShowPrice` (DB) | ON: 마커 `"매수 : 1,234,000"` 형식. OFF: `"매수"` / `"매도"`만. |
---
#### 자본 · 거래 규모
| 항목 | 입력 범위 | 상세 설명 |
|------|-----------|-----------|
| **초기 자본 (원)** | 최소 100,000, step 1,000,000 | 시뮬레이션 시작 자금. 총 수익률·최종 자산 계산 기준. |
| **거래 규모 유형** | `CAPITAL_PCT` / `FIXED_AMOUNT` | 비율: 복리 반영. 고정: 매 거래 동일 원화. |
| **사용 자본 비율 (%)** | 1~100 (비율 모드) | 예: 50 → 가용 자본의 절반만 매수에 사용. |
| **거래당 금액 (원)** | (고정 모드) | 예: 1,000,000 → 매 신호마다 100만원 규모 체결 가정. |
---
#### 비용 모델
| 항목 | 상세 설명 |
|------|-----------|
| **수수료 유형 `LINEAR`** | 체결금액 × 수수료율. 매수·매도 각 1회 차감. |
| **수수료 유형 `ZERO`** | 수수료 없음. 순수 전략 성과만 비교할 때. |
| **수수료율 (%)** | UI는 % 입력, 내부는 소수 저장. 업비트 현물 약 **0.05%** 권장. |
| **슬리피지 (%)** | 매수는 더 비싸게, 매도는 더 싸게 체결되는 가정. 변동성·유동성 반영용. |
---
#### 거래 가격 기준
| 항목 | 옵션 | 상세 설명 |
|------|------|-----------|
| **진입 가격 기준** | CLOSE / NEXT_OPEN | CLOSE: 신호 봉 종가 즉시 진입(단순, look-ahead 논란 가능). NEXT_OPEN: 다음 봉 시가 — 실매매에 가깝게. |
| **청산 가격 기준** | CLOSE / NEXT_OPEN | 매도 신호 시 청산 가격 동일 논리. |
| **포지션 방향** | LONG / SHORT / BOTH | LONG: 매수→매도. SHORT: 공매도 시뮬. BOTH: 신호에 따라 양방향. |
---
#### 리스크 관리 (Ta4j 규칙)
전략 매도 조건보다 **먼저** 손절·익절·트레일링이 발동하면 해당 규칙으로 청산됩니다.
| 항목 | 활성화 시 | 상세 설명 |
|------|-----------|-----------|
| **손절 활성화 + 손절 비율 (%)** | StopLossRule | 진입가 대비 N% 하락 시 강제 청산. 예: 2% → 100만원 매수 후 98만원 이하. |
| **익절 활성화 + 익절 비율 (%)** | StopGainRule | 진입가 대비 N% 상승 시 이익 실현. |
| **트레일링 스탑 + 비율 (%)** | TrailingStop | 보유 중 **최고가** 대비 N% 하락 시 청산. 추세 추종형 손절. |
---
#### 재진입 · 분할 청산
| 항목 | 상세 설명 |
|------|-----------|
| **재진입 대기 봉 수** | 매도 후 N봉 동안 신규 매수 금지. 0 = 즉시 재진입 허용. |
| **최대 동시 포지션** | 동시 보유 포지션 상한(현재 엔진은 단일 포지션 중심). |
| **분할 청산 활성화** | 첫 매도 신호에 포지션 일부만 청산. |
| **1차 청산 비율 (%)** | 분할 청산 시 첫 번에 팔 비율(기본 50%). |
---
#### 포지션 종속성 모드 (백테스팅)
가로 2열 카드 라디오로 선택합니다.
| 모드 | 매수 시그널 | 매도 시그널 | 권장 용도 |
|------|-------------|-------------|-----------|
| **보유 자산 기준 (Long-Only)** | 진입 규칙 + 포지션 없음 | 청산 규칙 + **포지션 있음** | 실제 롱 포지션 추적, 수익률·승률 해석 |
| **순수 지표 기준 (Signal-Only)** | 진입 규칙 (포지션 무관) | 청산 규칙 (포지션 무관) | 지표 신호 전부 차트에 표시, 알림·분석용 |
Signal-Only 선택 시 경고 문구: *「매도 시그널이 이전 매수 없이도 발생합니다」*
> 백테스팅·실시간 체크·`StrategySignalDeterminer`가 동일 개념을 공유합니다. 자세한 동작은 `백테스팅 시그널 동작방식.md` 참고.
---
### 6.4 전략 설정
실시간 체크·알림 팝업은 **DB 저장**. 리스크 관리·백테스팅 기본값 카드는 **UI만**(백테스팅 탭 DB 설정과 아직 미연동).
---
#### 실시간 전략 체크 (`gc_live_strategy_settings`, **종목별**)
| 항목 | 컨트롤 | 상세 설명 |
|------|--------|-----------|
| **실시간 체크** | 토글 | ON: 백엔드가 선택 전략을 지속 평가, STOMP로 BUY/SELL 푸시, 차트 마커 표시. OFF: 평가 중단. 변경 시 **기존 마커 삭제**. |
| **모니터링 종목** | 읽기 전용 텍스트 | 현재 실시간 차트 활성 종목(예: `KRW-BTC`). 종목 바꾸면 해당 종목 설정 레코드 로드. |
| **전략 선택** | 드롭다운 | 투자전략 빌더에 저장된 전략. 미선택 시 모니터링 대기 상태. |
| **체크 방식** | 가로 2열 라디오 | 아래 표 참고. |
| **모니터링 상태 바** | (체크 ON 시) | 선택 전략명 + 펄스 표시. |
**체크 방식**
| 값 | 라벨 | 동작 |
|----|------|------|
| `CANDLE_CLOSE` | 봉 마감 직후 | **완성된** 직전 봉 기준, 봉당 최대 1회 판정. 확정 신호에 적합. |
| `REALTIME_TICK` | 실시간 틱 (3초) | **진행 중인** 봉 포함, 약 3초마다 재판정. 같은 봉·같은 방향 중복 마커 방지. |
**포지션 종속성 모드** (실시간)
| 값 | 동작 요약 |
|----|-----------|
| `LONG_ONLY` | 매수 이력(포지션) 있을 때만 매도 마커 |
| `SIGNAL_ONLY` | 지표 청산 규칙만 충족해도 매도 마커 (매수 없이도 가능) |
> ⚡ **LiveStrategyPanel**과 설정·DB가 동일합니다. [3.11절](#실시간-전략-패널-livestrategypanel) 참고.
---
#### 매매 알림 팝업
| 항목 | 저장 | 상세 설명 |
|------|------|-----------|
| **알림 팝업** | `AppSettings.tradeAlertPopup` (DB) | ON: 실시간 체크 BUY/SELL 시 `TradeAlertModal` 자동 표시. OFF: 마커만 표시. |
팝업 내 **주문 탭**은 UI 프로토타입이며 실제 거래소 API 미연동.
---
#### 리스크 관리 (2열 카드)
> ⚠️ 입력값은 **화면 상태만** 유지. 백테스팅 DB·실시간 엔진에 아직 반영되지 않습니다.
| 항목 | 설명 |
|------|------|
| **기본 리스크 비율 (%)** | 진입 시 자본 대비 리스크 비율(계획 값). |
| **최대 동시 포지션** | 동시 보유 포지션 수 상한. |
| **트레일링 스탑** | 수익 구간에서 손절선 상향 조정 여부. |
| **재진입 허용** | 청산 후 동일 조건 재진입 허용. |
---
#### 백테스팅 기본값 (2열 카드)
> ⚠️ **백테스팅** 카테고리(6.3)의 DB 설정과 **별개** UI입니다. 현재 저장 API 없음.
| 항목 | 설명 |
|------|------|
| **수수료율 (%)** | 표시용 기본 수수료. |
| **슬리피지 (%)** | 표시용 기본 슬리피지. |
| **성과 지표 기준** | 샤프 비율 / 총 손익률 / 승률 / 최대 낙폭 — 전략 비교 기준(미연동). |
---
### 6.5 알림 설정
> ⚠️ **UI만 구현**. 토글·이메일·쿨다운 변경은 **저장되지 않으며**, 실제 소리·푸시·이메일 발송 로직 없음.
> 차트 **가격 알림(🔔)** 은 별도 패널로 동작(목록·수평선만, 발송 없음).
#### 알림 방식
| 항목 | 상세 설명 |
|------|-----------|
| **사운드 알림** | 조건 충족 시 효과음(미구현). |
| **브라우저 알림** | `Notification API` OS 푸시(미구현). |
| **이메일 알림** | ON 시 **이메일 주소** 입력 행 표시. SMTP 발송(미구현). |
#### 알림 조건
| 항목 | 상세 설명 |
|------|-----------|
| **가격 알림** | 목표가 도달 알림 허용 플래그(미연동). |
| **매매 신호 알림** | 전략 BUY/SELL 시 알림(미연동 — 팝업은 6.4 **알림 팝업** 사용). |
| **알림 재발송 대기 (초)** | 동일 조건 반복 방지 쿨다운. 0~3600. |
---
### 6.6 네트워크 설정
> ⚠️ 입력값은 **컴포넌트 상태**만. 실제 `backendApi` base URL은 빌드·환경 변수에 따르며, 이 화면 변경이 API 클라이언트에 자동 반영되지 않을 수 있습니다. **연결 테스트**만 입력 URL로 `fetch`합니다.
#### API 서버
| 항목 | 기본값 예 | 상세 설명 |
|------|-----------|-----------|
| **서버 주소** | `http://localhost:8080` | REST API 호스트(포트 포함). |
| **연결 상태** | ● 연결됨/끊김 배지 | UI 표시용(자동 갱신 제한적). |
| **연결 테스트** | 버튼 | `{서버주소}/actuator/health` GET → 성공/실패 alert. |
#### WebSocket
| 항목 | 기본값 예 | 상세 설명 |
|------|-----------|-----------|
| **WebSocket 주소** | `ws://localhost:8080/ws` | 실시간 시세·전략 시그널 STOMP 엔드포인트. |
#### 연결 설정
| 항목 | 상세 설명 |
|------|-----------|
| **연결 타임아웃 (ms)** | 응답 없을 때 요청 중단 시간. 기본 10000. |
| **재시도 횟수** | 실패 시 재시도 상한. 0~10. |
| **프록시 URL** | 비우면 직접 연결. 예: `http://proxy:8888` |
---
## 7. 드로잉 툴 상세 사용법
> 모든 드로잉 툴은 **트레이딩뷰 모드**에서만 동작합니다.
### 라인 그룹
| 툴 | 클릭 횟수 | 설명 |
|----|-----------|------|
| **추세선** | 2클릭 | 두 점을 연결하는 선, 양쪽 무한 연장 없음 |
| **확장선 (Ray)** | 2클릭 | 한 방향으로 무한 연장 |
| **화살표** | 2클릭 | 끝점에 화살촉 표시 |
| **수평선** | 1클릭 | 클릭한 가격에 수평선 |
| **수직선** | 1클릭 | 클릭한 시간에 수직선 |
| **채널 (수평/오름/내림)** | 3클릭 | 평행한 두 선으로 채널 구성 |
| **선형 회귀** | 2클릭 | 지정 구간의 최소자승 추세선 |
### 피보나치 그룹
| 툴 | 클릭 횟수 | 설명 |
|----|-----------|------|
| **피보나치 되돌림** | 2클릭 | 0%~100% 사이 피보나치 레벨 (23.6, 38.2, 50, 61.8, 78.6%) |
| **피보나치 확장** | 3클릭 | 추세 연장 목표가 레벨 |
| **피보나치 채널** | 3클릭 | 대각선 기반 피보나치 채널 |
| **피보나치 타임존** | 2클릭 | 시간축 기반 피보나치 구간 |
| **피치포크** | 3클릭 | 앤드류 피치포크 메디안 라인 |
| **갠 박스** | 2클릭 | 갠 이론 기반 사각형 격자 |
| **갠 팬** | 2클릭 | 갠 각도 팬 라인 (1×1, 1×2, 2×1 등) |
### 패턴 그룹
| 툴 | 클릭 횟수 | 설명 |
|----|-----------|------|
| **XABCD 패턴** | 5클릭 | 하모닉 XABCD 패턴 |
| **헤드앤숄더** | 7클릭 | 머리어깨 패턴 |
| **엘리엇 파동 (ABC)** | 4클릭 | 엘리엇 3파 조정 |
| **엘리엇 파동 (WXYXZ)** | 6클릭 | 엘리엇 복합 조정 |
### 프로젝션 그룹
| 툴 | 설명 |
|----|------|
| **롱 포지션** | 진입가·목표가·손절가로 수익/손실 시각화 (초록 영역/빨강 영역) |
| **숏 포지션** | 숏 방향 포지션 시각화 |
| **앵커드 VWAP** | 지정 시점부터의 거래량 가중 평균 가격 |
| **고정 볼륨 프로파일** | 지정 구간의 가격대별 거래량 분포 |
| **지그재그** | 고점·저점을 연결하는 지그재그 패턴 |
### 도형 그룹
| 툴 | 클릭 횟수 | 설명 |
|----|-----------|------|
| **사각형** | 2클릭 | 대각선 두 점으로 사각형 |
| **회전 사각형** | 3클릭 | 회전 각도 조절 가능 사각형 |
| **원** | 2클릭 | 중심점 + 반지름 원 |
| **타원** | 2클릭 | 타원 |
| **삼각형** | 3클릭 | 삼각형 |
| **평행사변형** | 3클릭 | 평행사변형 |
| **다각형** | N클릭 + 더블클릭 | 자유 다각형 |
| **호** | 3클릭 | 원호 |
### 텍스트 & 노트 그룹
| 툴 | 설명 |
|----|------|
| **텍스트** | 차트 위 자유 텍스트 |
| **노트(핀)** | 핀 아이콘 + 메모 텍스트 |
| **가격 노트** | 가격축에 연결된 노트 |
| **콜아웃** | 말풍선 형태의 주석 |
| **가격 라벨** | 특정 가격을 라벨로 표시 |
### 측정 그룹
| 툴 | 설명 |
|----|------|
| **날짜·가격 범위** | 드래그 구간의 가격 변동량·기간·비율 표시 |
| **데이터 창** | 클릭 지점의 OHLCV 데이터 팝업 표시 |
### 확대/축소 그룹
| 툴 | 설명 |
|----|------|
| **돋보기** | 차트 일부를 확대한 오버레이 팝업 표시 |
> 돋보기 팝업은 **팝업 어디서나 드래그**하여 이동할 수 있습니다.
---
## 8. 키보드 단축키 모음
| 단축키 | 기능 |
|--------|------|
| **F** | 차트 전체 맞춤 (Fit) |
| **L** | 로그 스케일 전환 |
| **Escape** | 현재 드로잉 취소 / 선택 해제 |
| **Ctrl + Z** | 드로잉 되돌리기 (Undo) |
| **Ctrl + Y** | 드로잉 다시 실행 (Redo) |
| **Delete** | 선택된 드로잉 삭제 |
| **Alt + S** | 차트 스크린샷 저장 |
| **Enter** | 다중 점 드로잉 확정 |
---
## 9. 미구현 기능 안내
현재 UI는 구성되어 있지만 기능이 완전히 구현되지 않은 항목입니다.
| 기능 | 상태 | 비고 |
|------|------|------|
| **대시보드 메뉴** | UI 없음 | 상단 메뉴에만 존재 |
| **로그인/회원가입** | 버튼만 | 실제 인증 미연동 |
| **우측 패널 알림/매수/매도** | 플레이스홀더 | 실제 거래소 API 미연동 |
| **TradeAlertModal 주문** | UI 프로토타입 | 실제 주문 API 미연동 |
| **알림 설정 (설정 화면)** | UI만 | 발송·저장 미구현 |
| **일반 설정** | 로컬 상태만 | DB 저장 미구현 |
| **차트 설정 탭(색상 등)** | 로컬 상태만 | 실제 캔들 색은 메인 차트 설정 모달·DB |
| **전략 설정 — 리스크/백테스트 기본값 카드** | UI만 | 백테스팅 DB와 미연동 |
| **네트워크 설정** | UI만 | API 클라이언트 자동 반영 제한적 |
| **멀티차트 백테스팅** | 비활성 | 싱글 레이아웃에서만 동작 |
---
> 문서 최종 업데이트: 2026-05-21
> 프로젝트: GoldenChart (`/Users/macbook/dev/goldenChart`)