Files
goldenChart/매매전략조건.md
2026-06-12 09:08:44 +09:00

24 KiB
Raw Permalink Blame History

매매전략 조건 — Ta4j 지원 × 투자전략 DSL 가용 목록

goldenChart 투자전략 DSL에서 실제로 선택·평가 가능한 지표와 조건을 매수 / 매도 / 횡보 필터링 관점으로 정리한 문서입니다.

평가 원천: 백엔드 StrategyDslToTa4jAdapter가 DSL JSON → Ta4j Rule로 변환하여 백테스트·실시간 시그널을 생성합니다.
관련 문서: 전략편집기 로직 및 동작흐름.md, 백테스팅 시그널 동작방식.md


1. DSL 구조 요약

1.1 논리 트리 노드

노드 타입 역할 예시
AND 모든 자식 조건 동시 충족 추세 + 모멘텀 + 거래량 동시 확인
OR 자식 중 하나만 충족 RSI 과매도 또는 볼린저 하단 터치
NOT 자식 조건의 반대 NOT(ADX ≥ 25) → 횡보 구간만
TIMEFRAME 특정 분봉에서만 평가 [3m] MA 크로스
CONDITION 단일 지표 비교 RSI_VALUE CROSS_UP OVERSOLD_30

1.2 공통 조건 연산자 (COMMON_CONDITIONS)

모든 일반 지표(밴드·오실레이터·거래량 등)에 공통 적용됩니다.

조건 코드 UI 라벨 Ta4j Rule 의미
GT 초과(>) OverIndicatorRule 좌 > 우
LT 미만(<) UnderIndicatorRule 좌 < 우
GTE 이상(≥) Over Equal 좌 ≥ 우
LTE 이하(≤) Under Equal 좌 ≤ 우
EQ 같음(=) epsilon Equal 좌 ≈ 우
NEQ 다름(≠) Not Equal 좌 ≠ 우
CROSS_UP 상향 돌파 CrossedUpIndicatorRule 직전 봉 좌≤우 → 현재 봉 좌>우
CROSS_DOWN 하향 돌파 CrossedDownIndicatorRule 직전 봉 좌≥우 → 현재 봉 좌<우
SLOPE_UP 상승 중 IsRisingRule slopePeriod(기본 3) 구간 연속 상승
SLOPE_DOWN 하락 중 IsFallingRule slopePeriod 구간 연속 하락
DIFF_GT 차이>값 abs(좌−우) > compareValue 두 선 간격이 임계값 초과
DIFF_LT 차이<값 abs(좌−우) < compareValue 두 선 간격이 임계값 미만
HOLD_N_DAYS N일 유지 N봉 연속 Over 좌>우가 holdDays(기본 3)봉 유지

교차(CROSS_*) 주의: 해당 봉 종가(확정 봉) 기준 1봉만 true입니다. 차트 SMA·백테스트 MA 기간·워밍업 봉 수가 다르면 교차 시점이 어긋날 수 있습니다.

1.3 일목균형표 전용 조건 (ICHIMOKU만)

조건 코드 의미
ABOVE_CLOUD 종가 > max(선행1, 선행2) — 구름 위
BELOW_CLOUD 종가 < min(선행1, 선행2) — 구름 아래
IN_CLOUD 종가가 구름대 내부
CLOUD_BREAK_UP 종가가 구름 상단 상향 돌파
CLOUD_BREAK_DOWN 종가가 구름 하단 하향 이탈
SPAN1_GT_SPAN2 / SPAN1_LT_SPAN2 선행1 vs 선행2 크기 비교
SPAN1_CROSS_UP_SPAN2 / SPAN1_CROSS_DOWN_SPAN2 선행1↔선행2 교차
LAGGING_GT_PRICE / LAGGING_LT_PRICE 후행스팬 vs 종가

일목은 위 전용 조건 + 공통 조건(전환선↔기준선 CROSS_UP 등) 모두 사용 가능합니다.

1.4 복합지표 (2기간 교차)

팔레트 「복합지표」 탭에서 동일 지표의 단기·장기 두 값을 비교합니다.

