전략, TradingView Pine v6, 코인 선물

트레이딩뷰 Pine 전략에 손실 한도와 연속 손절 정지를 추가한 작업

비트겟 시그널 웹훅으로 비트코인 무기한 선물을 주문하는 트레이딩뷰 전략이 있었습니다. 가격이 반대로 가면 수량을 늘려 추가 진입하는 구조라, 추가 진입이 전부 체결된 뒤 손절되면 한 번에 잃는 금액이 컸습니다. 진입 규칙에는 손대지 않고, 진입 크기를 한도에 맞춰 줄이는 계산과 매매를 멈추는 조건을 얹은 판을 따로 만들었습니다. 2026년 10월에 초대 전용 스크립트와 설명서로 전달했습니다.

플랫폼
TradingView
Pine Script v6 (strategy)
주문 경로
트레이딩뷰 알림 웹훅
비트겟 시그널 봇
대상
BTCUSDT 무기한 선물
5분봉, 3분봉
제공 방식
초대 전용 스크립트
원본과 별도 스크립트
합성 가격 차트 위에서 손절 뒤 일일 손실 한도로 신규 진입이 막힌 구간과, 두 번째 손절 뒤 연속 손절 정지로 진입 신호가 막힌 구간을 배경색으로 표시한 재현 화면
재현 화면입니다. 합성 가격 데이터에 납품 코드의 보호 장치 로직을 파이썬으로 옮겨 돌렸습니다. 첫 손절 뒤에는 일일 손실 한도가, 다음 날 두 번째 손절 뒤에는 연속 손절 정지가 걸리고, 그 사이에 뜬 진입 신호는 회색 빈 삼각형으로 남습니다. 성과 항목은 뺐습니다.

01원본 전략의 어디가 위험했나

원본은 손실 중인 포지션에 일정 간격으로 수량을 키워 가며 추가 진입합니다. 평단을 끌어내려 작은 반등에도 익절하려는 구조입니다. 대신 첫 진입 비중이 고정이라, 추가 진입이 끝까지 체결되면 포지션이 자본의 몇 배로 커질지와 그 상태에서 손절되면 얼마를 잃는지가 진입할 때는 보이지 않았습니다. 손절이 연달아 나도 전략은 다음 신호에 그대로 들어갔습니다.

이 위험은 원본 설명서의 위험 고지에 먼저 적어 두었고, 손실 폭을 낮춘 판을 별도 스크립트로 드리기로 했습니다. 고객이 두 스크립트를 같은 차트에 올려 같은 기간으로 비교한 뒤 고를 수 있게 하려는 것이었습니다.

02추가한 장치와 각각이 막는 것

장치막는 상황기본 상태
1회 최대 손실 한도추가 진입이 전부 체결된 뒤 손절됐을 때 자본에서 한 번에 빠지는 금액. 수수료를 포함해 계산하고, 한도를 넘으면 첫 진입 비중을 줄입니다.켬
최대 노출 한도추가 진입이 전부 체결됐을 때 포지션이 자본의 정한 배수를 넘는 일. 거래소 레버리지보다 낮게 둡니다.켬
연속 손절 정지손실로 끝난 포지션이 정한 횟수만큼 이어진 뒤에도 계속 들어가는 일.켬, 2회
일일 손실 한도하루 실현 손실이 한도를 넘었는데 같은 날 또 진입하는 일. 다음 날 자동으로 풀립니다.켬
급변동 필터변동성이 평소의 정한 배수를 넘는 동안의 신규 진입. 이미 들고 있는 포지션의 추가 진입은 막지 않습니다.끔 (선택)
추세 이탈 시 추가 진입 보류보유 방향 반대로 추세선을 넘어간 동안의 추가 진입.끔 (비권장)

기본값에서는 진입, 추가 진입, 청산이 원본과 같은 시점에 일어나고 진입 크기만 줄어듭니다. 한도와 장치를 모두 끄면 원본과 같은 결과가 나오게 만들어, 고객이 무엇이 달라졌는지 스위치 하나씩 켜 보며 확인할 수 있습니다.

03첫 진입 크기를 최악의 경우에서 거꾸로 계산

손절 폭을 좁혀서 손실을 줄이면 청산 시점이 달라져 원본과 다른 전략이 됩니다. 그래서 손절 폭은 그대로 두고 첫 진입 비중을 줄였습니다. 추가 진입 횟수, 간격, 수량 배수로 전부 체결됐을 때의 포지션 크기를 먼저 구하고, 거기에 손절 폭과 왕복 수수료를 곱해 최악의 경우 손실을 냅니다. 이 값이 손실 한도 안에 들어오는 비중과 노출 한도 안에 들어오는 비중 중 작은 쪽이 실제 진입 비중이 됩니다. 숏은 더 높은 가격에서 추가되므로 그 기준으로 조금 넉넉하게 잡았습니다.

