21 KiB
전략편집기 — 우측 패널 지표 컨트롤 ↔ 매매 시그널 감지
전략편집기 우측 지표 패널에 있는 컨트롤(칩)을 클릭·드래그했을 때 생성되는 DSL 조건이,
실제 차트·백테스트·실시간 전략 평가에서 어떻게 매수/매도 시그널로 판정되는지를 정리한 문서입니다.
평가 원천:
StrategyDslToTa4jAdapter→ Ta4jRule→ 봉i에서rule.isSatisfied(i)
관련: 매매전략조건.md · 드로잉선_전략조건.md · 전략편집기 로직 및 동작흐름.md
1. 전체 흐름
[우측 PaletteChip 클릭/드래그]
↓
makeNode / buildXxxConditionNode → LogicNode (CONDITION 또는 AND/OR/NOT 트리)
↓
전략 저장 (buyConditionJson / sellConditionJson)
↓
StrategyDslToTa4jAdapter.toRule() — leaf CONDITION → Ta4j Rule
↓
봉 i마다 isSatisfied(i) — true면 해당 봉에 BUY 또는 SELL 시그널
↓
전략평가 차트 마커 · LiveConditionStatusService · BacktestingService
1.1 매수/매도 탭과 시그널 방향
| 편집기 탭 | DSL 저장 위치 | 시그널 타입 |
|---|---|---|
매수 (buySellTab = buy) |
buyConditionJson |
BUY |
매도 (buySellTab = sell) |
sellConditionJson |
SELL |
같은 칩이라도 어느 탭에서 추가했는지에 따라 conditionType 기본값이 달라집니다.
예: 보조 RSI 칩 → 매수 탭 CROSS_UP, 매도 탭 CROSS_DOWN.
1.2 positionMode (설정 → 전략 설정)
| 모드 | 동작 |
|---|---|
| SIGNAL_ONLY | 매수·매도 Rule 독립 — 보유 여부와 무관하게 봉마다 시그널 |
| LONG_ONLY | 미보유일 때만 entry(BUY), 보유일 때만 exit(SELL) — TradingRecord 추적 |
2. 우측 패널 구조
파일: StrategyEditorPage.tsx, StrategyEvaluationIndicatorPalettePanel.tsx
| 영역 | 내용 |
|---|---|
| 검색 | paletteSearch — 라벨·설명 필터 |
| 시작·논리 | START, AND, OR, NOT |
| 밴드·추세 | MA, EMA, BOLLINGER, DONCHIAN, ICHIMOKU (고정 5칩) |
| 지표 서브탭 | 보조지표 · 복합지표 · 횡보필터 · 추세 |
| 템플릿 탭 | 내장·사용자 템플릿 (복합/횡보 항목 재노출) |
칩 추가 경로:
- 클릭 →
applyPalette/applySidewaysFilter/applyTrendLine - 드래그 →
PaletteChip→StrategyEditorCanvas.resolvePaletteDropNode
3. 논리 노드 (START / AND / OR / NOT / TIMEFRAME)
3.1 START
- 캔버스 시작 섹션 추가용. 조건 노드가 아님.
- 실제 평가는 START 아래 자식 AND/OR 트리가 담당.
3.2 AND / OR
| 노드 | Ta4j | 시그널 조건 |
|---|---|---|
| AND | AndRule(자식…) |
모든 자식 Rule이 같은 봉 i에서 true |
| OR | OrRule(자식…) |
하나라도 true면 true |
빈 AND/OR → 항상 false (시그널 없음).
3.3 NOT
- 첫 번째 자식만
NotRule로 감쌈. - 예: 횡보필터 exclude 모드 →
NOT(횡보 조건)= 추세 구간만 통과.
3.4 TIMEFRAME (분봉 분기)
{ "type": "TIMEFRAME", "candleTypes": ["1h"], "children": [ … ] }
| 단계 | 동작 |
|---|---|
| 1 | candleTypes[0] 분봉으로 OHLCV 별도 BarSeries 구성 |
| 2 | 자식 Rule을 그 분봉에서 평가 |
| 3 | 차트( primary ) 분봉 index i와 시간 정렬 (CrossSeriesRule) |
백테스트/전략평가: primary 봉 시각에 맞는 확정 분봉 index로 매핑.
실시간: LiveStrategyEvaluator + StrategyTriggerBranchEvaluator — 트리거 분봉 마감 시 분기 평가, AND 다중 TF는 캐시 결합.
4. 공통 CONDITION 구조
interface ConditionDSL {
indicatorType: string; // RSI, MA, TREND_LINE, …
conditionType: string; // CROSS_UP, GT, TREND_LINE_CROSS_UP, …
leftField?: string; // RSI_VALUE, CLOSE_PRICE, MA20, …
rightField?: string; // HL_OVER, DC_UPPER_20, NONE, …
period?: number;
lookbackPeriod?: number; // 추세선 N, LOWEST N봉
compareValue?: number; // DIFF_GT, VOLUME_GT_MA_RATIO
slopePeriod?: number; // SLOPE_UP/DOWN
holdDays?: number; // HOLD_N_DAYS
candleRange?: number;
candleRangeMode?: 'CURRENT' | 'EXISTS_IN' | 'NOT_EXISTS_IN';
composite?: boolean;
leftPeriod / rightPeriod / leftCandleType / rightCandleType;
params?: Record<string, …>;
}
4.1 conditionType → 차트에서의 의미
| conditionType | 판정 방식 | 적용 봉 |
|---|---|---|
| GT / LT / GTE / LTE / EQ / NEQ | left[i] vs right[i] 수준 비교 |
현재 봉 i |
| CROSS_UP | left[i−1] ≤ right[i−1] 그리고 left[i] > right[i] |
교차 1봉 |
| CROSS_DOWN | left[i−1] ≥ right[i−1] 그리고 left[i] < right[i] |
교차 1봉 |
| TREND_LINE_CROSS_UP/DOWN | CROSS와 동일 형식, right = N봉 피벗 추세선 (fit [i−N,i−1]) |
교차 1봉 |
| SLOPE_UP / SLOPE_DOWN | left가 slopePeriod봉 연속 상승/하락 |
현재 봉 |
| DIFF_GT / DIFF_LT | ` | left − right |
| HOLD_N_DAYS | left > right가 N봉 연속 |
현재 봉 |
| LOWEST_LTE / LOWEST_GTE | min(left, i−N..i) vs right |
현재 봉 |
NaN·미확정: left/right NaN → 해당 봉 false. CROSS_*는 index < 1이면 false.
4.2 leftField / rightField 해석
백엔드 resolveField()가 심볼 → Ta4j Indicator로 변환합니다.
| 심볼 예 | 의미 |
|---|---|
CLOSE_PRICE |
종가 |
RSI_VALUE |
RSI 본선 (period는 지표 설정·조건 상속) |
HL_OVER / HL_MID / HL_UNDER |
과열/중립/침체 임계값 (설정·지표별) |
K_80, K_20 |
Stoch 직접 입력 임계 |
DC_UPPER_20 |
20봉 Donchian 상단 (직전 N봉 high max, 당일 제외 방식은 NH_PRIOR 참고) |
NH_PRIOR_9 |
직전 9봉 최고가 (당일 봉 미포함) |
NL_PRIOR_9 |
직전 9봉 최저가 |
NONE |
일목 구름·추세선 등 단항 조건 |
5. 밴드·추세 (고정 5칩)
출처: BAND_PALETTE_CHIP_ITEMS (strategyPaletteStorage.ts)
5.1 이동평균 (MA)
| 항목 | 값 |
|---|---|
| 기본 (매수) | MA · CROSS_UP · MA1 vs MA2 |
| 기본 (매도) | MA · CROSS_DOWN · MA1 vs MA2 |
| 시그널 | 단기 MA가 장기 MA 상향/하향 교차한 그 봉 |
MA1/MA2 기간 → 보조지표 설정 period1, period2 (SMA 설정).
5.2 EMA
MA와 동일 구조. EMA1 vs EMA2, EMAIndicator 사용.
5.3 볼린저밴드 (BOLLINGER)
| 항목 | 값 |
|---|---|
| 기본 (매수) | CLOSE_PRICE CROSS_UP UPPER_BAND |
| 기본 (매도) | CLOSE_PRICE CROSS_DOWN LOWER_BAND (편집기에서 변경 가능) |
| 시그널 | 종가가 밴드 경계를 돌파한 봉 |
다른 조건: GT/LT로 밴드 내부/외부 체류 판정.
5.4 돈치안 (DONCHIAN)
| 항목 | 값 |
|---|---|
| 기본 (매수) | CLOSE_PRICE CROSS_UP DC_UPPER_20 |
| 기본 (매도) | CLOSE_PRICE CROSS_DOWN DC_LOWER_20 |
| 시그널 | 종가가 N봉 채널 상단/하단 교차 |
DC_UPPER_n = Donchian 상단 Indicator. (신고가 NH_PRIOR_n과 계산 방식·당일 포함 여부 주의 — §7.4)
5.5 일목균형표 (ICHIMOKU)
| 항목 | 값 |
|---|---|
| 기본 (매수) | CONVERSION_LINE CROSS_UP BASE_LINE |
| 기본 (매도) | CONVERSION_LINE CROSS_DOWN BASE_LINE |
| 시그널 | 전환선·기준선 골든/데드크로스 |
추가 전용 conditionType (left/right 자동 설정):
| conditionType | 시그널 의미 |
|---|---|
ABOVE_CLOUD |
종가 > 구름 상단 |
BELOW_CLOUD |
종가 < 구름 하단 |
IN_CLOUD |
종가가 구름 내부 |
CLOUD_BREAK_UP |
종가 구름 상단 상향 돌파 (Ta4j CrossedUp) |
CLOUD_BREAK_DOWN |
종가 구름 하단 하향 이탈 |
SPAN1_CROSS_UP_SPAN2 |
선행1 선행2 상향 교차 |
LAGGING_GT_PRICE |
후행스팬 > 26봉 전 종가 |
LAGGING_ABOVE_PRIOR_CLOUD |
후행 > 26봉 전 구름 상단 |
CHIKOU_CROSS_ABOVE_PRIOR_CLOUD |
후행 구름 상단 1회 돌파 |
파라미터: 전환 9 · 기준 26 · 선행/후행 26 · 선행2 52 (설정 상속).
6. 보조지표 탭 (auxiliary)
내장 17종 + 사용자 추가 (DEFAULT_AUXILIARY_ITEMS).
단일 칩 → CONDITION 1개 (makeNode → getDefaultConditionFields).
6.1 오실레이터 (RSI, Stochastic, CCI, Williams %R, BWI)
| 지표 | 기본 left | 기본 right | 기본 condition (매수) |
|---|---|---|---|
| RSI | RSI_VALUE |
HL_OVER (과열) |
CROSS_UP → 침체→과열 교차 아님, 과열선 돌파 |
| Stochastic | STOCH_K |
STOCH_D |
%K vs %D 교차 |
| CCI | CCI_VALUE |
CCI_SIGNAL |
CCI vs 시그널선 교차 |
| Williams %R | WILLIAMS_R_VALUE |
HL_OVER |
과매도 구간 탈출 등 (필드 변경 가능) |
추가 (오실레이터 전용):
| conditionType | 시그널 |
|---|---|
LOWEST_LTE |
최근 N봉(lookback, 기본 20) left 최저 ≤ 침체선 — “최근 N봉 안 침체 터치” |
LOWEST_GTE |
최근 N봉 최저 ≥ 임계 — 침체 이탈 유지 |
실전 예 (Stoch 재매수 억제): AND( CROSS_UP 80, LOWEST_LTE 20 ) — 80 돌파 且 최근 20봉 내 20 이하 경험.
6.2 추세·거래량 (ADX, DMI, MACD, OBV, TRIX, Volume OSC, VR)
| 지표 | 기본 left → right | 전형적 시그널 |
|---|---|---|
| ADX | ADX_VALUE → HL_MID |
ADX > 25 추세 강도 |
| DMI | PDI → MDI |
+DI −DI 교차 |
| MACD | MACD_LINE → SIGNAL_LINE |
MACD 시그널 골든크로스 |
| OBV | OBV_LINE → OBV_SIGNAL |
OBV vs OBV 시그널 |
| TRIX | TRIX_VALUE → TRIX_SIGNAL |
TRIX 교차 |
| Volume OSC | VOLUME_OSC_VALUE → HL_MID |
거래량 OSC 중립 돌파 |
| VR | VR_VALUE → HL_OVER |
VR 과열 |
6.3 심리·이격 (DISPARITY, PSY*, INVEST_PSY)
DISPARITY{n}vsHL_MID— 이격도 과열/침체.- 심리도 계열 —
PSY_VALUEvsHL_OVER등.
6.4 거래량 (VOLUME)
| conditionType | 시그널 |
|---|---|
GT / CROSS_UP |
거래량 vs VOLUME_MA |
VOLUME_GT_MA_RATIO |
volume[i] ≥ MA(length) × compareValue (기본 MA 5, 비율 1.5) |
6.5 신고가 / 신저가 (NEW_HIGH / NEW_LOW)
| 항목 | 매수 (NEW_HIGH) | 매도 (NEW_LOW) |
|---|---|---|
| 기본 | CLOSE CROSS_UP NH_PRIOR_9 |
CLOSE CROSS_DOWN NL_PRIOR_9 |
| right 의미 | 직전 9봉 최고가 수평선 | 직전 9봉 최저가 |
| 시그널 | 종가가 신고가선 상향 교차 | 종가가 신저가선 하향 교차 |
백엔드: NH_PRIOR_n = max(high[t−n] … high[t−1]) (현재 봉 high 미포함).
CROSS_UP + right≠NH_PRIOR 시 GTE로 정규화 (Donchian 당일 포함 CROSS 방지).
7. 복합지표 탭 (composite)
7.1 동일 지표 2기간 교차 (COMPOSITE_INDICATOR_ITEMS)
플래그: composite: true, leftPeriod, rightPeriod, leftField, rightField, (선택) leftCandleType / rightCandleType.
| 칩 | left → right (예) | 시그널 |
|---|---|---|
| 돈치안 | DC_UPPER_9 CROSS_UP DC_UPPER_20 |
단기 채널상단이 장기 상단 돌파 |
| RSI | RSI_VALUE_9 CROSS_UP RSI_VALUE_18 |
단기 RSI 장기 RSI 상향 교차 |
| CCI, ADX, Williams, TRIX, VR, PSY, 이격도 | 동일 패턴 | 기간 교차 |
멀티 TF: leftCandleType ≠ rightCandleType → CrossTimeframeCompositeRule (각 분봉에서 left/right 취한 뒤 교차 공식).
7.2 Stoch 과열×보조 (STOCH_OVERBOUGHT_PAIR)
LogicNode OR 트리 (단일 CONDITION 아님):
OR(
AND( Stoch %K ≥ 80, 보조지표 CROSS_UP 중앙 ),
AND( 보조지표 ≥ 0, Stoch %K CROSS_UP 80 )
)
- 시그널: 과열 구간 Stoch×보조 동시 충족 또는 역순 동시 충족.
- 메타:
stochPair.secondaryIndicatorType(기본 CCI).
7.3 9·20일 신고/신저 (NEW_HIGH_9_20_BUY / NEW_LOW_9_20_SELL)
LogicNode AND:
NEW_HIGHCROSS_UPNH_PRIOR_9(또는 20)- 필터 (filterLevel: balanced / strict) — ADX·거래량 등 추가 leaf
시그널: 단기 신고가 돌파 且 필터 통과.
7.4 33변곡 (INFLECTION_33_BUY/SELL)
- EMA33 변곡 + Donchian/필터 AND.
- 시그널: 33봉 EMA 기울기 전환 + 채널 확인.
7.5 일목×볼린저 (ICHIMOKU_BB_BUY/SELL)
단일 CONDITION:
indicatorType: ICHIMOKU_BB
leftField: LAGGING_SPAN
rightField: UPPER_BAND | LOWER_BAND
conditionType: CROSS_UP | CROSS_DOWN
params.chikouDisplacement: 26 (기본)
시그널: 26봉 전 후행스팬 vs 26봉 전 BB 밴드 교차 (후행·밴드 모두 lag 적용).
7.6 일목 상황별 (23종, ICHIMOKU_SIT_*)
| 카테고리 | 예 | 내부 구조 |
|---|---|---|
| 기본 매수 5 | 골든크로스, 기준선 돌파, 구름 돌파… | AND/OR 복수 CONDITION |
| 호전/역전 | 호전(정배열), 역전(역배열) | 4~5 조건 AND |
| 엘리어트 10 | 1·2·3·4·5파, A·B·C | 파동 단계별 AND |
시그널: 해당 상황 ID에 정의된 leaf 조건이 같은 봉에서 모두(AND) 또는 일부(OR) 충족.
7.7 추천 안정형 (18종, TURTLE_S1_BUY 등)
| 전략 ID | 시그널 요지 |
|---|---|
| TURTLE_S1 | 20일 최고가 돌파 매수 / 10일 최저 이탈 청산 |
| TURTLE_S2 | 55/20일 터틀 장기 |
| DONCHIAN_20 | 20일 채널 상·하단 |
| MA_TREND | MA 교차 + ADX |
| ICHIMOKU_TREND / SANYAKU / GOELEMENT | 일목 조합 |
| MACD_MOMENTUM / BOLLINGER_BOX | 모멘텀·박스 |
각 항목은 stableStrategyPairs.ts에 고정 LogicNode로 정의 — 편집기에서 leaf 펼치면 MA·DONCHIAN·ICHIMOKU CONDITION들.
8. 횡보필터 탭 (range)
목적: 매수/매도 본 조건과 AND로 묶어 횡보 구간만 또는 횡보만 제외하고 시그널.
| mode | LogicNode | 시그널 해석 |
|---|---|---|
| include | buildInner() 그대로 |
횡보일 때만 true인 leaf |
| exclude | NOT(buildInner()) |
추세일 때만 true |
카테고리 10종 · 내장 52필터 (sidewaysFilterPalette.ts):
| 카테고리 | 대표 필터 | leaf 조건 예 | true인 시장 |
|---|---|---|---|
| ADX | ADX < 25 | ADX LT HL_MID |
약한 추세 (횡보) |
| ADX ≥ 25 (exclude용) | ADX GTE |
강한 추세 | |
| 볼린저 | 밴드 수축 | DIFF_LT UPPER−LOWER < 2% |
변동성 축소 |
| 종가≈중심 | CLOSE ≈ MIDDLE |
밴드 중앙 횡보 | |
| MA | MA5≈MA20 | DIFF_LT MA5−MA20 < N |
이평 수렴 |
| 일목 | 구름 안 | IN_CLOUD |
구름 내부 |
| 구름 얇음 | DIFF_LT SPAN1−SPAN2 |
얇은 구름 | |
| Donchian | 9/20 채널 좁음 | DIFF_LT UPPER−LOWER |
좁은 레인지 |
| 오실레이터 | RSI 40~60 | GTE+LTE 밴드 |
중립 |
| cycle | Stoch N봉 침체 | LOWEST_LTE %K |
lookback 내 20 이하 경험 |
| DMI | +DI≈−DI | DIFF_LT PDI−MDI |
방향성 없음 |
| volume | 거래량 < MA | VOLUME LT VOLUME_MA |
저거래 |
| combo | ADX+구름+RSI | AND | 복합 횡보 |
사용 예:
매수 시그널 = AND( 본래 매수 조건, 횡보필터 exclude「ADX≥25」 )
→ 추세가 있을 때만 매수
9. 추세 탭 (trendline)
10칩 (TREND_LINE_PALETTE_ITEMS). 추세선 정의는 설정 → 전략 설정 (피벗·N·스윙 k).
| 칩 | indicatorType | leftField | conditionType |
|---|---|---|---|
| 종가 | MA | CLOSE_PRICE |
buy: TREND_LINE_CROSS_UP |
| MA / EMA | MA / EMA | MA20 / EMA20 |
sell: TREND_LINE_CROSS_DOWN |
| RSI, MACD, Stoch… | 해당 타입 | 지표선 | 동일 |
공통 DSL: rightField: NONE, lookbackPeriod (기본 10, 설정 trendLineDefaultLookback).
9.1 백엔드 시그널 알고리즘 (TrendLineMath + buildTrendLineCrossUpRule)
- fit 구간:
[i − N, i − 1](현재 봉 제외) - 피벗 선정:
- 상향 돌파 (매수): 하락 저항선 — 스윙 고점 2개,
High₂ < High₁, High 가격 연결 - 하향 돌파 (매도): 상승 지지선 — 스윙 저점 2개,
Low₂ > Low₁, Low 가격 연결
- 상향 돌파 (매수): 하락 저항선 — 스윙 고점 2개,
- 동일 선을
i−1,i에서 extrapolation →left와 CROSS 판정 - 오실레이터 left: 스윙을 지표값 기준, 선도 지표 축
시그널: 해당 봉에서 종가(또는 left 지표)가 N봉 피벗 추세선을 상향/하향 돌파한 그 봉 1개.
전략평가 차트: 선택 봉 위치의 추세선만 overlay (buildSignalTrendLineDrawings).
10. candleRange (N봉 윈도우) — 조건 편집기
팔레트 기본은 candleRange: 1, candleRangeMode 미설정 (= CURRENT).
| candleRangeMode | 의미 |
|---|---|
| CURRENT | 해당 봉에서만 core Rule |
| EXISTS_IN | 최근 N봉 중 하나라도 core true |
| NOT_EXISTS_IN | 최근 N봉 동안 core true 없음 |
SLOPE_* + EXISTS_IN: 최근 N봉 전 구간 상승/하락 추세.
11. 시그널이 차트에 표시되는 경로
| 기능 | 서비스 | Rule 빌드 | 스캔 |
|---|---|---|---|
| 전략평가 | BacktestingService / chart scan |
toRule(buy/sell) |
evalStart..end 각 i |
| 전략편집기 평가 탭 | 동일 (StrategyEvaluationChart) |
동일 | 동일 |
| 실시간 조건 패널 | LiveConditionStatusService.evaluate |
leaf별 + overall | 현재/선택 봉 |
| 실시간 자동매매 | LiveStrategyEvaluator |
TriggerBranch | 분봉 마감 시 |
마커: isSatisfied(i) === true인 봉 i의 시각·종가에 BUY/SELL 마커.
LONG_ONLY: BUY 후 exit Rule true 봉까지 재진입 BUY 억제.
12. 컨트롤 → 시그널 빠른 참조표
| 패널 영역 | 컨트롤 | 생성물 | 한 줄 시그널 요약 |
|---|---|---|---|
| 논리 | AND | AND 노드 | 모든 하위 조건 동시 충족 봉 |
| 논리 | OR | OR 노드 | 하나라도 충족 봉 |
| 논리 | NOT | NOT 노드 | 자식 조건 반대 |
| 밴드 | MA/EMA | 1 CONDITION | 이평 골든/데드크로스 봉 |
| 밴드 | BOLLINGER | 1 CONDITION | 종가 밴드 돌파 |
| 밴드 | DONCHIAN | 1 CONDITION | 종가 채널 돌파 |
| 밴드 | ICHIMOKU | 1 CONDITION | 전환/기준 교차 또는 구름/후행 전용 조건 |
| 보조 | RSI 등 | 1 CONDITION | 지표 vs 임계/시그널 교차·수준 |
| 보조 | NEW_HIGH | 1 CONDITION | 직전 N봉 신고가 교차 |
| 복합 | 2기간 RSI… | 1 composite CONDITION | 단기 vs 장기 교차 |
| 복합 | Stoch×CCI | OR 트리 | 과열+보조 복합 |
| 복합 | 9·20 신고가 | AND 트리 | 신고가+필터 |
| 복합 | 일목 23종 | AND/OR 트리 | 상황별 다중 조건 |
| 복합 | 안정형 18종 | AND/OR 트리 | 템플릿 전략 |
| 횡보 | ADX<25 등 | AND/NOT 트리 | 횡보/추세 필터 (타 조건과 AND) |
| 추세 | 종가/RSI… | 1 CONDITION | N봉 피벗 추세선 돌파 |
13. 편집기에서 시그널 확인 방법
- 전략평가 또는 편집기 평가 탭 실행 → 차트 BUY/SELL 마커
- 하단 봉 선택기로 봉 이동 →
LiveConditionStatusService스타일로 조건별 true/false (평가 패널) - 추세 조건: 선택 봉에서 점선 추세선 overlay
- DSL CondEditor에서
conditionType·leftField·lookbackPeriod변경 → 위 표의 Rule 즉시 반영
14. 코드 인덱스
| 영역 | 경로 |
|---|---|
| 팔레트 UI | frontend/src/components/StrategyEditorPage.tsx |
| 칩 | frontend/src/components/strategyEditor/PaletteChip.tsx |
| DSL 타입 | frontend/src/utils/strategyTypes.ts |
| 노드 생성 | frontend/src/utils/strategyEditorShared.tsx |
| 보조/복합 목록 | frontend/src/utils/strategyPaletteStorage.ts |
| 복합 2기간 | frontend/src/utils/compositeIndicators.ts |
| 횡보 47필터 | frontend/src/utils/sidewaysFilterPalette.ts |
| 추세 9칩 | frontend/src/utils/trendLinePalette.ts |
| 일목 23 | frontend/src/utils/ichimokuSituationStrategy.ts |
| 안정형 18 | frontend/src/utils/stableStrategyPairs.ts |
| Rule 변환 | backend/.../StrategyDslToTa4jAdapter.java |
| 추세선 수학 | backend/.../TrendLineMath.java |
| 백테스트 스캔 | backend/.../BacktestingService.java |
| 실시간 | backend/.../LiveConditionStatusService.java |
문서 버전: 2026-06 — goldenChart 전략편집기·StrategyDslToTa4jAdapter 기준