지표 좌/우 필드 예 용도
DONCHIAN DC_UPPER_9DC_UPPER_20 단기·장기 채널 비교
RSI RSI_VALUE_9RSI_VALUE_18 RSI 기간 교차
CCI, ADX, Williams %R, TRIX, VR *_VALUE_{기간} 기간별 강도 비교
PSYCHOLOGICAL, INVEST_PSYCHOLOGICAL PSY_VALUE_{n} 심리도 기간 교차
DISPARITY DISPARITY5DISPARITY20 단기·중기 이격도

요소1·요소2 각각 별도 TIMEFRAME(leftCandleType / rightCandleType) 지정 가능 — 멀티 TF 교차 조건.

1.5 DSL 지원 지표 전체 목록

밴드·추세 (MA_BAND / 밴드 팔레트)

DSL 타입 Ta4j / 차트 비고
MA SMAIndicator MA{n} = n봉 단순이동평균 (SMA 설정 period1~11 반영)
EMA EMAIndicator EMA{n}
BOLLINGER BollingerBands* 상·중·하단밴드, 종가 비교
DONCHIAN DonchianChannel* DC_UPPER/Lower/MIDDLE_{9,10,20,55}
NEW_HIGH PreviousValueIndicator + 최고가 NH_PRIOR_{n} 직전 n봉 최고가
NEW_LOW PreviousValueIndicator + 최저가 NL_PRIOR_{n} 직전 n봉 최저
ICHIMOKU Ichimoku*Indicator 전환·기준·선행·후행 + 구름 조건

오실레이터·모멘텀 (보조지표 팔레트)

DSL 타입 Ta4j 클래스 기본 파라미터(편집기)
RSI RSIIndicator length 9 (차트 설정 상속 가능)
MACD MACDIndicator + EMA signal 12 / 26 / 9
CCI CciOnSourceIndicator 13
ADX ADXIndicator diLength 14, adxSmoothing 14
DMI PlusDIIndicator / MinusDIIndicator diLength 14
STOCHASTIC Slow %K, %D (SMA smoothing) k 12, smooth 3, d 5
WILLIAMS_R WilliamsRIndicator 14
TRIX 3×EMA ROC% + signal EMA 12 / signal 9
OBV OnBalanceVolumeIndicator + MA maLength 9
VR 커스텀 VR length 10
DISPARITY (종가/MA1)×100 ultra 5, short 10, mid 20
PSYCHOLOGICAL 상승일 비율 12
NEW_PSYCHOLOGICAL 신심리도 10
INVEST_PSYCHOLOGICAL 투자심리도 10
VOLUME VolumeIndicator vs SMA MA 20
BWI BollingerBandWidthIndicator (차트) ⚠️ DSL 어댑터 미구현 (§7 참고)
VOLUME_OSC Volume EMA 차이 % (차트) ⚠️ DSL 어댑터 미구현 (§7 참고)

가격 필드 (여러 지표에서 좌·우 operand로 사용)

CLOSE_PRICE, OPEN_PRICE, HIGH_PRICE, LOW_PRICE, VOLUME_VALUE, VOLUME_MA

임계값(hline) 필드

편집기에서 HL_OVER(과열), HL_MID(중앙), HL_UNDER(침체) 또는 K_{숫자} 직접 입력.

지표 HL_OVER HL_MID HL_UNDER
RSI 70 50 30
Stochastic 80 50 20
CCI 100 0 -100
Williams %R -20 -50 -80
ADX 40 25 20
BWI 80 50 20
VR 200 100 50
PSYCHOLOGICAL 75 50 25
NEW_PSYCHOLOGICAL 50 0 -50
INVEST_PSYCHOLOGICAL 75 50 25
DISPARITY 105 100 95
MACD / TRIX / VOLUME_OSC 0

2. 매수(BUY) 조건 — 지표별 활용

매수 조건은 buyCondition 트리에 설정합니다. 아래는 전략 편집기 템플릿·일반적 패턴추천 조건 조합입니다.

2.1 추세 추종 — 이동평균·밴드

