TVExtBot가이드
전략 자동매매

비공개 스크립트 자동매매

소스가 보호된 트레이딩뷰 스크립트나 초대 전용 스크립트를 TVExtBot 주문메시지와 연결해 자동매매하는 방법. 인풋에 주문ID를 넣는 방식과, 코드를 고칠 수 없을 때 조건식으로 매수·매도 메시지를 골라 실행하는 방식을 예제로 설명합니다.

소스가 보이지 않는 보호 스크립트나 초대 전용 스크립트도 주문메시지와 연결할 수 있습니다. 코드를 고칠 수 없으니 전략 변환은 쓸 수 없고, 스크립트 종류에 따라 아래 방법 중 하나를 씁니다.

스크립트방법
인풋에 인증키·주문ID 칸이 있는 전략인풋에 주문ID 넣기
주문메시지 칸이 없는 전략조건식으로 메시지 고르기
지표(얼러트 조건이 있는 것)얼러트 조건마다 메시지 넣기

인풋에 주문ID 넣기

작성자가 TVExtBot용으로 만든 전략은 인풋 화면에 인증키·주문ID·메모 칸이 있습니다. 소스가 숨겨져 있어도 인풋은 고칠 수 있으므로, 공개 전략과 같은 방법으로 씁니다.

주문메시지 저장

「메시지 작성」에서 진입·청산 메시지를 만들어 리스트에 저장합니다. 각 메시지의 주문ID를 확인해 둡니다.

인풋에 입력

차트에 전략을 넣고 인풋 화면에 인증키, 주문ID, 메모를 넣습니다.

얼러트 만들기

얼러트 메시지 칸에 {{strategy.order.alert_message}}만 넣습니다. → 얼러트 설정하기

예시는 하이킨아시 업스윙을 보세요.

인풋에 넣은 인증키는

인풋 값은 내 차트 설정에만 저장되고, 스크립트 작성자에게는 보이지 않습니다.

조건식으로 메시지 고르기

주문메시지 칸이 없는 전략은 얼러트 메시지 칸에 전체 메시지를 여러 줄 넣습니다. 전략 얼러트는 진입이든 청산이든 체결될 때마다 같은 메시지를 보냅니다. 그래서 줄마다 조건식(condition_exp)을 붙여, 맞는 줄만 실행되게 합니다.

롱만 하는 전략: 매수 체결이면 첫 줄(진입), 매도 체결이면 둘째 줄(청산)만 실행됩니다.

TVM:{"exchange":"binance-futures","account":"기본계정","symbol":"BTC/USDT","type":"market","side":"buy","bal_pct":20,"condition_exp":"buy={{strategy.order.action}}","token":"인증키"}:MVT
TVM:{"exchange":"binance-futures","account":"기본계정","symbol":"BTC/USDT","type":"market","side":"close","condition_exp":"sell={{strategy.order.action}}","token":"인증키"}:MVT

메시지 만들기

「메시지 작성」에서 진입·청산 메시지를 각각 만듭니다. ⑤ 실행 조건의 「조건식」에 진입은 buy={{strategy.order.action}}, 청산은 sell={{strategy.order.action}}을 넣습니다.

전체 메시지 붙여넣기

미리보기의 [전체 메시지]를 복사해, 전략 얼러트 메시지 칸에 한 줄에 하나씩 붙여넣습니다.

테스트넷에서 확인

진입과 청산이 각각 한 번씩만 실행되는지 테스트넷에서 먼저 확인합니다.

청산 종류가 여러 개일 때

분할 청산과 전량 청산처럼 매도가 여러 종류면 {{strategy.order.comment}}로 나눕니다. 주문의 comment는 차트 아래 전략 테스터 → 거래 목록의 신호 이름에서 확인합니다.

예: 분할 청산의 신호 이름이 part, 전량 청산이 close라면

TVM:{"exchange":"binance-futures",...,"side":"close",(분할 수량),"condition_exp":"part={{strategy.order.comment}}","token":"인증키"}:MVT
TVM:{"exchange":"binance-futures",...,"side":"close","condition_exp":"close={{strategy.order.comment}}","token":"인증키"}:MVT

위 예시는 형식만 보여 줍니다. 수량 부분은 「메시지 작성」에서 분할 청산 메시지를 만들어 그대로 쓰세요.

조건식 방식의 주의사항

  • 단축 메시지(주문ID)로는 안 되고 전체 메시지만 됩니다. 트레이딩뷰는 얼러트 메시지 칸의 플레이스홀더만 바꾸고, 리스트에 저장된 메시지는 바꾸지 않습니다.
  • 메시지를 고치면 얼러트를 다시 만들어야 합니다.
  • 롱·숏을 오가는 전략은 buy·sell만으로 진입과 청산을 구분할 수 없습니다. 신호 이름({{strategy.order.comment}} 또는 {{strategy.order.id}})으로 나누세요.
  • 조건식이 맞지 않는 줄은 알림 없이 건너뜁니다. 아무 주문도 안 나가면 신호 이름이 정확한지 먼저 확인하세요.
  • 전략이 수량을 직접 계산하게 하려면 전략 수량대로 주문을 함께 보세요.

얼러트 조건마다 메시지 넣기

비공개 지표는 얼러트 조건(alertcondition)을 골라 얼러트를 만듭니다. 조건마다 얼러트를 하나씩 만들고, 메시지 칸에 그 신호에 맞는 주문메시지(단축 메시지도 됨)를 넣습니다. → 얼러트 메시지 정리

비공개 스크립트를 고를 때

코드를 볼 수 없어 리페인팅 여부나 로직을 확인하기 어렵습니다. 여러 기간·종목으로 백테스트하고, 테스트넷에서 실제 얼러트를 충분히 확인한 뒤 쓰세요.

이 페이지에서