트레이딩뷰 웹훅 자동매매는 차트 조건이 맞으면 얼러트가 메시지를 HTTP POST로 보내는 구조다. 트레이딩뷰는 신호를 지정한 주소까지 전달하며, 메시지를 받아 증권사 주문으로 바꾸는 프로그램은 사용자가 준비한다.
얼러트에서 웹훅까지
먼저 지표나 파인 스크립트 전략으로 진입·청산 조건을 만든다. 트레이딩뷰에서 얼러트를 만들고 조건, 발동 시점, 메시지와 웹훅 URL을 정하면 조건이 맞는 순간 지정한 주소로 POST 요청이 전송된다.
전략 규칙이 봉 마감을 기준으로 한다면 얼러트도 봉 마감 시점에 맞춘다. 그래야 전략이 기록한 신호와 밖으로 보낸 신호가 같은 봉을 가리킨다. 메시지에는 상품, 가격, 주문 방향, 계약 수처럼 주문 프로그램이 읽을 값을 담는다.
JSON 메시지와 전송 형식
얼러트 메시지가 유효한 JSON이면 요청의 Content-Type은 application/json으로 전송된다. JSON이 아니면 text/plain으로 전송된다. 주문 프로그램에서 필드를 나누어 읽으려면 짧고 일정한 JSON 형식이 편하다.
{
"symbol": "{{ticker}}",
"price": "{{close}}",
"side": "{{strategy.order.action}}",
"quantity": "{{strategy.order.contracts}}"
}
실제 API 키, 계좌 정보, 비밀번호는 얼러트 메시지에 넣지 않는다. 메시지는 신호에 필요한 값만 담고, 주문 프로그램이 보관한 설정과 결합해 주문 요청을 만들도록 나눈다.
플레이스홀더로 값 넣기
플레이스홀더는 얼러트가 발생한 순간의 값을 메시지에 넣는 표기다. {{ticker}}는 종목, {{close}}는 종가를 넣는다. 가격 정보에는 {{open}}, {{high}}, {{low}}를 쓸 수 있고, 거래소와 차트 간격에는 {{exchange}}, {{interval}}을 쓸 수 있다.
전략 얼러트에서는 {{strategy.order.action}}으로 주문 방향, {{strategy.order.contracts}}로 계약 수, {{strategy.order.price}}로 주문 가격을 보낼 수 있다. 그 밖에 주문 식별값과 설명에는 {{strategy.order.id}}, {{strategy.order.comment}}, {{strategy.order.alert_message}}를 쓴다.
현재 포지션을 함께 전달하려면 {{strategy.position_size}}, {{strategy.market_position}}, {{strategy.market_position_size}}를 쓸 수 있다. 이전 포지션은 {{strategy.prev_market_position}}, {{strategy.prev_market_position_size}}로 넣는다. 주문 프로그램이 메시지를 중복해서 받았는지 가를 때는 주문 식별값과 종목, 방향을 함께 읽도록 구성할 수 있다.
웹훅을 쓰기 위한 조건
웹훅 알림은 Essential 이상 유료 요금제에서 제공된다(2026년 9월 확인 기준). 계정에는 2단계 인증을 켜야 웹훅 얼러트를 사용할 수 있다. 웹훅 URL은 포트 80 또는 443을 사용해야 하며 IPv6는 지원되지 않는다(2026년 9월 확인 기준).
웹훅을 받은 서버가 요청을 3초 안에 처리하지 못하면 요청이 취소된다(2026년 9월 확인 기준). 따라서 수신 부분은 메시지를 먼저 받아 기록하고 빠르게 응답한 뒤, 주문 조건 검사와 증권사 API 호출을 이어서 처리하는 구조로 만들 수 있다.
트레이딩뷰가 맡는 범위
공식 문서에서 웹훅은 얼러트가 발생했을 때 지정한 주소로 데이터를 보내는 기능으로 설명된다. 특정 증권사의 주문 API로 변환하는 중간 프로그램의 구성은 다루지 않는다. 웹훅만 설정했다고 해외선물 주문이 생성되는 것은 아니다.
주문 프로그램은 JSON을 읽고 종목 코드를 증권사 형식에 맞추며, 방향·계약 수·주문 종류를 확인한 뒤 공식 API에 요청한다. 이어서 주문 응답과 미체결 또는 미결제 상태를 확인한다. 이 역할을 트레이딩뷰와 분리해 두면 차트 규칙과 증권사 주문 부분을 각각 고칠 수 있다.
처음 한다면 이 순서로
- 파인 스크립트 전략에 방향·진입·청산 조건과 계약 수를 넣는다.
- 봉 마감 여부를 정하고 같은 기준으로 얼러트를 만든다.
- 플레이스홀더를 넣은 짧은 JSON 메시지를 작성한다.
- 2단계 인증과 포트 80 또는 443의 수신 주소를 준비한다.
- 수신 프로그램이 메시지를 읽고 주문 응답까지 기록하는지 시험한다.
책에서 이어지는 것
파인 스크립트로 옮길 규칙의 구성은 제11장 지표 조합 전략에서 이어진다. 계약 수와 하루 실행 횟수, 프로그램을 켜고 끄는 시간은 제14장 나만의 매매 루틴에서 정한다.