패턴 DSL 예시 설명
MA 골든크로스 MA CROSS_UP MA10MA20 단기 SMA가 장기 SMA 상향 돌파
종가 > 장기선 MA CROSS_UP CLOSE_PRICEMA60 가격이 장기 추세선 회복
EMA 단기 > EMA 장기 EMA GT EMA5EMA20 지수이동평균 정배열 진입
볼린저 하단 반등 BOLLINGER CROSS_UP CLOSE_PRICELOWER_BAND 하단밴드 터치 후 종가 회복
볼린저 중심선 돌파 BOLLINGER CROSS_UP CLOSE_PRICEMIDDLE_BAND 박스 상단(중심) 돌파
이격도 과매도 탈출 DISPARITY CROSS_UP DISPARITY20OVERSOLD_95 20일선 대비 -5% 이하에서 반등
이격도 중립 회복 DISPARITY CROSS_UP DISPARITY10NEUTRAL_100 단기 이격 100% 회복

MA 필드 규칙: UI의 MA2(10일) = DSL MA10 = 10봉 SMA. SMA 차트 설정(period1~11)과 전략 편집기 maLines가 일치해야 차트·백테스트 값이 맞습니다.

2.2 모멘텀·오실레이터 — 과매도 반등

패턴 DSL 예시 Ta4j
RSI 과매도 RSI LTE RSI_VALUEOVERSOLD_30 RSIIndicator ≤ 30
RSI 과매도 탈출 RSI CROSS_UP RSI_VALUEOVERSOLD_30 30선 상향 돌파 (반등 확인)
Stochastic 골든크로스 STOCHASTIC CROSS_UP STOCH_KSTOCH_D Slow %K > %D 교차
Stochastic 과매도 STOCHASTIC LTE STOCH_KOVERSOLD_20 %K ≤ 20
MACD 상향 돌파 MACD CROSS_UP MACD_LINESIGNAL_LINE MACD 히스토그램 전환
MACD 0선 돌파 MACD CROSS_UP MACD_LINEZERO_LINE 추세 전환 초기
CCI 과매도 반등 CCI CROSS_UP CCI_VALUEOVERSOLD_NEG100 -100선 상향
Williams %R 과매도 WILLIAMS_R LTE WILLIAMS_R_VALUEOVERSOLD_NEG80 -80 이하
TRIX 시그널 상향 TRIX CROSS_UP TRIX_VALUETRIX_SIGNAL TRIX > signal
VR 과매도 VR LTE VR_VALUEOVERSOLD_70 VR ≤ 70 (매수세 약함 구간 반등)

2.3 추세 강도 확인 — ADX·DMI

패턴 DSL 예시 설명
ADX 추세 시작 ADX CROSS_UP ADX_VALUEADX_25 ADX 25 돌파 — 추세 형성
ADX 강한 추세 ADX GTE ADX_VALUEADX_25 ADX ≥ 25 유지
+DI > -DI DMI GT PDIMDI 상승 방향 우세
+DI 골든크로스 DMI CROSS_UP PDIMDI DMI 골든크로스

매수 필터 조합 예: AND( MA 골든크로스, ADX ≥ 25, +DI > -DI ) — 추세·방향 동시 확인

2.4 돌파·신고가 — Donchian / NEW_HIGH

패턴 DSL 예시 설명
9일 신고가 돌파 NEW_HIGH CROSS_UP CLOSE_PRICENH_PRIOR_9 직전 9봉 최고가 상향 돌파
20일 박스 돌파 NEW_HIGH CROSS_UP CLOSE_PRICENH_PRIOR_20 터틀 S1 / 돈치안 돌파
55일 장기 돌파 NEW_HIGH CROSS_UP CLOSE_PRICENH_PRIOR_55 터틀 S2
Donchian 상단 DONCHIAN CROSS_UP CLOSE_PRICEDC_UPPER_20 20일 채널 상단 돌파
Donchian 단·장기 DONCHIAN CROSS_UP DC_UPPER_9DC_UPPER_20 단기 채널이 장기 상단 돌파

NH_PRIOR_{n}: 당일 봉 제외 직전 n봉의 최고가 (PreviousValueIndicator).

2.5 거래량·수급

패턴 DSL 예시 설명
거래량 > MA VOLUME GT VOLUME_VALUEVOLUME_MA 평균 대비 거래량 증가
OBV 상향 OBV CROSS_UP OBV_LINEOBV_SIGNAL OBV가 시그널선 돌파
OBV > signal OBV GT OBV_LINEOBV_SIGNAL 매수세 누적

