ai 전략 기능 추가
This commit is contained in:
+396
@@ -0,0 +1,396 @@
|
||||
# 드로잉선 → 전략 조건 검토
|
||||
|
||||
실시간 차트 **드로잉 툴바**(TradingView 스타일)에 제공되는 선·채널·피보나치 등 도구 중,
|
||||
현재 구현된 **추세선 돌파(`TREND_LINE_CROSS_*`)** 와 같이 **봉마다 자동 계산 → Ta4j Rule → 실시간·전략평가 시그널**로 확장 가능한 항목을 정리한 문서입니다.
|
||||
|
||||
> **관련:** [매매전략조건.md](./매매전략조건.md) · [전략편집기 로직 및 동작흐름.md](./전략편집기%20로직%20및%20동작흐름.md)
|
||||
> **코드 기준:** `DrawingToolbar.tsx` · `DrawingToolId` · `StrategyDslToTa4jAdapter` · `TrendLineMath`
|
||||
|
||||
---
|
||||
|
||||
## 1. 현재 추세선 전략 조건 (기준 구현)
|
||||
|
||||
| 항목 | 내용 |
|
||||
|------|------|
|
||||
| DSL | `TREND_LINE_CROSS_UP` / `TREND_LINE_CROSS_DOWN` |
|
||||
| 드로잉 대응 | **추세줄**(`trendline`) · **익스텐디드 라인**(`extended_line`)과 개념적으로 동일 (2점 직선 + 연장) |
|
||||
| 계산 | fit 구간 `[i−N, i−1]` · **스윙 피벗** (상승=저점↑ / 하락=고점↓) · 시그널 봉 `i`까지 연장 |
|
||||
| 판정 | 직전 봉 ≤ 추세선 → 현재 봉 > 추세선 (상향) / 반대 (하향) |
|
||||
| 설정 | 설정 → 전략 설정 → 추세선 (모드·N·스윙 k) |
|
||||
| 파이프라인 | `StrategyDslToTa4jAdapter` → `BacktestingService` · `LiveConditionStatusService` · 전략평가 차트 |
|
||||
|
||||
**핵심 패턴:** 차트에 사용자가 그리는 **고정 좌표**가 아니라, 매 봉 `i`마다 **Indicator가 Y값(또는 시간)을 반환**하고, 기존 `CROSS_UP`/`CROSS_DOWN` Rule과 결합합니다.
|
||||
|
||||
---
|
||||
|
||||
## 2. 드로잉 툴바 선·채널 도구 목록
|
||||
|
||||
`DrawingToolbar` **라인 / 피보나치 / 채널 / 프로젝션** 그룹 기준 (측정·도형·텍스트·패턴 제외).
|
||||
|
||||
### 2.1 라인 그룹
|
||||
|
||||
| ID | UI 이름 | 점 수 | 기하 |
|
||||
|----|---------|-------|------|
|
||||
| `trendline` | 추세줄 | 2 | 2점 직선, **양방향** 연장 |
|
||||
| `ray` | 빛(레이) | 2 | 2점 직선, **우측** 연장 |
|
||||
| `extended_line` | 익스텐디드 라인 | 2 | 2점 직선, **양방향** 연장 (`trendline`과 동일 렌더) |
|
||||
| `arrow` | 화살표 추세선 | 2 | 레이 + 화살표 |
|
||||
| `trend_angle` | 추세각 | 2 | 추세선 + 각도 표시 |
|
||||
| `info_line` | 인포 라인 | 2 | 2점 + 거리·각도 라벨 |
|
||||
| `hline` | 가로줄 | 1 | **수평선** (가격 고정) |
|
||||
| `hline_ray` | 가로빛 | 1 | 앵커 시점부터 **우측** 수평 |
|
||||
| `vline` | 수직선 | 1 | **수직선** (시간 고정) |
|
||||
| `cross_line` | 크로스 라인 | 1 | 수평+수직 교차 |
|
||||
| `channel` | 추세 채널 | 3 | 기준 추세선 + 폭 |
|
||||
| `parallel_channel` | 패러렐 채널 | 2 | 평행 2선 |
|
||||
| `disjoint_channel` | 디스조인트 채널 | 4 | 비평행 2선 |
|
||||
| `flat_top_bottom` | 플랫 탑/바텀 | 2+ | 상단 수평 + 하단 추세 |
|
||||
|
||||
### 2.2 피보나치·갠·피치포크
|
||||
|
||||
| ID | UI 이름 | 산출물 |
|
||||
|----|---------|--------|
|
||||
| `fib` | 피보나치 되돌림 | 2점 구간 **수평 레벨** 다수 (0, 23.6, …, 100%) |
|
||||
| `fib_ext` | 추세기반 피보나치 확장 | 되돌림 + **확장** 수평 레벨 |
|
||||
| `fib_channel` | 피보나치 채널 | 기울어진 채널 + 피보나치 분할 |
|
||||
| `fibtz` | 피보나치 타임존 | 2점 시간 구간 **수직선** |
|
||||
| `fib_speed_fan` | 스피드 리지스턴스 팬 | 1점에서 **다발 레이** |
|
||||
| `fib_trend_time` | 추세기반 피보나치 시간 | 추세선 + 시간축 피보나치 |
|
||||
| `fib_circles` / `fib_spiral` / `fib_speed_arc` / `fib_wedge` | 원·스파이럴·아크·웻지 | 곡선/영역 |
|
||||
| `pitchfork` / `pitchfork_schiff` / `pitchfork_inside` | 피치포크 | 3점 → **중심선 + 평행 2선** |
|
||||
| `gann_box` / `gann_square` / `gann_fan` | 갠 | 격자·팬 **다발 직선** |
|
||||
|
||||
### 2.3 프로젝션·기타 (선 성격)
|
||||
|
||||
| ID | UI 이름 | 비고 |
|
||||
|----|---------|------|
|
||||
| `anchored_vwap` | 앵커드 VWAP | 앵커 시점부터 **누적 VWAP 곡선** |
|
||||
| `price_range` | 가격범위 | 구간 **상·하단 수평** |
|
||||
| `date_range` | 날짜 범위 | **수직** 구간 |
|
||||
| `guide_line` | 가이드선 | 보조 수평 (차트 UI) |
|
||||
| `forecast` / `projection_tool` | 예측·프로젝션 | 2점+ **연장** |
|
||||
|
||||
---
|
||||
|
||||
## 3. 전략 조건화 평가 기준
|
||||
|
||||
드로잉 도구를 **실시간 매매 시그널**로 쓰려면 아래가 필요합니다.
|
||||
|
||||
| # | 요건 | 설명 |
|
||||
|---|------|------|
|
||||
| 1 | **봉 인덱스 결정론** | 사용자 클릭 없이 OHLCV·지표만으로 매 봉 동일 Y(또는 시간) 계산 |
|
||||
| 2 | **교차·돌파 정의** | `CROSS_UP`/`DOWN` 또는 `GT`/`LT`로 표현 가능 |
|
||||
| 3 | **Ta4j Indicator** | `getValue(i)` 또는 Rule 한 개로 encapsulation |
|
||||
| 4 | **워밍업·NaN** | lookback·스윙 k만큼 불안정 구간 처리 |
|
||||
| 5 | **멀티 TF·좌필드** | 종가/RSI 등 left 지표와 스케일 일치 |
|
||||
|
||||
**등급**
|
||||
|
||||
- **A — 즉시 확장 권장:** 추세선과 동일 패턴(동적 1~2선 + CROSS), 구현 난이도 중, 실전 활용도 높음
|
||||
- **B — 부분 가능 / DSL已有:** 수평·채널·고저가 등 **이미 다른 필드로 구현**됐거나, 파라미터만 추가하면 됨
|
||||
- **C — 전략 자동화 부적합:** 주관적 패턴·다점 수동 입력·시간만 조건·시각 주석 위주
|
||||
|
||||
---
|
||||
|
||||
## 4. 요약 매트릭스
|
||||
|
||||
| 드로잉 도구 | 등급 | 전략 활용 | 비고 |
|
||||
|-------------|------|-----------|------|
|
||||
| **추세줄 / 익스텐디드 / 레이** | **A** | ✅ 구현됨 (`TREND_LINE_*`) | 레이=연장 방향만 다름 → `extendMode` 파라미터로 통합 가능 |
|
||||
| **가로줄** | **B** | ✅ 대체 가능 | `CROSS_*` + 고정값·`NH_PRIOR_N`·볼린저·MA |
|
||||
| **가로빛** | **A** | ⚠️ 미구현 | 앵커 이후 구간 수평 = **구간 고점/저점** 또는 **앵커 VWAP** |
|
||||
| **수직선 / 크로스 / 피보나치 TZ / 날짜범위** | **B~C** | △ 시간 조건 | 가격 돌파가 아닌 **봉 번호·세션·시간** 조건 (`TIMEFRAME`·`HOLD` 확장) |
|
||||
| **추세·패러렐·플랫탑 채널** | **A** | ⚠️ 미구현 | **채널 상·하단 돌파** — Donchian과 유사하나 **기울기** 있음 |
|
||||
| **디스조인트 채널** | **B** | △ | 4점 자유도 높음 → 자동화 시 규칙 고정 필요 |
|
||||
| **피보나치 되돌림/확장** | **A** | ⚠️ 미구현 | 스윙 고저 + **수평 레벨** 돌파 (0.382, 0.5, 0.618…) |
|
||||
| **피치포크 (중심선)** | **A** | ⚠️ 미구현 | 3 스윙점 → **중앙 추세선** 돌파 (추세선 일반화) |
|
||||
| **피보나치 팬 / 갠 팬** | **B** | △ | 다중 레이 — **특정 각도 레이** 돌파로 축소 가능 |
|
||||
| **앵커드 VWAP** | **B** | △ | VWAP 지표 + **앵커 lookback** 조건 (별도 지표 DSL) |
|
||||
| **가격범위** | **A** | ⚠️ 미구현 | N봉 **Range 상·하단** 돌파 (Donchian과 동일 family) |
|
||||
| **추세각 / 인포 / 화살표** | **C** | ✗ | 표시·측정용, 시그널 의미 없음 |
|
||||
| **패턴(XABCD·H&S·엘리엇)** | **C** | ✗ | 형태 인식·주관적 — 별도 패턴 엔진 필요 |
|
||||
| **원·호·브러시·텍스트** | **C** | ✗ | 시각 주석 |
|
||||
|
||||
---
|
||||
|
||||
## 5. A등급 — 구현 권장 (추세선과 동일 아키텍처)
|
||||
|
||||
### 5.1 레이 / 익스텐디드 (`ray`, `extended_line`)
|
||||
|
||||
**드로잉 의미:** 2점 직선, 연장 방향만 다름 (우측 only vs 양방향).
|
||||
|
||||
**전략 정의 (제안):**
|
||||
|
||||
- 기존 `TREND_LINE_*` + 파라미터 `extendMode: RIGHT | BOTH | LEFT`
|
||||
- fit·피벗 로직은 **현재 `TrendLineMath`와 동일**
|
||||
- `ray` = 피벗 선을 **평가 봉 i까지만** extrapolation (좌측 연장 없음)
|
||||
|
||||
**조건 예:**
|
||||
|
||||
| 조건 | 의미 |
|
||||
|------|------|
|
||||
| `TREND_LINE_CROSS_UP` + `extendMode=RIGHT` | 하락 저항 **레이** 상향 돌파 |
|
||||
| `TREND_LINE_CROSS_DOWN` | 상승 지지선 하향 이탈 |
|
||||
|
||||
**구현:** `TrendLineMath`에 연장 방향만 추가 — **난이도: 낮음**.
|
||||
|
||||
---
|
||||
|
||||
### 5.2 추세 채널 / 패러렐 채널 (`channel`, `parallel_channel`)
|
||||
|
||||
**드로잉 의미:** 평행한 **상·하 2선**; 가격이 채널 밖으로 나가면 추세 가속·전환.
|
||||
|
||||
**전략 정의 (제안):**
|
||||
|
||||
| DSL (제안) | 계산 | 매수·매도 |
|
||||
|------------|------|-----------|
|
||||
| `CHANNEL_BREAK_UP` | 상단선 = 기준 추세선 + offset (또는 2번째 피벗 평행) | 종가 **상단** 상향 돌파 |
|
||||
| `CHANNEL_BREAK_DOWN` | 하단선 = 기준 추세선 − offset | 종가 **하단** 하향 돌파 |
|
||||
| `CHANNEL_BOUNCE_UP` | 하단선 터치 후 반등 | `CROSS_UP` on lower band |
|
||||
|
||||
**알고리즘 (패러렐 채널 자동화):**
|
||||
|
||||
1. `[i−N, i−1]`에서 **상승 추세선(저점)** 또는 **하락 추세선(고점)** 1본 계산 (현행과 동일)
|
||||
2. offset = 구간 내 **최대 High − 추세선값** (상단 채널) 또는 **추세선값 − 최소 Low** (하단)
|
||||
3. 또는 **스윙 고점 2개 + 스윙 저점 2개**로 평행선 쌍 결정
|
||||
|
||||
**Ta4j:** `UpperChannelIndicator` / `LowerChannelIndicator` (커스텀) + `CROSS_*`.
|
||||
|
||||
**기존 DSL과 관계:** `DONCHIAN` `DC_UPPER_N` / `DC_LOWER_N`은 **수평 채널**(기울기 0). 본 조건은 **기울어진 채널** — 차별화됨.
|
||||
|
||||
**난이도: 중.**
|
||||
|
||||
---
|
||||
|
||||
### 5.3 플랫 탑/바텀 (`flat_top_bottom`)
|
||||
|
||||
**드로잉 의미:** 한쪽은 **수평**(저항/지지), 다른 쪽은 **기울어진** 변 연결 — 삼각 수렴·확장 패턴의 일부.
|
||||
|
||||
**전략 정의 (제안):**
|
||||
|
||||
| DSL (제안) | 구성 |
|
||||
|------------|------|
|
||||
| `FLAT_TOP_BREAK_UP` | `[i−N,i−1]` **최고가 수평선** (flat top) 상향 돌파 |
|
||||
| `FLAT_BOTTOM_BREAK_DOWN` | **최저가 수평선** (flat bottom) 하향 돌파 |
|
||||
| `WEDGE_BREAK_*` | flat + 대각 추세선 **수렴 후** 돌파 (확장) |
|
||||
|
||||
flat top = `NH_PRIOR` 구간 max(High)와 유사하나 **동일 구간** 명시.
|
||||
**난이도: 중 (채널 특수 케이스).**
|
||||
|
||||
---
|
||||
|
||||
### 5.4 피보나치 되돌림 / 확장 (`fib`, `fib_ext`)
|
||||
|
||||
**드로잉 의미:** 스윙 A→B 구간에 **비율별 수평선** (0%, 38.2%, 50%, 61.8%, 100% …).
|
||||
|
||||
**전략 정의 (제안):**
|
||||
|
||||
```
|
||||
FIB_LEVEL_CROSS_UP / DOWN
|
||||
- swingHigh, swingLow: [i−N, i−1] 스윙 (또는 구간 고/저)
|
||||
- level: 0.382 | 0.5 | 0.618 | 0.786 | 1.272 (확장)
|
||||
- left: CLOSE_PRICE (또는 지표)
|
||||
```
|
||||
|
||||
| 활용 | 조건 |
|
||||
|------|------|
|
||||
| 되돌림 매수 | 61.8% **지지** 후 `CROSS_UP` |
|
||||
| 되돌림 매도 | 38.2% **저항** 후 `CROSS_DOWN` |
|
||||
| 확장 목표 | 1.272 / 1.618 **돌파** 추적 |
|
||||
|
||||
**Indicator:** `FibLevelIndicator(swingA, swingB, ratio)` → bar i에서 해당 레벨 Y.
|
||||
|
||||
**차트 표시:** 전략평가 시 선택 봉 기준 **해당 레벨 1개** 또는 **주요 3선**만 overlay (추세선과 동일 UX).
|
||||
|
||||
**난이도: 중.**
|
||||
|
||||
---
|
||||
|
||||
### 5.5 피치포크 중심선 (`pitchfork` 계열)
|
||||
|
||||
**드로잉 의미:** 3점(스윙1, 스윙2, 스윙3) → **중앙 추세선** + 위·아래 평행선.
|
||||
|
||||
**전략 정의 (제안):**
|
||||
|
||||
| DSL (제안) | 의미 |
|
||||
|------------|------|
|
||||
| `PITCHFORK_MEDIAN_CROSS_UP/DOWN` | **중심선** 돌파 |
|
||||
| `PITCHFORK_UPPER_TOUCH` | 상단 평행선 도달 |
|
||||
| `PITCHFORK_LOWER_BOUNCE` | 하단 평행선 반등 |
|
||||
|
||||
**알고리즘:** 3 스윙 저점(상승) 또는 고점(하락) → 중점·기울기 → median line at i.
|
||||
Andrews / Schiff / Inside는 **중심선 계산식**만 다름 — 설정에서 `pitchforkVariant`.
|
||||
|
||||
**난이도: 중~상.**
|
||||
|
||||
---
|
||||
|
||||
### 5.6 N봉 가격 레인지 (`price_range` 드로잉 ↔ Range 돌파)
|
||||
|
||||
**드로잉 의미:** 구간 **상단·하단** 박스.
|
||||
|
||||
**전략 정의:** Donchian과 동일 family.
|
||||
|
||||
| 기존 DSL | 드로잉 대응 |
|
||||
|----------|-------------|
|
||||
| `CLOSE CROSS_UP NH_PRIOR_20` | 20봉 **신고가(상단)** 돌파 |
|
||||
| `CLOSE CROSS_DOWN NL_PRIOR_20` | 20봉 **신저가(하단)** 이탈 |
|
||||
| `DONCHIAN` + `DC_UPPER_N` | 채널 상단 |
|
||||
|
||||
**추가 제안:** `RANGE_BREAK_UP/DOWN` — lookback N 명시적 alias (UI는 **가격범위** 드로잉과 매핑).
|
||||
|
||||
**난이도: 낮음 (이미 80% 구현).**
|
||||
|
||||
---
|
||||
|
||||
## 6. B등급 — 부분 가능 / 기존 DSL로 커버
|
||||
|
||||
### 6.1 가로줄 (`hline`)
|
||||
|
||||
| 드로잉 | 전략 DSL 대체 |
|
||||
|--------|----------------|
|
||||
| 임의 가격 수평선 | `GT`/`LT`/`CROSS_*` + `compareValue` 또는 지표 임계 |
|
||||
| N봉 고가/저가 | `NH_PRIOR_N` / `NL_PRIOR_N` · `DC_UPPER_N` / `DC_LOWER_N` |
|
||||
| 볼린저 상·중·하 | `BOLLINGER` + `UPPER`/`MIDDLE`/`LOWER` |
|
||||
| 전고·전저 | `NEW_HIGH` / `NEW_LOW` 지표 |
|
||||
|
||||
**신규 DSL 필요성:** 낮음. 전략편집기 **「가로줄 = 수준 돌파」** 프리셋 UI만 추가해도 충분.
|
||||
|
||||
---
|
||||
|
||||
### 6.2 가로빛 (`hline_ray`)
|
||||
|
||||
**의미:** 특정 **시점 이후**에만 유효한 수평선 (예: 돌파봉 종가, 당일 시가).
|
||||
|
||||
**제안:**
|
||||
|
||||
| DSL (제안) | 정의 |
|
||||
|------------|------|
|
||||
| `SESSION_OPEN` | 당일/세션 시가 (수평) |
|
||||
| `BAR_N_CLOSE` | N봉 전 종가 수평 (앵커) |
|
||||
| `SWING_LEVEL` | 마지막 스윙 고/저 **수평 레이** |
|
||||
|
||||
**난이도: 중** (앵커 bar index 추적).
|
||||
|
||||
---
|
||||
|
||||
### 6.3 앵커드 VWAP (`anchored_vwap`)
|
||||
|
||||
**의미:** 특정 봉부터 누적 VWAP.
|
||||
|
||||
**전략:** `VWAP` 지표(또는 신규 `ANCHORED_VWAP`) + `CROSS_UP/DOWN`.
|
||||
앵커 = `i−anchorLookback` 또는 **세션 시작**.
|
||||
|
||||
**난이도: 중** (볼륨·누적 합).
|
||||
|
||||
---
|
||||
|
||||
### 6.4 피보나치 팬 / 갠 팬 (`fib_speed_fan`, `gann_fan`)
|
||||
|
||||
**의미:** 1점에서 **여러 각도**의 레이.
|
||||
|
||||
**전략 축소:** 팬 전체가 아닌 **특정 비율 1선**만 — 예: 1×1, 2×1 갠 각도 = 기울기 `k`인 **동적 추세선**.
|
||||
|
||||
| 제안 | 조건 |
|
||||
|------|------|
|
||||
| `GANN_FAN_CROSS` | 스윙 앵커 + `slopeRatio` (1/1, 1/2…) 레이 돌파 |
|
||||
|
||||
**난이도: 중** (추세선 + 고정 기울기).
|
||||
|
||||
---
|
||||
|
||||
### 6.5 수직선·시간 (`vline`, `fibtz`, `date_range`)
|
||||
|
||||
**의미:** **가격**이 아니라 **시간/봉** 조건.
|
||||
|
||||
| 활용 | DSL 방향 |
|
||||
|------|----------|
|
||||
| 특정 시각 이후만 매수 | `TIMEFRAME` + 세션 필터 |
|
||||
| N봉 경과 후 | `HOLD_N_DAYS` · `BAR_INDEX ≥ anchor` |
|
||||
| 피보나치 시간대 | `TIME_FIB_ZONE` (i가 [t0+φⁿ·Δt] 근처) |
|
||||
|
||||
실시간 **가격 돌파** 시그널과는 별도 — **필터/타이밍** 조건으로 AND 결합.
|
||||
|
||||
**난이도: 중** (가격 Indicator와 분리).
|
||||
|
||||
---
|
||||
|
||||
## 7. C등급 — 자동 전략 조건 부적합
|
||||
|
||||
| 유형 | 이유 |
|
||||
|------|------|
|
||||
| **추세각·인포라인·화살표** | 측정·주석; Y(t) 단일 함수 아님 |
|
||||
| **harmonic 패턴** (XABCD, ABCD, Cypher, H&S) | 4~5점 **형태 매칭** — ML/규칙 트리 별도 |
|
||||
| **엘리엇 파동** 드로잉 | 파동 카운트 주관적; ta4j Elliott는 분석용 |
|
||||
| **고스트피드·봉패턴** | 미래 봉 투영 — 백테스트 **룩어헤드** 위험 |
|
||||
| **long/short position** 박스 | RR 시각화; 진입·손절은 **별도 주문 DSL** |
|
||||
| **브러시·텍스트·핀** | 사용자 주석 |
|
||||
| **원·타원·삼각형** | 영역 포함 판정 — `IN_RECT`류는 가능하나 드로잉과 무관 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 공통 구현 패턴 (추세선과 동일)
|
||||
|
||||
신규 드로잉型 조건 추가 시 **권장 스택:**
|
||||
|
||||
```
|
||||
1. DSL conditionType (예: CHANNEL_BREAK_UP)
|
||||
2. Math/Indicator (bar i, lookback, config → Y 또는 time)
|
||||
3. StrategyDslToTa4jAdapter → buildXxxCrossRule (고정 창 [i−N,i−1])
|
||||
4. BacktestSettings (전역 default N, k, ratio…)
|
||||
5. 전략편집기 팔레트 (추세 탭과 동일 PaletteChip UX)
|
||||
6. 전략평가 차트 (선택 봉 1개 overlay only)
|
||||
7. LiveConditionStatusService 라벨
|
||||
```
|
||||
|
||||
**교차 Rule 템플릿 (현행 추세선):**
|
||||
|
||||
```text
|
||||
직전 봉: left[i−1] ≤ line[i−1]
|
||||
현재 봉: left[i] > line[i] → CROSS_UP
|
||||
line[i±k]는 동일 fit 창 [i−N, i−1]에서 extrapolation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. 구현 우선순위 (로드맵 제안)
|
||||
|
||||
| 순위 | 기능 | 드로잉 대응 | 이유 |
|
||||
|------|------|-------------|------|
|
||||
| 1 | `extendMode` on `TREND_LINE` | ray / extended | 코드 변경 최소 |
|
||||
| 2 | `CHANNEL_BREAK_*` | channel, parallel | 돈치안보다 실전 TA에 가까움 |
|
||||
| 3 | `FIB_LEVEL_CROSS_*` | fib, fib_ext | 되돌림·확장 매매 빈도 높음 |
|
||||
| 4 | `FLAT_TOP/BOTTOM_*` | flat_top_bottom | 삼각·깃발 패턴 기초 |
|
||||
| 5 | `PITCHFORK_MEDIAN_*` | pitchfork | 중심선 트레이딩 |
|
||||
| 6 | 가로줄 프리셋 UI | hline | 신규 엔진 없이 DSL 노출 |
|
||||
| 7 | `ANCHORED_VWAP_CROSS` | anchored_vwap | VWAP 전략 수요 |
|
||||
| 8 | 시간 조건 (`TIME_*`) | vline, fibtz | 필터로 활용 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 실시간 매매 체크 연동
|
||||
|
||||
현재 파이프라인은 **드로잉 객체(JSON)를 읽지 않습니다.**
|
||||
차트에 사용자가 그린 선과 **전략 시그널은 독립**이며, 전략은 **동일 수학 규칙**으로 매 봉 재계산합니다.
|
||||
|
||||
| 단계 | 서비스 |
|
||||
|------|--------|
|
||||
| 설정 로드 | `BacktestSettingsService` → `TrendLineConfig` |
|
||||
| Rule 생성 | `StrategyDslToTa4jAdapter.toRule` |
|
||||
| 백테스트·스캔 | `BacktestingService` |
|
||||
| 실시간 | `LiveConditionStatusService` (조건별 충족/미충족) |
|
||||
| UI | `StrategyEvaluationChart` · 가상/실전 차트 시그널 마커 |
|
||||
|
||||
신규 선 조건도 **드로잉 저장소와 연동할 필요 없음** — 추세선과 같이 **Indicator 기반**이면 실시간 체크에 바로 투입 가능.
|
||||
|
||||
---
|
||||
|
||||
## 11. 한 줄 결론
|
||||
|
||||
> **추세선(`TREND_LINE`)과 같이 “매 봉 Y값을 계산하는 1~2차원 직선·수평 레벨”** 이면 대부분 `CROSS_*` Rule로 실시간 전략에 넣을 수 있다.
|
||||
> **우선순위는 채널(평행선)·피보나치 수준·레이 연장 방향**이며, **가로줄·Donchian·볼린저**는 이미 DSL로 커버된다.
|
||||
> **패턴·팬 전체·브러시**는 드로잉 툴로는 유용하나 **자동 시그널**에는 부적합하거나 별도 엔진이 필요하다.
|
||||
|
||||
---
|
||||
|
||||
*문서 버전: 2026-06 — goldenChart 드로잉 툴바·TREND_LINE 구현 기준*
|
||||
Reference in New Issue
Block a user