본문 바로가기
취미/주식

트레이딩뷰 TradingView의 Pine Script 처음 시작 가이드, 비트코인 이동평균선 골든 크로스 예시까지

by icebear3000 2025. 5. 15.
반응형

트레이딩뷰를 사용해 본 트레이더라면 다양한 지표와 전략들을 차트에 적용해 본 경험이 있을 것입니다. 하지만 자신만의 독특한 아이디어를 구현하고 싶다면 어떻게 해야 할까요? 바로 여기서 Pine Script의 강력함이 빛을 발합니다


Pine Script란 무엇인가?

Pine Script는 TradingView에서 개발한 자체 프로그래밍 언어로, 사용자가 커스텀 지표와 전략을 만들고 TradingView 서버에서 실행할 수 있게 해주는 도구입니다

 

사실 TradingView의 기본 내장 지표 대부분이 Pine Script로 작성되었다는 사실, 알고 계셨나요? 가벼우면서도 강력한 이 언어는 특히 지표 개발과 전략 백테스팅에 최적화되어 있습니다

 

Pine Script의 특징

  • 클라우드 기반으로 작동하는 경량화된 언어
  • 기술적 분석을 위한 도구 제작에 특화
  • 파이썬과 유사하지만 더 간결한 문법 구조
  • 15만 개 이상의 커뮤니티 스크립트가 공유되어 있음

Pine Script 시작하기

 

Pine Script를 시작하기 위해서는 TradingView 계정이 필요합니다. 계정이 있다면, 다음 단계를 따라 첫 스크립트를 만들어 볼 수 있습니다

 

원하는 투자물의 차트에서 Pine 에디터 열기


트레이딩뷰 플랫폼에서 화면 하단의 "Pine 에디터" 탭을 클릭하세요. 이곳에서 코드를 작성하고 편집할 수 있습니다

 

새 스크립트 생성
Pine 에디터에서 "New" 버튼을 클릭하여 새 스크립트를 생성합니다. 목적에 맞는 이름과 설명을 입력하세요

 

Pine Script 에디터의 특별한 점은 자동 하이라이팅 기능입니다. 변수, 함수, 언어의 내장 요소들을 자동으로 하이라이팅해주며, 특정 요소에 마우스를 올리면 추가 정보가 팝업창으로 표시됩니다


Pine Script의 기본 구성 요소

Pine Script를 효과적으로 사용하기 위해 알아야 할 기본 요소들을 살펴보겠습니다

 

주석(Comments)
Pine Script에서는 "#" 기호를 사용해 주석을 표시합니다. 코드의 가독성을 높이는데 유용합니다.

# 이것은 주석입니다

 

변수(Variables)
var 키워드를 사용해 변수를 선언할 수 있습니다. 변수는 계산이나 조건에 사용될 값을 저장합니다.

var length = 14  # SMA 기간 설정

 

플로팅(Plotting)
plot() 함수를 사용하면 데이터를 차트에 시각적으로 표시할 수 있습니다.

plot(sma(close, length), color=color.blue, title="SMA")

자주 사용하는 메서드와 함수

내장 메서드(Built-in methods)
Pine Script는 array, matrix, map, line, box 등의 특수 타입에 대한 내장 메서드를 제공합니다. 이러한 메서드는 점 표기법을 사용하여 호출할 수 있습니다

 

예를 들어 배열에서 값을 가져오는 경우

# 함수 사용
value = array.get(id, index)

# 메서드 사용 (더 간결함)
value = id.get(index)

 

사용자 정의 메서드
Pine Script에서는 사용자 정의 메서드를 만들 수도 있습니다

이를 통해 코드의 재사용성을 높이고 가독성을 개선할 수 있습니다

method maintainQueue(array srcArray, bool takeSample) =>
    if takeSample
        srcArray.push(source)
        srcArray.shift()
    srcArray

트레이딩 전략 개발

Pine Script는 단순한 지표 제작뿐만 아니라 완전한 트레이딩 전략 개발에도 사용됩니다

 

전략을 개발할 때는 'strategy' 키워드를 사용하여 시작합니다. 그런 다음 이동 평균의 길이나 특정 지표의 임계값과 같은 입력을 정의합니다. 마지막으로, 사용된 지표를 기반으로 매매 신호나 알림을 설정합니다

 

예를 들어, 특정 지표가 특정 임계값을 위로 교차할 때 매수 신호를 생성하거나, 아래로 교차할 때 매도 신호를 생성하도록 설계할 수 있습니다. 구현하기 전에 백테스팅 기능을 사용하여 스크립트된 전략이 과거 시장 상황에서 어떻게 작동했는지 확인할 수 있습니다


비트코인 트레이딩을 위한 Pine Script 활용 예시

암호화폐 시장의 변동성과 24시간 거래 특성을 고려할 때, 자동화된 지표와 전략이 큰 도움이 됩니다. 지금부터 BTCUSD를 이용한 몇 가지 실용적인 Pine Script 예제를 살펴보겠습니다

기본 비트코인 데이터 분석

비트코인 데이터를 분석하는 가장 기본적인 방법은 이동평균선(Moving Average)을 활용하는 것입니다. 다음은 비트코인의 단기 및 장기 추세를 파악하는 간단한 스크립트입니다

//@version=5
indicator("BTC 이동평균 교차 지표", overlay=true)

// 단기 및 장기 이동평균 정의
shortLength = input.int(50, "단기 이동평균 기간")
longLength = input.int(200, "장기 이동평균 기간")

shortSMA = ta.sma(close, shortLength)
longSMA = ta.sma(close, longLength)

// 이동평균 플롯
plot(shortSMA, color=color.blue, linewidth=2, title="50일 이동평균")
plot(longSMA, color=color.red, linewidth=2, title="200일 이동평균")

// 골든 크로스/데드 크로스 감지
crossover = ta.crossover(shortSMA, longSMA)
crossunder = ta.crossunder(shortSMA, longSMA)

// 크로스 시그널 표시
plotshape(crossover, title="골든 크로스", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.normal)
plotshape(crossunder, title="데드 크로스", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.normal)

 

이 스크립트는 BTCUSD 차트에서 50일과 200일 이동평균선을 표시하고, 골든 크로스(단기 이동평균이 장기 이동평균을 상향 돌파)와 데드 크로스(단기 이동평균이 장기 이동평균을 하향 돌파)를 시각적으로 표시합니다

 

이러한 교차 지점은 비트코인의 장기적인 추세 변화를 감지하는데 유용합니다

반응형

댓글