2.6 일목균형표 — 상승 전환

패턴 DSL 예시 설명
전환선 > 기준선 ICHIMOKU CROSS_UP CONVERSION_LINEBASE_LINE 전환/기준 골든크로스
구름 상향 돌파 ICHIMOKU CLOUD_BREAK_UP 종가 구름대 상단 돌파
구름 위 ICHIMOKU ABOVE_CLOUD 강세 구간
선행1 > 선행2 ICHIMOKU SPAN1_GT_SPAN2 후행 구름 녹색(강세)
후행 > 종가 ICHIMOKU LAGGING_GT_PRICE 후행스팬 지지

2.7 심리·이격 복합 (33변곡 템플릿)

내장 템플릿 「33변곡 매수」 — AND 조합:

RSI CROSS_UP RSI_VALUE ↔ OVERSOLD_30
MA  CROSS_UP MA5 ↔ MA20
MA  CROSS_UP CLOSE_PRICE ↔ MA20
MACD CROSS_UP MACD_LINE ↔ SIGNAL_LINE
DISPARITY CROSS_UP DISPARITY20 ↔ OVERSOLD_95

2.8 멀티 타임프레임 매수

TIMEFRAME [1h] AND (
  TIMEFRAME [1h] MA CROSS_UP MA20 ↔ MA60    -- 장기 추세
  TIMEFRAME [3m] MA CROSS_UP MA10 ↔ MA20    -- 단기 진입
  TIMEFRAME [3m] RSI GT RSI_VALUE ↔ OVERSOLD_30
)

START 노드 또는 TIMEFRAME 노드로 1m ~ 1M 분봉 지정. DSL에 없는 분봉은 평가되지 않습니다.


3. 매도(SELL) 조건 — 지표별 활용

매도 조건은 sellCondition 트리에 설정합니다. positionMode에 따라 동작이 달라집니다.

positionMode 동작
LONG_ONLY 보유 포지션이 있을 때만 매도 시그널 (Ta4j shouldExit)
SIGNAL_ONLY 포지션 무관, exit Rule만 충족하면 매도 시그널 (지표 연속 관찰·차트 마커용)

3.1 추세 이탈 — MA·밴드

패턴 DSL 예시 설명
MA 데드크로스 MA CROSS_DOWN MA10MA20 단기 SMA 하향 이탈
종가 < 장기선 MA CROSS_DOWN CLOSE_PRICEMA20 추세선 이탈
볼린저 상단 과열 BOLLINGER CROSS_UP CLOSE_PRICEUPPER_BAND 상단밴드 돌파 (차익)
볼린저 중심 이탈 BOLLINGER CROSS_DOWN CLOSE_PRICEMIDDLE_BAND 중심선 하향
이격도 과매수 DISPARITY GTE DISPARITY20OVERBOUGHT_105 +5% 이상 과열

3.2 모멘텀·오실레이터 — 과매수·약세

패턴 DSL 예시 설명
RSI 과매수 RSI GTE RSI_VALUEOVERBOUGHT_70 RSI ≥ 70
RSI 과매수 이탈 RSI CROSS_DOWN RSI_VALUEOVERBOUGHT_70 70선 하향 (피크 확인)
Stochastic 데드크로스 STOCHASTIC CROSS_DOWN STOCH_KSTOCH_D %K <%D
MACD 하향 MACD CROSS_DOWN MACD_LINESIGNAL_LINE MACD 데드크로스
CCI 과매수 CCI GTE CCI_VALUEOVERBOUGHT_100 CCI ≥ 100
Williams %R 과매수 WILLIAMS_R GTE WILLIAMS_R_VALUEOVERBOUGHT_NEG20 -20 이상
TRIX 하향 TRIX CROSS_DOWN TRIX_VALUETRIX_SIGNAL TRIX < signal

3.3 추세 약화 — ADX·DMI

패턴 DSL 예시 설명
ADX < 25 ADX LT ADX_VALUEADX_25 추세 약화
-DI > +DI DMI GT MDIPDI 하락 방향 우세
DMI 데드크로스 DMI CROSS_DOWN PDIMDI +DI가 -DI 하향 이탈

