기술 지표 개요¶
QuantiqDSL은 ta.* 네임스페이스를 통해 40개 이상의 기술적 분석 지표를 제공합니다. 모든 지표는 TSeries를 입력으로 받아 TSeries를 반환합니다.
기본 사용법¶
c = chart("1D")
# 단일 반환값 지표
sma = ta.sma(c.close, 20) # TSeries 반환
rsi = ta.rsi(c.close, 14) # TSeries 반환
# 다중 반환값 지표
macd_line, signal, hist = ta.macd(c.close, 12, 26, 9) # 3개 TSeries
upper, mid, lower = ta.bbands(c.close, 20, 2.0) # 3개 TSeries
k, d = ta.stoch(c.high, c.low, c.close, 14, 3, 3) # 2개 TSeries
지표 분류¶
이동평균 (Moving Averages)¶
추세의 방향과 강도를 파악하는 기본 지표입니다.
| 함수 | 설명 |
|---|---|
ta.sma() |
단순이동평균 |
ta.ema() |
지수이동평균 |
ta.wma() |
가중이동평균 |
ta.rma() |
윌더이동평균 (Smoothed MA) |
오실레이터 (Oscillators)¶
과매수/과매도 구간을 판별하는 지표입니다.
| 함수 | 설명 |
|---|---|
ta.rsi() |
상대강도지수 |
ta.macd() |
MACD |
ta.stoch() |
스토캐스틱 |
ta.cci() |
상품채널지수 |
밴드 & 변동성 (Bands & Volatility)¶
가격 변동 범위와 변동성을 측정하는 지표입니다.
| 함수 | 설명 |
|---|---|
ta.bbands() |
볼린저밴드 |
ta.atr() |
평균진정범위 |
ta.stdev() |
표준편차 |
모멘텀 (Momentum)¶
가격 변화의 속도와 방향을 측정합니다.
| 함수 | 설명 |
|---|---|
ta.mom() |
모멘텀 |
ta.roc() |
변화율 |
ta.adx() |
평균방향지수 |
거래량 (Volume)¶
거래량 기반 분석 지표입니다.
| 함수 | 설명 |
|---|---|
ta.obv() |
OBV (On-Balance Volume) |
ta.vwap() |
VWAP (거래량가중평균가격) |
유틸리티 (Utility)¶
범용 분석 보조 함수입니다.
| 함수 | 설명 |
|---|---|
ta.highest() |
N봉 최고값 |
ta.lowest() |
N봉 최저값 |
ta.change() |
변화량 |
ta.crossover() |
상향 교차 |
ta.crossunder() |
하향 교차 |
ta.sum() |
N봉 합계 |
ta.valuewhen() |
조건 충족 시점의 값 |
ta.barssince() |
조건 충족 후 경과 바 수 |
지표 조합 예제¶
version("1.0")
description("복합 지표 전략")
c = chart("1D")
# 추세 판단
sma20 = ta.sma(c.close, 20)
sma60 = ta.sma(c.close, 60)
trend_up = sma20 > sma60
# 모멘텀 확인
rsi = ta.rsi(c.close, 14)
macd_line, signal, hist = ta.macd(c.close, 12, 26, 9)
# 변동성
atr = ta.atr(c.high, c.low, c.close, 14)
# 차트 표시
c.line("SMA 20", sma20, color="orange")
c.line("SMA 60", sma60, color="blue")
# 매매 로직
if trend_up and rsi[0] < 40 and hist[0] > hist[1]:
buy(tag="상승추세 + RSI 저점 + MACD 히스토그램 반등")
elif not trend_up and rsi[0] > 60:
sell(tag="하락추세 + RSI 고점")
else:
hold()
관련 문서¶
- ta.* 전체 레퍼런스 — 모든 지표의 상세 시그니처
- 데이터 접근 — TSeries 타입 설명
- 지표 조합 전략 — 실전 예제