추가 진입 단계별 포지션 크기를 한도 적용 전과 후로 비교한 막대 도식. 적용 전에는 마지막 단계에서 최대 노출 한도 선을 넘고 적용 후에는 한도 아래에 머문다
재현 도식입니다. 납품 코드의 진입 비중 계산식을 옮겨 그렸고 세로축 눈금은 생략했습니다.

계산 결과는 차트 오른쪽 위 패널에 적용 진입 비중, 예상 1회 최대 손실, 최대 노출과 최소 레버리지로 나옵니다. 최소 레버리지를 따로 보여 주는 데는 이유가 있습니다. 거래소에 설정한 레버리지가 이보다 낮으면 마지막 추가 진입이 증거금 부족으로 체결되지 않고, 그러면 트레이딩뷰가 아는 포지션과 실제 포지션이 어긋납니다. 손실 한도 값을 바꾸면 수익과 낙폭도 같은 비율로 움직인다는 점은 설명서에 표로 넣었습니다.

04추가 진입을 멈추는 장치는 꺼 두었다

추세가 꺾이면 추가 진입을 보류하는 장치도 만들었습니다. 포지션이 더 커지지 않으니 안전해 보입니다. 켜고 같은 기간을 돌려 보니 결과는 반대였습니다. 추가 진입이 중간에 멈추면 포지션은 이미 커졌는데 평단은 덜 내려와 있어서, 원본에서는 반등 때 익절로 끝났던 포지션이 손절로 바뀌었습니다.

기본값을 정한 기준

신규 진입을 막는 장치는 켜고, 이미 들어간 포지션의 추가 진입에 끼어드는 장치는 껐습니다. 보류 기능은 지우지 않고 입력창에 비권장이라고 적어 남겼고, 설명서에 켜지 않기를 권하는 이유를 테스트 결과와 함께 썼습니다. 급변동 필터도 같은 이유로 신규 진입만 막게 했습니다.

05정지가 걸리는 순서와 다시 시작하는 방법

원본은 청산된 포지션의 집계를 화면 표시용으로만 써서 코드 맨 뒤에 있었습니다. 정지 판정에 쓰려면 그 순서로는 한 봉이 늦습니다. 손절이 난 봉에서 곧바로 다음 진입 신호가 나올 수 있기 때문입니다. 집계를 진입 판단 앞으로 옮겨 손절이 확정된 봉부터 정지가 적용되게 했습니다.

한계도 설명서에 그대로 적었습니다. 연속 손절 정지는 두 번째 손절이 난 뒤에야 작동하므로 그 전까지의 손실은 막지 못합니다. 손절이 없거나 드문 기간에는 보호 장치의 효과가 백테스트 숫자에 드러나지 않습니다. 트레이딩뷰 백테스트는 펀딩비와 거래소 강제청산을 반영하지 않습니다.

06납품물

TradingView Pine Script v6 strategy(overlay=true) 알림 웹훅 (주문 체결만) 비트겟 시그널 봇 docx 사용설명서

07자주 묻는 것

제 전략 코드를 드리면 진입 규칙은 그대로 두고 한도만 넣을 수 있나요?

가능합니다. 이 건도 진입과 청산 시점은 원본과 같고, 한도와 장치를 끄면 원본과 같은 결과가 나옵니다. 전략 코드와 진입 규칙은 외부에 공개하지 않습니다.

보호 장치를 넣으면 손실이 나지 않나요?

손실은 납니다. 한 번에 잃는 크기와 연달아 잃는 횟수에 상한을 두는 장치이고, 진입 크기를 줄인 만큼 수익도 같이 줄어듭니다.

거래소 쪽 설정도 바꿔야 하나요?

레버리지를 패널에 나오는 최소 레버리지보다 높게 맞춰야 합니다. 트레이딩뷰 웹훅 알림은 유료 플랜에서 쓸 수 있습니다.

08관련 사례

※ 본 사례는 고객 요구사항을 익명 처리하여 재구성한 것이며, 화면은 합성 가격 데이터로 보호 장치 로직을 재현한 것입니다. 고객 전략의 진입 규칙과 백테스트 성과는 공개하지 않습니다. 알고랩은 매매 자동화 프로그램과 지표, 전략 스크립트를 제작하는 서비스이며, 종목 추천이나 투자 자문, 수익 보장 서비스가 아닙니다. 보호 장치는 손실을 없애지 못하며, 과거 데이터로 확인한 결과가 미래에도 유효하다는 보장은 없습니다. 레버리지 선물 거래는 원금 손실 위험이 큽니다.

쓰시는 전략에 한도를 넣고 싶으시면

Pine 코드와 지금 걱정되는 상황을 상담에서 말씀해 주세요. 어떤 장치가 맞는지는 코드를 읽어 보고 답드립니다.

무료 상담 시작하기 고객 후기 보기
← 제작 사례 전체 보기