3.4 지지 붕괴 — Donchian / NEW_LOW

패턴 DSL 예시 설명
9일 신저가 이탈 NEW_LOW CROSS_DOWN CLOSE_PRICENL_PRIOR_9 단기 지지 붕괴
20일 채널 하단 NEW_LOW CROSS_DOWN CLOSE_PRICENL_PRIOR_20 박스 하단 이탈
터틀 S1 청산 DONCHIAN CROSS_DOWN CLOSE_PRICEDC_LOWER_10 10일 최저가 이탈
터틀 S2 청산 DONCHIAN CROSS_DOWN CLOSE_PRICEDC_LOWER_20 20일 최저가 이탈

3.5 일목 — 약세 전환

패턴 DSL 예시 설명
전환 < 기준 ICHIMOKU CROSS_DOWN CONVERSION_LINEBASE_LINE 데드크로스
구름 하향 ICHIMOKU CLOUD_BREAK_DOWN 구름대 하단 이탈
구름 아래 ICHIMOKU BELOW_CLOUD 약세 구간
후행 < 종가 ICHIMOKU LAGGING_LT_PRICE 후행스팬 저항

3.6 33변곡 매도 템플릿 (AND)

RSI GTE RSI_VALUE ↔ OVERBOUGHT_70
MA  CROSS_DOWN MA5 ↔ MA20
MA  CROSS_DOWN CLOSE_PRICE ↔ MA20
MACD CROSS_DOWN MACD_LINE ↔ SIGNAL_LINE
DISPARITY GTE DISPARITY20 ↔ OVERBOUGHT_105

3.7 손절·익절 스타일 (DSL만으로)

목적 접근
추세 추종 청산 Donchian / NEW_LOW 하단 이탈
과열 익절 RSI ≥ 70, 볼린저 상단, 이격도 ≥ 105
모멘텀 소멸 MACD 데드크로스, TRIX 하향
시간 청산 HOLD_N_DAYS유지 조건용 — 청산 타이머는 별도 로직 없음

4. 횡보(레인지) 필터링

횡보 필터는 매수·매도 진입을 막거나, 횡보 전용 역추세 전략을 만들 때 사용합니다. DSL에는 「횡보」 전용 지표 타입은 없고, 아래 조건을 AND / NOT / OR 로 조합합니다.

4.1 ADX — 추세 강도 (가장 일반적)

목적 조건 해석
횡보만 ADX LT ADX_VALUEADX_25 (또는 HL_MID) ADX < 25 → 비추세
추세만 (횡보 제외) NOT( ADX LT ADX_25 ) 또는 ADX GTE ADX_25 ADX ≥ 25
ADX 하락 중 ADX SLOPE_DOWN ADX_VALUE 추세 강도 감소

Ta4j: ADXIndicator — Wilder smoothing.

적용 예 (추세 매수 + 횡보 필터):

AND(
  MA CROSS_UP MA10 ↔ MA20,          -- 매수 신호
  ADX GTE ADX_VALUE ↔ ADX_25        -- 횡보 구간 제외
)

4.2 볼린저 밴드 폭 (BWI 대체)

BWI 지표는 편집기 UI에 있으나 DSL 어댑터에서 BWI_VALUE 미해석(§7). 대신 밴드 폭을 직접 비교:

목적 조건 해석
Squeeze (수축) BOLLINGER DIFF_LT UPPER_BANDLOWER_BAND, compareValue=좁은값 상·하단 간격 좁음
Expansion (확장) BOLLINGER DIFF_GT UPPER_BANDLOWER_BAND, compareValue=넓은값 변동성 확대

Ta4j: BollingerBandsUpper/LowerIndicator, StandardDeviationIndicator.

4.3 MA 수렴 (MA 스프레드)

목적 조건 해석
MA 수렴 MA DIFF_LT MA5MA60, compareValue=작은값 단·장기 이격 좁음
MA 확산 MA DIFF_GT MA5MA60, compareValue=큰값 추세 뚜렷

또는 MA5 GT MA20 AND MA20 GT MA60 (정배열) vs DIFF_LT MA5 MA20 (횡보).

4.4 일목 구름대

