콘텐츠로 이동

언어 개요

QuantiqDSL은 Python 유사 문법으로 전략을 작성하는 트레이딩 DSL입니다.

기본 구조

version("1.0")
description("전략 설명")
param("length", "RSI 계산 기간", 14)

c = chart("1D")
rsi = ta.rsi(c.close, param("length", "RSI 계산 기간", 14))

if rsi[0] < 30:
    buy(tag="RSI 과매도")
elif rsi[0] > 70:
    sell(tag="RSI 과매수")
else:
    hold(tag="중립")

주요 네임스페이스

네임스페이스 용도
ta.* 기술 지표
math.* 수학 함수
var.* 실행 간 상태 유지

핵심 타입

  • TSeries: 시계열 ([0] 최신, [1] 이전)
  • ScaleChart: chart() 반환 객체
  • 기본 타입: int, float, str, bool, list, dict, tuple

상태 모델

  • 일반 변수는 이벤트마다 초기화됩니다.
  • 지속 상태는 var에 저장해야 합니다.
var.init(counter=0)
var.counter = var.counter + 1

제한 사항

  • import, def, class, lambda 금지
  • exec, eval, open 등 금지

자세한 내용은 샌드박스 제약 참고.