TVExtBot가이드
전략 자동매매

전략 수량대로 주문

트레이딩뷰 전략이 계산한 주문 수량({{strategy.order.contracts}})과 가격({{close}})을 TVExtBot 전체 주문메시지에 넣어 그대로 주문하는 방법을 롱 전략 예제와 조건식, 주의사항으로 설명합니다.

트레이딩뷰 전략이 계산한 주문 수량을 그대로 거래소 주문에 씁니다. 전체 주문메시지의 수량 값을 플레이스홀더 {{strategy.order.contracts}}로 바꾸는 방법입니다.

항목의 뜻은 주문메시지 항목 설명, 전략 얼러트 설정은 전략으로 자동매매하기에 있습니다.

먼저 읽어 주세요

  • 평소에는 단축 주문메시지를 권합니다. 이 방법은 전략 수량이 꼭 필요할 때 쓰는 고급 방법입니다.
  • 메시지는 「메시지 작성」에서 만든 뒤 수량·가격 값만 바꾸세요. 따옴표·쉼표가 하나만 틀려도 주문되지 않습니다.
  • 실제 계정에 쓰기 전에 꼭 테스트넷에서 확인하세요.

1. 원리

전체 메시지의 amount 값에 {{strategy.order.contracts}}를 넣습니다. 트레이딩뷰가 얼러트를 보낼 때 이 자리를 실제 주문 수량으로 바꿉니다.

단축 메시지와 전략 변환은 리스트에 저장한 수량 설정을 씁니다. 전략이 계산한 수량을 보내려면 이 방법을 쓰세요.

피라미딩·분할 진입처럼 주문마다 수량이 다른 전략에도 쓸 수 있습니다. 다만 거래소 수량 단위에 맞춰 소수 부분이 잘릴 수 있으니 주의사항을 먼저 보세요.

2. 롱 전략 예제

전략 얼러트는 진입이든 청산이든 체결될 때마다 같은 메시지를 보냅니다. 매수 메시지 하나만 넣으면 청산 때도 매수 주문이 나갑니다. 그래서 방향별 메시지를 함께 넣고, 조건식(condition_exp)으로 하나만 실행되게 합니다.

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

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

3. 만드는 순서

진입·청산 메시지 만들기

「메시지 작성」에서 거래소·계정·종목을 고르고 개수 기준으로 진입(매수)·청산 메시지를 각각 만듭니다. ⑤ 실행 조건의 「조건식」에 진입은 buy={{strategy.order.action}}, 청산은 sell={{strategy.order.action}}을 넣습니다. 청산 주문방법은 한방향 모드면 close, 양방향 모드면 buy_close입니다.

전략 얼러트에 붙여넣기

미리보기의 [전체 메시지]를 복사해 트레이딩뷰 전략 얼러트 메시지 칸에 한 줄에 하나씩 붙여넣습니다. 리스트에 저장하지 않을 때는 「메시지 만들기」 옆 [복사]로 복사합니다.

수량 값만 바꾸기

각 줄의 "amount":0.01 같은 수량 값만 "amount":{{strategy.order.contracts}}로 바꿉니다. 플레이스홀더에는 따옴표를 붙이지 않습니다.

테스트넷에서 확인

웹훅 알림을 설정하고 먼저 테스트넷에서 확인합니다.

  • 진입과 청산이 각각 한 번씩만 실행되는지
  • 전략 리포트의 거래 수량과 실제 주문 수량이 같은지

전략 수량을 사용할 때 주의해 주세요

  • 전략 「속성」의 기본 주문 크기를 고정 수량으로 정하고, 그 단위가 거래소 주문 수량 단위와 같은지 확인해 주세요. 코인 개수와 선물 계약 수는 거래소·마켓마다 다릅니다. → 거래소별 주의사항
  • 바이낸스 선물·바이빗의 진입 주문에 leverage 를 넣으면 수량에 그 배수가 곱해집니다. 전략 수량과 맞추려면 메시지 작성에서 레버리지 옵션을 끄세요. 거래소 계정에 설정된 레버리지와 메시지의 수량 계산은 구분해 주세요.
  • 거래소 수량 단위에 맞춰 수량이 줄어들 수 있습니다. 최소 수량·최소 주문금액보다 작으면 주문이 실행되지 않거나 거절됩니다.
  • bal_pct·amount_type 과 함께 쓰지 마세요. amount_type 을 금액 단위로 지정하면 전략 수량도 금액으로 해석됩니다.
  • 단축 메시지에는 사용할 수 없습니다. 주문ID 메시지에 amount 를 덧붙여도 무시되고 저장된 수량 설정을 사용합니다.
  • 리스트에서 켠 테스트 모드는 전체 메시지 얼러트에 연동되지 않습니다. 실제 주문 처리까지 확인하려면 테스트넷을 사용해 주세요. 메시지 자체에 "dry_run":true 를 넣어 수신만 확인할 수도 있지만, 수량·잔고·호가 유효성까지 검사하지는 않습니다. → 테스트 모드
  • 위 예제는 롱만 하는 전략용입니다. 롱·숏을 오가는 반전 전략은 한 번의 체결 수량에 기존 포지션을 닫는 수량과 새로 여는 수량이 합쳐져 있어 이 방법을 그대로 쓸 수 없습니다. 청산 주문은 현재 포지션 수량을 넘지 않게 제한됩니다.

4. 지정가를 트레이딩뷰 값으로

바이낸스 선물 지정가 주문은 price에도 트레이딩뷰 값을 넣을 수 있습니다. 지정가 메시지를 만든 뒤 가격 값만 {{close}}로 바꾸면, 얼러트가 울린 봉의 당시 가격으로 지정가 주문을 냅니다.

  • 봉 마감 전에 온 얼러트라면 확정 종가가 아닙니다. 전략의 체결 가격과도 다를 수 있습니다.
  • 서버가 거래소 호가 단위에 맞춰 가격을 보정합니다.
TVM:{"exchange":"binance-futures","account":"기본계정","symbol":"BTC/USDT","type":"limit","side":"buy","price":{{close}},"amount":0.002,"token":"인증키"}:MVT

위 예제는 가격만 바뀌고 수량은 0.002로 고정입니다.

  • price_pct가 있으면 그 비율도 반영됩니다. 종가만 쓰려면 가격 조정 옵션을 끄세요.
  • 지정가는 바로 체결되지 않을 수 있습니다.
  • 다른 거래소는 호가 보정 방식이 달라 같은 동작을 보장하지 않습니다.

이 페이지에서