목적 조건 해석
구름 안 (횡보) ICHIMOKU IN_CLOUD 가격이 선행스팬 사이
구름 밖만 거래 NOT( ICHIMOKU IN_CLOUD ) 또는 ABOVE_CLOUD OR BELOW_CLOUD 방향성 구간만
얇은 구름 ICHIMOKU DIFF_LT LEADING_SPAN1LEADING_SPAN2, compareValue=작은값 선행1·2 근접

4.5 Donchian / NEW_HIGH·LOW 채널 폭

목적 조건 해석
좁은 채널 DONCHIAN DIFF_LT DC_UPPER_20DC_LOWER_20, compareValue=작은값 20일 고저 폭 좁음
박스권 NEW_HIGH DIFF_LT NH_PRIOR_20NL_PRIOR_20 (복합 비교) 신고·신저 gap 좁음

4.6 오실레이터 중립대

목적 조건 해석
RSI 중립 AND( RSI GTE 40, RSI LTE 60 )K_40, K_60 사용 40~60 박스
Stochastic 중립 STOCH_K GTE/LTEHL_MID ± 범위 %K 50 근처
CCI 중립 CCI DIFF_LT CCI_VALUEHL_MID, compareValue=50 0선 근처
MACD 히스토그램 수렴 MACD DIFF_LT HISTOGRAMZERO_LINE, compareValue=작은값 모멘텀 약함

4.7 DMI — 방향성 없음

목적 조건 해석
+DI ≈ -DI DMI DIFF_LT PDIMDI, compareValue=작은값 방향 우열 없음
양 DI 모두 낮음 AND( PDI LT HL_UNDER, MDI LT HL_UNDER ) 힘 없는 횡보

4.8 거래량·VR

목적 조건 해석
거래량 위축 VOLUME LT VOLUME_VALUEVOLUME_MA 평균 이하
VR 중립 VR DIFF_LT VR_VALUENEUTRAL_100, compareValue=20 VR ≈ 100

4.9 횡보 필터 조합 템플릿

A. 추세 전략에 횡보 제외 (권장)

AND(
  {본래 매수/매도 조건},
  ADX GTE ADX_VALUE ↔ ADX_25,
  NOT( ICHIMOKU IN_CLOUD )
)

B. 횡보 역추세 전용 (볼린저 + RSI)

AND(
  ADX LT ADX_VALUE ↔ ADX_25,
  BOLLINGER CROSS_UP CLOSE_PRICE ↔ LOWER_BAND,   -- 매수 (하단 반등)
  RSI LTE RSI_VALUE ↔ OVERSOLD_30
)

C. Squeeze 후 돌파 대기

AND(
  BOLLINGER DIFF_LT UPPER_BAND ↔ LOWER_BAND, compareValue=좁은값,
  ADX LT ADX_25
)
-- 이후 별도 OR 분기에서 NEW_HIGH 돌파 등 추가

5. 논리 조합 · TIMEFRAME · Stoch 페어

5.1 AND / OR / NOT 패턴

전략 유형 구조
보수적 진입 AND(추세, 모멘텀, 거래량, NOT 횡보)
다중 신호 OR(RSI 매수, MACD 매수, MA 매수)
횡보 제외 NOT( ADX LT 25 ) 또는 NOT( IN_CLOUD )
확인 필터 AND( CROSS_UP, HOLD_N_DAYS ) — 돌파 N봉 유지

5.2 TIMEFRAME

  • START 노드 또는 TIMEFRAME 자식으로 1m, 3m, 5m, 10m, 15m, 30m, 1h, 4h, 1d, 1w, 1M 지정
  • 상위 TF 추세 + 하위 TF 진입이 일반적
  • 복합지표 leftCandleType / rightCandleType으로 서로 다른 분봉 비교 가능

5.3 Stoch 페어 (stochPair)

OR 루트에 Stochastic 과열/과매도와 다른 보조지표를 순차 OR로 묶는 복합 패턴 (편집기 고급 기능).


6. Ta4j 클래스 매핑 (DSL → 백엔드)

