글

라벨이 파인스크립트인 게시물 표시

트레이딩뷰 리페인팅(Repainting)의 공포와 Non-Repainting 수식 설계의 모든 것

  반갑습니다! 트레이딩 시스템 개발이나 지표 백테스팅을 하시다 보면 '백테스트에서는 승률이 90%인데 실전에서는 왜 이 모양이지? ' 하고 허탈했던 경험, 한 번쯤 있으실 겁니다. 그 주범이 바로 리페인팅(Repainting, 과거 데이터 왜곡 현상)인데요. 오늘은 실전 트레이더와 개발자분들이 가장 골치 아파하는 Non-Repainting(리페인팅 방지) 스크립트의 수식 구조 설계 원리 를 블로그 포스팅 스타일로 알기 쉽게 파헤쳐 보겠습니다. 트레이딩 자동화나 지표 개발을 공부하다 보면 가장 많이 마주치는 용어가 바로 '논리페인팅(Non-Repainting)'입니다. 백테스트 화면에서는 완벽한 승률을 자랑하던 신호가 실전 매매만 들어가면 뒤늦게 사라지거나 위치가 바뀌어 버리는 현상, 겪어보셨나요? 이번 글에서는 과거 데이터와 실시간 봉 완성 시점 사이에서 발생하는 시그널 왜곡의 원인을 짚어보고, 이를 원천 차단하는 견고한 수식 구조와 파인스크립트(Pine Script) 설계 노하우를 상세히 알아보겠습니다. 1. 왜 리페인팅(Repainting)은 발생할까? (근본 원인 분석) 리페인팅은 단순히 지표의 오류가 아니라, 컴퓨터가 과거 데이터와 실시간 데이터를 처리하는 방식의 허점 때문에 발생합니다. 주요 원인은 크게 세 가지로 나뉩니다. 완성되지 않은 현재 봉( close ) 참조: 실시간으로 움직이는 캔들의 종가는 봉이 마감되기 전까지 계속 변합니다. 마감 전의 close 값을 기준으로 신호를 내면, 봉이 끝났을 때 가격이 반대로 움직여 신호가 증발해 버립니다. 미래 데이터를 끌어오는 security() 함수의 오류: 상위 타임프레임(예: 일봉, 4시간봉)의 데이터를 현재 1분봉으로 가져올 때, 미래의 시점 데이터를 미리 참조( lookahead = barmerge.lookahead_on )하게 되면 백테스트에서는 신성장 동력처럼 보이지만 실전에서는 구현 불가능한 허상이 됩니다. 지그재그(Z...

트레이딩뷰 매매 승률 높이는 법: 손익비(RRR) 자동 계산 & 차트 박스 시각화 Pine Script

  안녕하세요! 오늘은 트레이딩뷰(TradingView)를 이용하시는 분들이라면 꼭 알아두어야 할 필수 팁을 들고 왔습니다. 매매할 때 손익비 계산하느라 머리 아프셨던 분들, 진입 가격에 맞춰 목표가와 손절가를 일일이 눈으로 짐작하느라 피곤하셨던 분들 많으시죠? 오늘 소개해 드릴 Pine Script 코드를 활용하면 매수(Long) 진입 직후 손익비가 어떻게 되는지, Target Price와 Stop Loss 영역이 차트 위에 깔끔한 박스(Box) 객체로 실시간 시각화됩니다. 트레이딩의 승률을 높이는 가장 확실한 방법 중 하나는 바로 '철저한 손익비 관리'인데요, 이 과정을 자동화하여 차트 가독성을 극대화하는 방법을 구글 SEO 최적화 블로그 포스팅 형식으로 상세히 정리해 드리겠습니다. 본문 바로 시작해 볼까요? 1. 트레이딩에서 손익비(Risk-Reward Ratio) 자동 계산이 필수적인 이유 주식, 코인, 해외선물 등 어떤 시장에서 매매를 하든 성공적인 트레이더들의 공통점은 '철저한 리스크 관리'에 있습니다. 매매 진입 전 손실을 볼 금액(Risk)과 수익을 볼 금액(Reward)의 비율을 명확히 계산하고 진입해야 장기적으로 살아남을 수 있습니다. 하지만 수동으로 매번 진입가, 손절가(Stop Loss, SL), 목표가(Take Profit, TP)를 계산하여 수평선을 긋고 손익비를 따지는 것은 번거롭고 실수를 유발하기 쉽습니다. 특히 급변하는 변동성 장세에서는 찰나의 순간에 대응해야 하므로 시각적인 직관성이 무엇보다 중요합니다. 이번에 구현할 Pine Script v5 기반의 손익비 자동 계산 및 박스 시각화 지표 는 이러한 불편함을 단번에 해결해 줍니다. 실시간 계산: 진입 가격 기준 설정된 손절 폭과 목표가 배율에 따라 손익비를 자동으로 산출합니다. 직관적인 박스 시각화: 수익 구간(Reward Zone)과 손실 구간(Risk Zone)을 서로 다른 색상의 박스(Box) 객체로 차트에 직접 그려줍니다. 리스크 관...

거짓 돌파(False Breakout) 필터링을 위한 커스텀 VWMA(거래량 가중 이동평균) 알고리즘 개발

이미지
  코인 선물이나 주식 매매를 하다 보면 가장 뼈아픈 순간 중 하나가 바로 ‘거짓 돌파(False Breakout, fakeout)’에 걸릴 때입니다. 저항선을 강력한 거래량과 함께 시원하게 뚫고 올라가는 줄 알고 롱 포지션을 잡았는데, 알고 보니 세력의 흔들기나 꼬리 달기였고 곧바로 급락해 손절매를 맞았던 경험, 다들 한 번쯤 있으실 겁니다. 시장에서 거래량은 거짓말을 하지 않는다고 하지만, 순간적인 물량 폭탄이나 일시적인 호가창 얇아짐으로 인해 표준 거래량 가중 이동평균(VWMA)도 왜곡되기 쉽습니다. 그래서 오늘은 표준 VWMA의 한계를 극복하고, 가중치 산정 알고리즘을 변형하여 거짓 돌파를 효과적으로 걸러내는 커스텀 VWMA 전략과 파인스크립트(Pine Script) 구현 아이디어 를 자세히 파헤쳐 보겠습니다! 1. 기존 VWMA의 한계와 거짓 돌파의 메커니즘 기존 VWMA의 공식 표준 VWMA는 특정 기간 동안의 가격에 거래량을 가중치로 곱한 뒤, 총 거래량으로 나누어 산출합니다. 왜 거짓 돌파에 취약할까? 이 공식의 가장 큰 약점은 ‘거래량이 많기만 하면 무조건 큰 가중치를 부여한다’는 점입니다. 세력들이 특정 가격대에서 물량을 떠넘기기 위해 일시적으로 수백만 주(또는 대규모 계약)를 터트리며 윗꼬리를 길게 남길 때, 표준 VWMA는 이 거대한 거래량에 그대로 반응하여 위로 훅 꺾여 올라갑니다. 트레이더는 이를 보고 "추세 전환이다" 하고 진입하지만, 실제로는 매도 물량이 쏟아진 '허수 거래량'이거나 '스톱헌팅(Stop Hunting)' 구간이기 때문에 곧바로 가격이 주저앉게 됩니다. 2. 거짓 돌파를 걸러내기 위한 커스텀 VWMA 알고리즘 아이디어 이러한 왜곡을 막기 위해 우리는 가중치 산정 알고리즘에 두 가지 변형을 줄 수 있습니다. ① 로그 스케일링(Logarithmic Volume Scaling) 도입 초대형 거래량이 터졌을 때, 거래량 숫자가 선형(Linear)으로 그대로 반영되면 지...

코인·주식 자동매매의 정석: 주봉·일봉·4시간봉을 결합한 다중 조건 필터(Multi-Filter) 스크립트 활용법

 안녕하세요! 여러분의 성공적인 트레이딩을 돕는 알고리즘 연구소입니다. 요즘 시장이 워낙 변동성이 크다 보니 "어디서 사고 어디서 팔아야 할지" 매 순간 고민되시죠? 단일 지표 하나만 믿고 진입했다가 뼈아픈 손실을 보신 경험도 다들 있으실 겁니다. 그래서 오늘은 단일 타임프레임의 한계를 극복하고, 거시적 추세부터 미시적 진입 타이밍까지 완벽하게 잡아낼 수 있는 다중 조건 필터(Multi-Filter) 스크립트 활용법을 준비했습니다. 주봉, 일봉, 4시간봉의 삼박자를 고루 갖춘 이 전략을 통해 여러분의 매매 승률을 한 단계 높여보세요! 1. 왜 '다중 조건 필터(Multi-Filter)'가 필수일까? 트레이딩을 오래 하다 보면 누구나 한 번쯤 뼈저리게 느끼는 진리가 있습니다. 바로 "한 가지 지표만으로는 시장을 이길 수 없다"는 점입니다. RSI만 믿으면: 과매도 구간에서 계속 떨어지는 칼날을 잡게 됩니다. 이동평균선만 믿으면: 횡보장(Whipsaw)에서 가짜 시그널에 속아 수수료만 날리기 쉽습니다. 이를 해결하기 위해 등장한 개념이 바로 멀티 타임프레임(Multi-Timeframe) 다중 조건 필터 입니다. 큰 그림(주봉)으로 방향성을 확인하고, 중간 그림(일봉)으로 변동성과 위험을 통제하며, 작은 그림(4시간봉)으로 정밀한 타점을 잡는 방식입니다. 이 세 가지 조건이 모두 충족될 때만 매수 버튼이 활성화되도록 스크립트를 구성하면, 불필요한 노이즈를 획기적으로 줄이고 승률 높은 자리만 골라낼 수 있습니다. 2. 다중 조건 필터의 핵심 3가지 요소 분석 그렇다면 구체적으로 어떤 지표들을 어떻게 조합해야 할까요? 우리가 만들고자 하는 스크립트의 뼈대가 되는 세 가지 핵심 축을 살펴보겠습니다. ① 주봉(Weekly) 추세 판독: 큰 바다의 흐름 읽기 모든 트레이딩의 대원칙은 '추세의 방향으로 매매하라'입니다. 주봉은 시장의 거대한 조류와 같습니다. 적용 방법: 주봉 기준 이동평균선 배열(예: E...

Pine Script와 Webhook 기반 자동매매 시스템 연동: alertcondition() 및 JSON 페이로드(Payload) 활용법

 안녕하세요, 트레이더 여러분! 매일 차트 앞을 지키며 손가락이 부르트도록 매수·매도 버튼을 누르느라 피곤하셨죠? " 내가 자는 동안에도 내 전략대로 알맞게 주문이 나갔으면 좋겠다"라는 생각, 차트를 보며 다들 한 번쯤은 해보셨을 텐데요. 오늘은 트레이딩뷰(TradingView)의 강력한 지표 언어인 Pine Script 와 외부 서버를 연결해 주는 Webhook(웹훅) , 그리고 데이터의 전달 매개체인 JSON 페이로드 를 활용해 완전 자동매매 시스템의 초석을 다지는 방법을 아주 쉽게 풀어드리려고 합니다. 천천히 따라오시면 여러분의 훌륭한 전략이 24시간 일하는 나만의 분신으로 탈바꿈할 거예요! 1. Webhook 기반 자동매매의 동작 원리 이해하기 자동매매 시스템을 구축하기에 앞서, 데이터가 어떻게 흘러가는지 구조를 파악하는 것이 중요합니다. [ 트레이딩뷰 (Pine Script) ]                    │  ▼ (신호 발생 및 알림)  [ Webhook (JSON Payload 전달) ]                    │ ▼ (HTTP POST 요청)  [ 중계 서버 (Python / Node.js 등) ]                    │ ▼ (API 키 서명 및 서명 생성)  [ 거래소 API (Binance, Bitget, Upbit 등) ] 지표/전략 감지 : 트레이딩뷰 차트에서 Pine Script로 작성한 기술적 지표나 전략 조건이 충족됩니다. 웹훅 알림(Alert) 발송 : 조건이 만족되면 트레이딩뷰가 설정된 Webhook URL 로 HTTP POST 요청을 보냅니다. 이때 매수/매도 정보가 담긴 JSON 페이로드 ...

Pine Script v5 Array(배열) 활용: 최근 N개 파동의 고점/저점을 배열에 저장하고 변곡점의 평균폭을 산출하는 고급 스크립트

   왜 파동의 변곡점 평균폭을 측정해야 할까? 안녕하세요, 여러분! 👋 차트 보면서 "음, 이 정도 가격 폭으로 툭 떨어졌으니 이제 슬슬 반등할 때가 됐겠지?" 하고 어림짐작으로 매매 타이밍 잡다가 낭패를 본 적... 혹시 저만 그런 거 아니죠? 😅 저도 예전에는 이동평균선이나 RSI 같은 대중적인 지표들만 믿고 감으로 진입했다가, 시장이 내 생각보다 훨씬 깊게 파고 내려오는 바람에 깡통을 찰 뻔한 아찔한 기억이 참 많습니다. 시장은 우리가 짐작하는 것보다 훨씬 다채롭고 거칠게 파동을 그리며 움직이더라고요. 문득 이런 뼈저린 고민이 들었습니다. "도대체 내 눈앞에서 출렁이는 저 거대한 파동들의 진짜 크기를 수치로 딱 계산해서, 세력들의 숨 고르기 구간을 귀신같이 알아낼 수는 없는 걸까?" 단순한 보조지표를 넘어 차트가 직접 과거의 고점과 저점을 기억하게 만들고, 그 파동들의 평균 변곡점 폭을 실시간으로 척척 계산해 내는 방법이 있다면 믿으시겠습니까? 그 해답이 바로 오늘 파헤쳐 볼 트레이딩뷰 파인스크립트 v5(Pine Script v5)의 숨겨진 치트키, 배열(Array) 기능 입니다! 이번 포스팅에서는 "배열"이라는 단어만 들어도 머리가 지끈거리는 분들을 위해, 최근 파동들의 고점과 저점을 똑똑하게 기억해 주는 강력한 배열 로직을 아주 쉽고 친절하게 풀어드리겠습니다. 내 차트에 날개를 달아줄 진짜 고급 무기, 지금 바로 장터에 꺼내볼까요? 🚀 1. 파인스크립트 v5 배열(Array)의 핵심 이해 파인스크립트 v4에서 v5로 넘어오면서 배열 관련 함수들이 대폭 개선되었습니다. 배열을 활용하면 고정된 변수 개수의 한계를 벗어나 유연하게 데이터를 관리할 수 있습니다. array.new_float(size, initial_value) : 실수형 데이터를 담을 수 있는 새로운 배열을 생성합니다. array.push(id, value) : 배열의 끝에 새로운 값을 추가합니다. (최신 데이터 반영) array....

다중 타임프레임(MTF) 데이터 불러오기: request.security() 함수를 활용해 상위 프레임(일봉·4시간봉)의 RSI를 하위 프레임 차트에 오버레이하는 법

안녕하세요, 여러분! 👋 트레이딩뷰에서 나만의 멋진 전략 지표를 만들다가 "아, 지금 5분봉 단타를 치고 있지만 큰손들은 4시간봉이나 일봉에서 어떤 모양을 그리고 있는지 한눈에 같이 보고 싶은데..." 하고 답답하셨던 적, 다들 한 번쯤 있으시죠? 단기 차트만 들여다보고 매매하다 보면 숲은 못 보고 나무만 보다가 큰 추세에 호되게 당하기 십상입니다. 이럴 때 필요한 게 바로 단기 타임프레임(5분봉, 15분봉 등)의 민첩함과 상위 타임프레임(일봉, 4시간봉 등)의 묵직한 대세 추세를 동시에 묶어버리는 다중 타임프레임(MTF) 분석 인데요! 문득 이런 의문, 품어보지 않으셨나요? "도대체 짧은 봉 차트 위에 상위 타임프레임의 RSI 같은 핵심 보조지표를 깔끔하게 띄워놓고 매매할 수는 없는 걸까?" 이 복잡한 숙제를 단번에 해결해 주는 파인 스크립트(Pine Script v5)의 최고급 치트키 함수가 있습니다. 바로 오늘 이야기할 request.security() 입니다! 이번 글에서는 request.security() 를 활용해 상위 타임프레임의 RSI를 찰떡같이 불러와 차트에 오버레이하는 구체적인 코드 작성법부터, 초보자들이 가장 흔하게 겪는 치명적인 실수와 주의사항까지 아주 알기 쉽게 낱낱이 파헤쳐 드리겠습니다. 내 차트의 해상도를 한 차원 훅 높여줄 마법의 코드, 지금 바로 만나러 가볼까요? 🚀 1. request.security() 함수 기초 매개변수 이해 request.security() 함수는 현재 차트의 심볼(종목) 또는 타임프레임이 아닌, 다른 심볼이나 상위/하위 타임프레임의 데이터를 요청할 때 사용합니다. request.security(symbol, timeframe, expression, gaps, lookahead) symbol ( string ) : 데이터를 가져올 종목 코드입니다. 현재 차트와 동일한 종목을 사용할 때는 syminfo.tickerid 를 입력합니다. timeframe ( string...

Pine Script v5 내장 테이블(Table)로 실시간 트레이딩 스코어보드 만들기

 트레이딩뷰(TradingView)에서 자동매매 전략이나 지표를 개발할 때, 실시간 손익(PnL), 승률(Win-Rate), 현재 RSI 지표 와 같은 핵심 데이터가 차트에 한눈에 들어오지 않아 답답했던 적이 있으신가요? Pine Script v5의 내장 객체인 table 기능을 활용하면, 차트 구석에 나만의 대시보드(스코어보드)를 배치하여 주요 성능 지표와 기술적 지표 수치를 실시간으로 모니터링할 수 있습니다. 이번 글에서는 Pine Script v5 테이블 객체의 기본 개념부터 실전 스코어보드 전체 코드 작성법까지 구체적으로 알아보겠습니다. 1. Pine Script v5 테이블(Table) 핵심 개념 Pine Script의 테이블(Table)은 차트 UI의 특정 위치에 고정된 격자 형태의 UI 레이아웃을 생성하는 기능입니다. 봉(Bar)이 업데이트될 때마다 이동하는 일반 라인이나 형태와 달리, 화면에 고정되어 데이터를 직관적으로 출력하는 데 최적화되어 있습니다. 테이블 구현의 3단계 흐름 table.new() : 테이블의 위치, 행(Rows), 열(Columns), 배경색 및 테두리를 정의하여 생성합니다. table.cell() : 지정한 행과 열의 셀에 텍스트, 글자 색상, 배경색, 텍스트 크기 등을 배치하거나 업데이트합니다. var 키워드 활용 : 매 봉(Bar)마다 테이블을 재생성하지 않도록 var 키워드를 사용해 최초 1회만 초기화한 뒤 셀 수치만 갱신합니다. 2. 대시보드 제작 실전 코드 아래 코드는 차트 우상단(position.top_right)에 실시간 누적 손익, 총 진입 횟수, 승률(Win-Rate), 그리고 현재 RSI 수치를 출력하는 스코어보드 예제입니다.

변수 재할당과 시계열 다루기: Pine Script의 := 연산자 및 History Referencing ([]) 활용법

안녕하세요, 여러분! 👋 트레이딩뷰로 나만의 멋진 전략 지표를 만들려고 파인스크립트(Pine Script)를 처음 켜셨다가, 어딘가 익숙한 듯 묘하게 달라서 멈칫하셨던 적 없으신가요? 아마 일반적인 파이썬이나 자바스크립트 생각하고 a = 10 처럼 변수 값을 바꿨는데, 조건문만 지나면 감쪽같이 원래 값으로 되돌아와 있어서 당황하셨거나, "도대체 바로 전 봉의 가격은 어떻게 불러오지?" 하며 머리를 싸매신 분들이 정말 많으실 겁니다. (저도 처음엔 그랬답니다! 😅) 그 이유는 일반 프로그래밍 언어와 달리, 파인스크립트는 차트의 캔들(봉) 하나하나를 차례대로 순회하며 실행되는 독특한 시계열(Series) 구조 를 가졌기 때문인데요. 이 성질을 정확히 모르면 내가 원하지 않는 방향으로 지표가 엉뚱하게 그려지기 십상입니다. 그래서 이번 글에서는 파인스크립트 정복의 필수 관문이자, 시계열 데이터를 내 뜻대로 주무를 수 있게 해주는 두 가지 치트키! 재할당 연산자( := )와 과거 참조 연산자( [] )의 모든 것을 알기 쉽게 싹 정리해 드리겠습니다. 이것만 딱 짚고 넘어가시면 여러분의 코딩 실력이 한 차원 훌쩍 뛰어오를 거예요. 자, 그럼 가볍게 출발해 볼까요? 🚀 1. 변수 선언( = )과 변수 재할당( := )의 차이 파인스크립트에서 변수를 다룰 때 = 과 := 의 차이를 구분하는 것은 매우 중요합니다. = (선언 및 최초 할당): 새로운 변수를 생성할 때 사용합니다. := (재할당): 이미 선언된 기존 변수의 값을 새로운 값으로 업데이트할 때 사용합니다. 왜 := 연산자가 필요할까요? 파인스크립트는 새로운 봉(Bar)이 시작될 때마다 스크립트 전체를 위에서 아래로 다시 실행합니다. 만약 조건문( if ) 내에서 = 으로 변수를 다시 작성하면, 파인스크립트는 기존 변수를 수정하는 것이 아니라 새로운 지역 변수(Local Variable)를 선언하는 것으로 받아들이거나 구문 오류(Syntax Error)를 발생시킵니다.

백테스팅 기본기: strategy() 함수를 이용한 이동평균 교차(Cross) 전략 수익률 검증

이미지
안녕하세요, 여러분! 👋 주식이나 코인, 선물 차트를 보실 때 가장 먼저 켜보는 지표가 혹시 무엇인가요? 아마 열이면 아홉은 이동평균선(Moving Average, MA)을 꼽으실 겁니다. 그중에서도 단기 이평선이 장기 이평선을 위로 뚫고 올라가는 ‘골든크로스(Golden Cross)’가 나오면 가슴이 두근거리며 "앗, 매수 타이밍인가?!" 하고 설레고, 반대로 아래로 꺾이는 ‘데드크로스(Dead Cross)’가 뜨면 덜컥 겁부터 먹게 되죠. 투자자들 사이에서 가장 친숙하면서도 클래식한 매매법이 아닐까 싶습니다. 그런데 문득 이런 의문, 한 번쯤 품어보지 않으셨나요? "정말 이 단순한 교차 신호대로만 매매하면, 실제로 안정적인 수익을 거둘 수 있을까?" 남들의 카더라 통신이나 막연한 감에 소중한 내 자산을 덜컥 맡길 수는 없는 법입니다. 내 매매 전략이 과거 차트 데이터 속에서 진짜로 통했는지 객관적으로 두들겨보는 과정, 즉 ‘백테스팅(Backtesting)’이 반드시 필요한 이유가 바로 여기에 있습니다. 이번 포스팅에서는 트레이딩뷰(TradingView)의 Pine Script v5 와 strategy() 함수를 활용하여, 이동평균 교차 전략의 수익률을 내 손으로 직접 낱낱이 검증해 보는 방법을 처음부터 끝까지 알기 쉽게 파헤쳐 보겠습니다. 코딩을 잘 몰라도 걱정 마세요. 저만 믿고 가볍게 따라오시면 됩니다! 🚀 파인스크립트와 백테스팅의 기초 개념을 시각적으로 빠르게 익히고 싶다면 아래 영상들을 함께 참고해 보세요. 이동평균선 교차 신호, 코드 4줄로 자동표시하기/ 트레이딩뷰 파인스크립트 #02 승률 50%인데 왜 돈을 벌었을까? / 트레이딩뷰 파인스크립트 백테스트 #04 1. indicator() vs strategy() : 백테스팅을 위한 첫걸음 파인스크립트로 스크립트를 작성할 때 가장 먼저 결정해야 하는 것은 스크립트의 유형 입니다. 많은 초보자가 indicator() 상태에서 매수/매도 화살표만 그린 뒤 수익...

📈 Pine Script v5 마스터 클래스: line.new()와 label.new()를 활용한 실시간 자동 지지·저항 시스템 구축

이미지
"매번 차트 켤 때마다 줄 긋고, 가격 바뀔 때마다 수정하고... 솔직히 귀찮지 않으셨나요?" 주식이든 코인이든 트레이딩 좀 해보신 분들이라면 지지선과 저항선 긋기가 얼마나 중요한지 뼈저리게 느끼실 겁니다. 차트를 열 때마다 눈에 불을 키고 수평선을 긋고, 또 가격이 살짝만 튀어도 "어, 여기가 아닌가?" 하고 선을 지웠다 그렸다 반복하기 일쑤죠. 매매보다 선 긋는 데 정성을 더 쏟다 보면 눈도 침침해지고 진이 다 빠지기 마련입니다. "아니, 이 복잡한 지지·저항 라인을 알아서 척척 찾아주는 똑똑한 방법은 없을까?" 하고 고민하셨던 분들이라면 오늘 이 글이 아주 큰 구원투수가 되어드릴 거예요. 손가락 아프게 수동으로 선 긋는 일은 이제 그만! 편하게 차트 보는 꿀팁, 지금부터 바로 알아볼까요? 하지만 트레이딩뷰(TradingView)의 Pine Script v5 를 활용하면 고점과 저점을 실시간으로 감지하고, 차트 위에 자동으로 지지/저항 라인과 명칭 라벨을 그려주는 강력한 나만의 보조지표를 구축할 수 있습니다. 본 가이드에서는 핵심 함수인 line.new() 와 label.new() 의 구조부터 실전 알고리즘 구현 방법까지 2,000자 이상의 상세한 내용으로 완벽하게 파헤쳐 보겠습니다. 1. 지지·저항 자동화의 필요성과 작동 원리 수동 작도의 한계는 명확합니다. 인간의 주관이 개입되기 쉽고, 과거 차트가 길어질수록 화면이 복잡해지며, 시시각각 변하는 변동성에 대응하기 어렵습니다. 자동화 시스템을 도입하면 다음과 같은 이점이 있습니다. 객관성 확보 : 고정된 수학적 기준(예: 특정 기간 내 최고/최저점)을 적용하므로 감정적 매매를 배제할 수 있습니다. 시간 단축 : 반복적인 작도 작업을 없애고 분석과 전략 수립에 집중할 수 있습니다. 직관성 향상 : label.new() 를 통해 라인 근처에 가격이나 상태 메시지를 띄워 한눈에 시세 흐름을 파악할 수 있습니다. 자동 생성 알고리즘의 기본 뼈대는 '특정...

RSI와 MACD를 결합한 나만의 커스텀 다중 하단 지표 제작 완벽 가이드

이미지
  보조지표를 활용한 기술적 분석 시 가장 흔히 발생하는 문제는 '지표 과다로 인한 차트의 가독성 저하'와 '단일 지표가 유발하는 속임수(False Signal)'입니다. 대표적인 역추세 및 강도 지표인 RSI(Relative Strength Index)와 추세 모멘텀 지표인 MACD(Moving Average Convergence Divergence)를 하나로 융합하면, 차트 하단 영역을 효율적으로 절약하면서 신호의 신뢰도를 획기적으로 높일 수 있습니다. 1. 개별 지표의 원리와 결합 시너지 ① RSI (상대강도지수) 원리: 일정 기간 동안 가격의 상승폭과 하락폭의 상대적 크기를 수치화하여 $0 \sim 100$ 사이로 나타냅니다. 장점: 시장이 불타오르거나(과매수, 보통 70 이상) 침체된 상태(과매도, 보통 30 이하)를 명확하게 포착합니다. 단점: 강한 추세장에서는 RSI가 과매수/과매도 영역에 오랫동안 머물며 조기 진입에 따른 손실을 유발할 수 있습니다. ② MACD (이동평균수렴·다이버전스) 원리: 단기 이동평균선과 장기 이동평균선 사이의 거리를 측정하여 추세의 방향과 모멘텀 변화를 파악합니다. 장점: 추세의 전환 시점을 시각적(MACD 선, Signal 선, Histogram)으로 직관적으로 보여줍니다. 단점: 이동평균 기반이므로 신호가 다소 후행하는 경향이 있습니다. ③ 결합 시너지 효과 RSI와 MACD를 결합하면 "RSI가 극단적 과매도 구간에 도달한 상태에서 MACD의 골든크로스가 발생할 때만 진입"하는 등의 조건부 필터링이 가능해집니다. 이를 통해 RSI의 조기 진입 위험과 MACD의 후행성을 상호 보완할 수 있습니다. 2. 커스텀 지표 설계 구조 하나의 지표 창 내에 RSI와 MACD를 직관적으로 배치하기 위한 설계 알고리즘입니다. 메인 축 (Y축): RSI의 기본 스케일인 $0 \sim 100$ 을 메인 축으로 설정합니다. 기준선 설정: 과매수( $70$ ), 과매도( $3...

[TradingView] Pine Script v5로 나만의 보조지표 만드는 법: 기초 가이드

"기본으로 깔려있는 지표들만 쓰다 보면 묘하게 내 입맛에 안 맞고 2% 부족한 느낌, 다들 받으셨죠?" 차트 분석을 조금 하다 보면 "이동평균선 기간을 조금만 다르게 해보고 싶다", "나만의 조건이 맞을 때 화살표가 떴으면 좋겠다" 같은 아쉬움이 생기기 마련입니다. 하지만 트레이딩뷰에서 제공하는 기본 지표만으로는 한계가 명확하죠. "그럼 코딩을 배워야 하나?" 하고 겁부터 먹으실 수 있지만, 걱정 마세요! 트레이딩뷰가 제공하는 **Pine Script(파인 스크립트)**라는 마법 같은 언어만 알면 생각보다 엄청 쉽고 간단하게 내 손으로 직접 나만의 지표를 뚝딱 만들 수 있거든요. 이번 가이드에서는 복잡한 프로그래밍 지식은 싹 빼고, 가장 최신 버전인 Pine Script v5의 기본 구조 부터 초간단 이동평균선 커스텀 지표 를 직접 짜보는 법까지 아주 재미있고 친절하게 알려드릴게요. 나만의 무기를 장착하러 출발해볼까요? 1. Pine Script란 무엇인가? Pine Script는 트레이딩뷰 전용의 경량화된 언어로, 다음과 같은 주요 특징을 가집니다. 고성능 및 가벼운 실행: 서버 측에서 직접 지표 수식을 계산하므로 별도의 프로그램 설치가 필요 없습니다. 시계열 데이터 처리: 가격, 거래량 등 시간의 흐름에 따른 시계열(Series) 데이터를 내장 함수 형태로 쉽게 다룰 수 있습니다. 버전 관리: 현재 최신 버전은 v5 로, 이전 버전(v4 이하)에 비해 변수 선언 방식과 함수 라이브러리가 훨씬 엄격하고 체계적으로 업그레이드되었습니다. 2. Pine Script v5 기본 코드 구조 모든 Pine Script 코드의 최상단에는 스크립트 버전과 지표(또는 전략)의 속성을 정의하는 선언문이 포함되어야 합니다.

파인스크립트 request.security() 활용법: 상위 프레임 RSI 차트 오버레이

이미지
 트레이딩뷰(TradingView) 파인 스크립트(Pine Script v5)를 활용하면 단일 차트 내에서 상위 타임프레임(일봉, 4시간봉 등)의 기술적 지표를 동시에 분석하는 다중 타임프레임(MTF, Multi-Timeframe) 지표 를 구현할 수 있습니다. 하위 타임프레임(예: 15분봉) 차트를 보면서 상위 타임프레임의 상대강도지수(RSI)를 함께 관찰하면, 거시적 추세 방향을 파악하면서 정밀한 진입 타점을 잡는 다중 프레임 분석 이 가능해집니다. 1. 다중 타임프레임(MTF) 분석의 핵심 개념 트레이딩에서 "숲과 나무를 함께 보라"는 원칙은 기술적 분석의 기초입니다. 하위 프레임 차트는 진입과 청산의 시점을 잡는 데 유용하지만, 상위 프레임의 강력한 추세를 역행하는 매매는 실패할 확률이 높습니다. MTF RSI 오버레이의 실전 이점 추세 필터링: 일봉 RSI가 70 이상(과매수) 영역에 있을 때 15분봉 차트에서 섣부른 추세 추종 매수를 자제하거나, 역추세 숏 타점을 신중하게 검토할 수 있습니다. 합일점(Confluence) 발견: 4시간봉 RSI가 과매도(30 이하)에 도달하고 동시에 15분봉 RSI도 과매도 신호를 보일 때, 확률 높은 반등 타점을 도출할 수 있습니다. 차트 전환 피로 감소: 타임프레임을 일일이 변경하며 지표를 비교할 필요 없이 단일 화면에서 멀티 프레임 데이터를 한눈에 파악합니다. 2. Pine Script v5 request.security() 함수 구조 상위 프레임의 데이터를 가져올 때 사용하는 핵심 함수는 request.security() 입니다.

초보자를 위한 Pine Script v5 입문: indicator() 함수와 차트 오버레이 쉽게 풀이

이미지
 파인 스크립트(Pine Script) v5는 트레이딩뷰(TradingView)에서 자신만의 지표와 전략을 구현하기 위해 사용하는 전용 스크립트 언어입니다. 스크립트 작성의 첫걸음은 스크립트의 선언문(Declaration Statement)과 차트 오버레이(Overlay)의 작동 방식 및 메커니즘을 정확히 이해하는 것입니다. Pine Script v5의 핵심 선언 함수인 indicator() 의 주요 옵션부터 차트 오버레이 개념, 실행 메커니즘까지 완벽히 정리를 진행해보겠습니다. 1. Pine Script v5 코드의 기본 구조 Pine Script 파일은 단순한 코드 모음이 아니라 트레이딩뷰 엔진이 해석하는 규칙적인 구조를 갖추고 있습니다. 최소한의 작동 가능한 Pine Script v5 코드는 다음과 같습니다.