콘텐츠로 이동

기술 지표 개요

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()

관련 문서