DSL indicatorType DB indicatorParams 주요 Ta4j 클래스
MA SMA SMAIndicator
EMA SMA (period) EMAIndicator
RSI RSI RSIIndicator
MACD MACD MACDIndicator, EMAIndicator
CCI CCI CciOnSourceIndicator
ADX ADX ADXIndicator
DMI DMI PlusDIIndicator, MinusDIIndicator
STOCHASTIC Stochastic StochasticOscillatorKIndicator, SMAIndicator
WILLIAMS_R WilliamsPercentRange WilliamsRIndicator
TRIX TRIX 3×EMAIndicator + ROC
OBV OBV OnBalanceVolumeIndicator
BOLLINGER BollingerBands BollingerBands*Indicator
DONCHIAN DonchianChannels DonchianChannel*Indicator
NEW_HIGH / NEW_LOW DonchianChannels HighestValueIndicator / LowestValueIndicator + PreviousValueIndicator
ICHIMOKU IchimokuCloud Ichimoku*Indicator
VR VR 커스텀 (IndicatorService 동일)
DISPARITY Disparity 종가/SMA 기반
PSYCHOLOGICAL 계열 Psychological 등 커스텀
VOLUME (Volume) VolumeIndicator, SMAIndicator

교차·비교 Rule: CrossedUpIndicatorRule, CrossedDownIndicatorRule, OverIndicatorRule, UnderIndicatorRule, IsRisingRule, IsFallingRule.


7. 알려진 제한 · 미지원

7.1 DSL UI 있으나 어댑터 미구현 ⚠️

지표 편집기 필드 현상
BWI BWI_VALUE resolveIndicatorField에 분기 없음 → 종가로 폴백 (warn 로그)
VOLUME_OSC VOLUME_OSC_VALUE 동일 — 종가로 폴백

차트(IndicatorService)에서는 BollingerBandWidthIndicator, Volume EMA OSC 정상 계산. 전략 조건에는 §4.2·§4.8의 대체 조합 사용 권장.

7.2 Ta4j·차트에만 있고 DSL 없음

IndicatorController /list 기준 차트 전용 예:

WMA, HMA, VWMA, KeltnerChannels, BBPercentB, StochRSI, AwesomeOscillator, DPO, Momentum, ROC, TSI, Aroon, ParabolicSAR, Choppiness, MassIndex, ATR, MFI, ChaikinMF

→ 전략 DSL 팔레트에 없으면 조건으로 사용 불가.

7.3 기타 주의

항목 내용
MA 기간 MA{n} = n봉 SMA. UI 「MA2(10일)」= MA10
워밍업 백테스트는 전략 최대 MA 기간 + 평가 구간(200봉)만큼 워밍업 후 평가
CROSS 1봉 교차 조건은 해당 봉 1회만 true
hline HL_* 또는 K_{숫자} — 보조지표 설정 thresholdOverride로 전략 전용 값 가능
NEW_PSYCHOLOGICAL 복합·조건 지원, 메인 팔레트에는 없을 수 있음 — 템플릿·직접 추가

8. 빠른 참조 — 조건 × 지표 매트릭스

= INDICATOR_CONDITIONS에 포함. = 일목 전용 추가. = UI만 (어댑터 미구현).

지표 GT/LT/GTE/LTE CROSS SLOPE DIFF HOLD 일목전용
MA, EMA
BOLLINGER
DONCHIAN, NEW_HIGH, NEW_LOW
RSI, MACD, CCI, STOCHASTIC
ADX, DMI, TRIX, OBV, VR
DISPARITY, PSY*
VOLUME
BWI, VOLUME_OSC
ICHIMOKU

9. 참고 소스

파일 내용
frontend/src/utils/strategyTypes.ts 지표 목록, INDICATOR_CONDITIONS, 필드 옵션
frontend/src/utils/strategyEditorShared.tsx 편집기 필드·hline·기본 파라미터
frontend/src/utils/compositeIndicators.ts 복합지표 2기간 교차
frontend/src/utils/strategyPresets.ts 내장 매수/매도 템플릿
backend/.../StrategyDslToTa4jAdapter.java DSL → Ta4j Rule 변환
backend/.../IndicatorService.java 차트 지표 계산 (Ta4j)

문서 버전: goldenChart DSL 기준 (StrategyDslToTa4jAdapter + strategyTypes.ts 동기화)