이미 공부해 온 "파동에너지 이론" 매매 기법을, 트레이딩뷰 차트에서 눈으로 바로 확인하고 싶다 —
이 요청을 Pine Script v6 커스텀 지표로 구현한 사례입니다. 자동으로 주문을 내는 프로그램이 아니라,
다이버전스·크로스 타점을 화면에 표시하고 알림으로 알려주는 시각 보조 도구입니다.
플랫폼
TradingView Pine Script v6 (indicator)
특징
이평 6개 + 3중 슬로우 스토캐스틱 다이버전스
유형
커스텀 보조지표 (시각 표시 · 알림)
제작 기간
약 1~2주 (차트 튜닝 반복 포함)
제작한 파동에너지 지표 화면 — 이평선·신호는 가격 차트에, 3중 스토캐스틱·다이버전스는 하단 패널에 표시 (예시 화면)
01배경 · 고객 요구사항
고객은 "파동에너지 이론"이라는 매매 기법을 오래 공부해 온 트레이더였습니다.
이동평균선과 스토캐스틱의 다이버전스로 추세 전환을 미리 잡아내는 방식인데,
문제는 이 타점을 매번 차트를 눈으로 훑으며 사람이 직접 찾아야 했다는 것입니다.
봉우리·바닥을 손으로 이어 보며 판단하다 보니 놓치는 구간이 많았습니다.
요청은 명확했습니다. ① 매매를 대신 실행하는 프로그램이 아니라,
② 다이버전스·크로스 타점을 차트에 자동으로 표시해 주고,
③ 타점이 나오면 알림으로 알려주는 보조지표를 만들어 달라는 것.
실제 진입·청산 판단과 주문은 본인이 직접 하겠다는 전제였습니다.
또한 특정 종목·시간봉에 묶이지 않고 코인·주식·환율 어디서든 쓸 수 있어야 하고,
주로 모바일 트레이딩뷰에서 보기 때문에 화면이 복잡하지 않아야 했습니다.
"차트를 함께 보며 민감도를 맞춰 가는 튜닝" 과정이 계약의 일부였기에,
모든 판단 기준을 사용자가 직접 조절할 수 있게 만드는 것이 핵심이었습니다.
02구현 방식
한 개의 지표 안에서 가격 차트(메인 패널)와 오실레이터(서브 패널)를
동시에 그리는 구조로 설계했습니다. Pine Script v6의 indicator(overlay=false)로 서브 패널을 만들고,
이동평균선과 신호 마커는 force_overlay=true로 가격 차트 위에 올렸습니다. 구성은 이렇습니다:
모든 신호는 봉 마감 기준으로 확정하고, 피봇은 ta.pivothigh/low의 우측 확정바 이후에만 인정하도록 만들었습니다.
한 번 찍힌 표시가 나중에 사라지거나 위치가 바뀌지 않는 비리페인팅 구조라, 과거로 스크롤해도 신호 위치가 그대로입니다.
구체적으로는 — 판정 로직과 그리기를 하나로 묶은 재사용 함수 f_divergence()를 만들고,
이 함수를 10D용·5D용 두 인스턴스로 호출했습니다. Pine 함수 내부의 var 배열이 인스턴스별로 독립된 상태를 유지하기 때문에,
같은 코드 한 벌로 대파동·중파동 다이버전스를 각각 독립적으로 추적할 수 있습니다.
03해결한 기술 난제
다이버전스 피봇 앵커링 + 재사용 엔진
처음에는 다이버전스 선을 이동평균선의 봉우리에 맞춰 그렸는데, 스토캐스틱은 이평보다 먼저 꺾이기 때문에
선 끝이 오실레이터의 경사면에 찍혀 트레이더 눈에 "봉우리 대 봉우리가 아니다 = 틀려 보인다"는 문제가 생겼습니다.
그래서 선의 기준점을 오실레이터(스토캐스틱) 자신의 봉우리로 전환하고, 반대편(이평) 값은 ±N봉 스냅으로 극값을 추출하도록 바꿨습니다.
덕분에 다이버전스 선이 구조적으로 항상 봉우리 대 봉우리로 그려져, 사람이 손으로 긋는 선과 일치합니다.
오실레이터 피봇 앵커링 — 파라미터 보정(스냅)으로 때우는 대신 앵커 자체를 오실레이터로 이동. 두 시계열 비교 시각화는 "사람이 눈으로 긋는 쪽"에 맞춰야 신뢰를 얻음
재사용 다이버전스 엔진 — f_divergence() 하나로 10D/5D 두 인스턴스 운용(함수 내부 var 배열의 인스턴스별 독립 상태 활용). 어떤 오실레이터↔라인 조합에도 이식 가능
5D 선행 필터 — 5D를 10D보다 먼저 판정하도록 순서를 배치해, 직전 N봉(기본값) 안에 같은 방향 5D가 선행한 10D만 인정
plotshape 상수 제약 우회 — Pine의 plotshape는 크기·텍스트가 상수만 허용 → 크기 단계별 분기 + label.new 병용으로 동적 표시 구현
요구 변경은 토글로 흡수 — "표시를 빼 달라"는 요청도 코드를 삭제하지 않고 기본값 off 처리 → 이후 "다시 보고 싶다"에 재작업 없이 대응
04핵심 기능
10D / 5D 다이버전스 표시 · 알림 — 10이평↔대파동, 5이평↔중파동 다이버전스를 라벨 최소화해 표시하고 봉마감 시 알림
5D 선행 필터 — 중파동이 먼저 전환된 뒤 나오는 대파동 신호만 통과시켜 잔신호를 줄임
골든/데드크로스 점 — 10·20이평 교차 지점을 점으로 표시
복합 매수/매도 신호 — 추세(정/역배열) + 이평 패턴 + 다이버전스 + 크로스가 겹치는 타점을 화살표로 표시 (토글 on/off)
전 파라미터 튜닝 — 이평 종류·기간·색상, 스토캐스틱 세팅, 피봇/간격/허용치, 선행 구간, 알림까지 모두 input으로 노출해 차트에서 즉시 조절
범용 · 모바일 지원 — 코인·주식·환율 어디서나 동작(종목·시간봉 하드코딩 없음), 모바일 트레이딩뷰에서도 깔끔하게 표시
05제작 과정 (약 1~2주)
1단계 · 기법 정리·기본 구조 — 교재 기법을 규칙으로 정리, 이평 6개 + 3중 슬로우 스토캐스틱 구현, overlay=false + force_overlay 이중 패널 구성
2단계 · 다이버전스 엔진·신호 — f_divergence() 재사용 엔진, 10D/5D 판정, 골크/데크 점, 복합 신호, 봉마감 알림 구현
3단계 · 차트 튜닝·전달 — 실제 차트를 함께 보며 피봇 앵커 보정·5D 선행 필터 추가 등 민감도 튜닝 반복, 한글 사용설명서(.docx)와 함께 전달
06납품 결과물
Pine Script v6 지표 파일 (단일 파일 · 트레이딩뷰에 붙여넣기만 하면 동작)
그룹별로 정리된 전 파라미터 input (이평·스토캐스틱·패턴·다이버전스·필터·알림)
한글 사용설명서 (.docx) — 튜닝 레시피 · 프리셋 표 · FAQ 포함
매수/매도 · 10D/5D 다이버전스 알림 설정 가이드
납품 후 30일 무료 AS (협의 범위 내)
07기술 스택
TradingView Pine Script v6 (indicator)3중 슬로우 스토캐스틱 (대·중·소파동)ta.pivothigh / pivotlow (비리페인팅)force_overlay 이중 패널alertcondition · alert() 알림docx-js 한글 사용설명서
※ 본 사례는 과거 고객 요구사항을 익명 처리하여 재구성한 것이며, 수익률·수익금은 공개하지 않습니다.
본 지표는 차트 분석을 돕는 보조지표(시각 표시·알림)이며, 매매를 자동으로 실행하지 않습니다.
알고랩은 지표·프로그램 맞춤 제작 서비스이며, 종목 추천·투자 자문·수익 보장 서비스가 아닙니다.
지표의 신호가 미래 수익을 보장하지 않으며, 모든 투자 판단과 주문은 사용자 본인의 책임입니다.
이런 커스텀 지표, 바로 견적 받아보세요
쓰고 계신 매매 기법이 이미 있으셔도, 아직 아이디어 단계여도 괜찮습니다.
알고랩이 24시간 빠르게 답변드립니다.