콘텐츠로 이동

컨텍스트 변수 레퍼런스

컨텍스트 변수는 런타임이 스크립트 실행 시 자동 주입하는 읽기 전용 값입니다.

symbol

현재 종목 코드.

  • 타입: str
  • 예: "005930", "000660"
log("symbol:", symbol)

symbol_name

현재 종목명. 종목 코드 매핑 실패 시 코드 문자열이 그대로 들어옵니다.

  • 타입: str
log("name:", symbol_name)

symbol_market

시장 구분.

  • 타입: str
  • 일반 값: "KOSPI", "KOSDAQ"
if symbol_market == "KOSDAQ":
    log("변동성 높은 시장")

event

실행 트리거 이벤트.

  • 타입: str
  • 값: "price_change" 또는 "candle_close"
if event == "candle_close":
    log("봉 마감 기준 판단")

price

현재 가격.

  • 타입: float
log("price:", price)

volume

현재 거래량.

  • 타입: float
log("volume:", volume)

position

현재 포지션 정보. 속성 접근과 딕셔너리 접근 모두 가능합니다.

  • 타입: PositionNamespace (읽기 전용)
속성 타입 설명
qty int 보유 수량
avg_price float 평균 매입가
side str "LONG" 또는 "FLAT"
open_pnl float 평가 손익 (원)
open_pnl_pct float 평가 손익률 (%)
if position.qty > 0:
    log("보유중:", position.qty, "주", "손익률:", position.open_pnl_pct)

bar

현재 봉(bar)의 상태 정보. 봉 확정 여부, 실시간/시뮬레이션 구분에 사용합니다.

  • 타입: BarNamespace (읽기 전용)
속성 타입 설명
is_confirmed bool 봉이 확정됐는지 (미확정 봉에서는 False)
is_realtime bool 실시간(live/paper) 모드인지
is_history bool 시뮬레이션(백테스트) 모드인지
is_first bool 첫 번째 봉인지
is_last bool 마지막(최신) 봉인지
is_new bool 새 봉 시작인지 (is_confirmed와 동일)
# 봉 확정 시에만 주문 판단
if bar.is_confirmed:
    rsi = ta.rsi(chart("5T").close, 14)
    if rsi < 30:
        buy(tag="rsi_oversold")

strategy

전략 실행 파라미터. 주문 기준 스케일과 최대 보유 수량을 설정합니다.

  • 타입: StrategyNamespace
  • 설정 가능 속성: order_on, max_holding
속성 타입 기본값 설명
order_on str "5T" 주문 판단 기준 타임스케일
max_holding int 10 최대 보유 수량
# 일봉 기준으로 주문, 최대 5주
strategy.order_on = "1D"
strategy.max_holding = 5

account

현재 연결된 브로커 계좌의 읽기 전용 정보.

  • 타입: dict (읽기 전용)
log("계좌:", account)

script_params

실행 시 전달된 파라미터 딕셔너리.

  • 타입: dict
length = script_params.get("length", 14)
rsi = ta.rsi(chart("1D").close, length)

요약표

변수 타입 설명
symbol str 종목 코드
symbol_name str 종목명
symbol_market str 시장 구분
event str price_change / candle_close
price float 현재 가격
volume float 현재 거래량
position PositionNamespace 포지션 (qty, avg_price, side, open_pnl, open_pnl_pct)
bar BarNamespace 봉 상태 (is_confirmed, is_realtime, is_history 등)
strategy StrategyNamespace 전략 설정 (order_on, max_holding)
account dict 브로커 계좌 정보
script_params dict 실행 파라미터

참고

  • warm_up은 현재 DSL 컨텍스트 변수로 주입되지 않습니다.
  • 상태 유지가 필요하면 var 네임스페이스를 사용하세요.

관련 문서