Pine Script v6 (strategy)
비트겟 시그널 웹훅으로 비트코인 무기한 선물을 주문하는 트레이딩뷰 전략이 있었습니다. 가격이 반대로 가면 수량을 늘려 추가 진입하는 구조라, 추가 진입이 전부 체결된 뒤 손절되면 한 번에 잃는 금액이 컸습니다. 진입 규칙에는 손대지 않고, 진입 크기를 한도에 맞춰 줄이는 계산과 매매를 멈추는 조건을 얹은 판을 따로 만들었습니다. 2026년 10월에 초대 전용 스크립트와 설명서로 전달했습니다.
원본은 손실 중인 포지션에 일정 간격으로 수량을 키워 가며 추가 진입합니다. 평단을 끌어내려 작은 반등에도 익절하려는 구조입니다. 대신 첫 진입 비중이 고정이라, 추가 진입이 끝까지 체결되면 포지션이 자본의 몇 배로 커질지와 그 상태에서 손절되면 얼마를 잃는지가 진입할 때는 보이지 않았습니다. 손절이 연달아 나도 전략은 다음 신호에 그대로 들어갔습니다.
이 위험은 원본 설명서의 위험 고지에 먼저 적어 두었고, 손실 폭을 낮춘 판을 별도 스크립트로 드리기로 했습니다. 고객이 두 스크립트를 같은 차트에 올려 같은 기간으로 비교한 뒤 고를 수 있게 하려는 것이었습니다.
| 장치 | 막는 상황 | 기본 상태 |
|---|---|---|
| 1회 최대 손실 한도 | 추가 진입이 전부 체결된 뒤 손절됐을 때 자본에서 한 번에 빠지는 금액. 수수료를 포함해 계산하고, 한도를 넘으면 첫 진입 비중을 줄입니다. | 켬 |
| 최대 노출 한도 | 추가 진입이 전부 체결됐을 때 포지션이 자본의 정한 배수를 넘는 일. 거래소 레버리지보다 낮게 둡니다. | 켬 |
| 연속 손절 정지 | 손실로 끝난 포지션이 정한 횟수만큼 이어진 뒤에도 계속 들어가는 일. | 켬, 2회 |
| 일일 손실 한도 | 하루 실현 손실이 한도를 넘었는데 같은 날 또 진입하는 일. 다음 날 자동으로 풀립니다. | 켬 |
| 급변동 필터 | 변동성이 평소의 정한 배수를 넘는 동안의 신규 진입. 이미 들고 있는 포지션의 추가 진입은 막지 않습니다. | 끔 (선택) |
| 추세 이탈 시 추가 진입 보류 | 보유 방향 반대로 추세선을 넘어간 동안의 추가 진입. | 끔 (비권장) |
기본값에서는 진입, 추가 진입, 청산이 원본과 같은 시점에 일어나고 진입 크기만 줄어듭니다. 한도와 장치를 모두 끄면 원본과 같은 결과가 나오게 만들어, 고객이 무엇이 달라졌는지 스위치 하나씩 켜 보며 확인할 수 있습니다.
손절 폭을 좁혀서 손실을 줄이면 청산 시점이 달라져 원본과 다른 전략이 됩니다. 그래서 손절 폭은 그대로 두고 첫 진입 비중을 줄였습니다. 추가 진입 횟수, 간격, 수량 배수로 전부 체결됐을 때의 포지션 크기를 먼저 구하고, 거기에 손절 폭과 왕복 수수료를 곱해 최악의 경우 손실을 냅니다. 이 값이 손실 한도 안에 들어오는 비중과 노출 한도 안에 들어오는 비중 중 작은 쪽이 실제 진입 비중이 됩니다. 숏은 더 높은 가격에서 추가되므로 그 기준으로 조금 넉넉하게 잡았습니다.
계산 결과는 차트 오른쪽 위 패널에 적용 진입 비중, 예상 1회 최대 손실, 최대 노출과 최소 레버리지로 나옵니다. 최소 레버리지를 따로 보여 주는 데는 이유가 있습니다. 거래소에 설정한 레버리지가 이보다 낮으면 마지막 추가 진입이 증거금 부족으로 체결되지 않고, 그러면 트레이딩뷰가 아는 포지션과 실제 포지션이 어긋납니다. 손실 한도 값을 바꾸면 수익과 낙폭도 같은 비율로 움직인다는 점은 설명서에 표로 넣었습니다.
추세가 꺾이면 추가 진입을 보류하는 장치도 만들었습니다. 포지션이 더 커지지 않으니 안전해 보입니다. 켜고 같은 기간을 돌려 보니 결과는 반대였습니다. 추가 진입이 중간에 멈추면 포지션은 이미 커졌는데 평단은 덜 내려와 있어서, 원본에서는 반등 때 익절로 끝났던 포지션이 손절로 바뀌었습니다.
신규 진입을 막는 장치는 켜고, 이미 들어간 포지션의 추가 진입에 끼어드는 장치는 껐습니다. 보류 기능은 지우지 않고 입력창에 비권장이라고 적어 남겼고, 설명서에 켜지 않기를 권하는 이유를 테스트 결과와 함께 썼습니다. 급변동 필터도 같은 이유로 신규 진입만 막게 했습니다.
원본은 청산된 포지션의 집계를 화면 표시용으로만 써서 코드 맨 뒤에 있었습니다. 정지 판정에 쓰려면 그 순서로는 한 봉이 늦습니다. 손절이 난 봉에서 곧바로 다음 진입 신호가 나올 수 있기 때문입니다. 집계를 진입 판단 앞으로 옮겨 손절이 확정된 봉부터 정지가 적용되게 했습니다.
한계도 설명서에 그대로 적었습니다. 연속 손절 정지는 두 번째 손절이 난 뒤에야 작동하므로 그 전까지의 손실은 막지 못합니다. 손절이 없거나 드문 기간에는 보호 장치의 효과가 백테스트 숫자에 드러나지 않습니다. 트레이딩뷰 백테스트는 펀딩비와 거래소 강제청산을 반영하지 않습니다.
가능합니다. 이 건도 진입과 청산 시점은 원본과 같고, 한도와 장치를 끄면 원본과 같은 결과가 나옵니다. 전략 코드와 진입 규칙은 외부에 공개하지 않습니다.
손실은 납니다. 한 번에 잃는 크기와 연달아 잃는 횟수에 상한을 두는 장치이고, 진입 크기를 줄인 만큼 수익도 같이 줄어듭니다.
레버리지를 패널에 나오는 최소 레버리지보다 높게 맞춰야 합니다. 트레이딩뷰 웹훅 알림은 유료 플랜에서 쓸 수 있습니다.
Pine 코드와 지금 걱정되는 상황을 상담에서 말씀해 주세요. 어떤 장치가 맞는지는 코드를 읽어 보고 답드립니다.
무료 상담 시작하기 고객 후기 보기