전략 수량대로 자동매매하는 방법
트레이딩뷰 전략이 계산한 주문 수량을 그대로 거래소 주문에 쓰는 방법입니다. 전체 주문메시지의 수량 값을 트레이딩뷰 플레이스홀더
{{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":"인증키"}:MVT3. 만드는 순서
- 「메시지 작성」에서 거래소·계정·종목을 고르고 개수 기준으로 진입 메시지(매수)와 청산 메시지를 각각 만듭니다. ⑤ 실행 조건의 「조건식」에 진입은
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 가 있으면 그 비율도 반영되므로, 종가만 사용하려면 가격 조정 옵션을 끄세요. 지정가는 바로 체결되지 않을 수 있습니다. 다른 거래소는 호가 보정 방식이 다르므로 같은 동작을 보장하지 않습니다.