Recent Posts
Recent Comments
에르노트
파인스크립트 시작하기 본문
파인스크립트(Pine Script)는 트레이딩뷰(TradingView)에서 제공하는 차트 전용 스크립트 언어다. 트레이딩뷰라는 강력한 플랫폼 위에서 구동되기 때문에, 파이썬 등 다른 언어로 퀀트 전략을 설계하고 테스트하는 것보다 백만 배 더 쉽고 간편하다. 덕분에 파인스크립트를 쓰면 자잘한 구현 이슈를 최소화하고 매매 로직에 더 집중할 수 있다.
언어 구조는 자바스크립트 + 파이썬이기 때문에, 대중적인 현대 프로그래밍 언어를 한가지 이상 써봤다면 쉽게 적응할 수 있다. 현재 글 작성 시점 기준 최신 버전은 v6이고 공식 문서도 잘 갖춰져있다.
코딩은 그냥 트레이딩뷰에서 Pine 에디터를 열어서 하면 된다. VS Code 기반이라 편리하다. 아래 코드는 아주 간단하게 이동평균선을 구현한 예제이다.
//@version=6
indicator("HelloWorld", overlay=true)
// 이동 평균 계산
length = input(14, "Length") //이평선 길이는 유저 인풋으로,, 기본값은 14일
src = close //종가 기준
sma_value = ta.sma(src, length) //빌트인 함수로 single moving average가 제공됨
// 차트에 표시
plot(sma_value, color=color.blue, title="SMA")
이평선이 예쁘게 그려지는 것을 곧바로 차트에서 확인할 수 있고, 인풋으로 길이를 받는 것도 잘 된다.
조건문
당연히 프로그래밍 언어이므로 조건문을 쓸 수 있다. if else 키워드를 쓸 수도 있고 삼항 연산자도 가능하다.
//@version=6
is_up = close > open
bar_color = if is_up
color.yellow
else
color.purple
plot(close, color=bar_color, title="Close with Color")
//@version=6
is_up = close > open
bar_color = is_up ? color.yellow : color.purple
plot(close, color=bar_color, title="Close with Color")
반복문
역시 반복문도 파이썬 느낌 그대로 쓰면 된다. 처음에는 ta 내장함수 sma()를 사용했지만 for 반복문을 돌리면 직접 이동평균을 계산할 수도 있고 당연히 결과는 똑같이 나온다.
//@version=6
indicator("HelloWorld", overlay=true)
// 범위에서 데이터 처리
sum = 0.0
for i = 1 to 14
sum := sum + close[i] // 최근 14개의 종가 합산
average = sum / 14
plot(average, title="Average of Last 14 Bars", color=color.purple)
+ 자동 완성도 잘 되고 흡사 VS Code를 쓰는 느낌이다. 일례로 일목 구름으로 유명한 ichimoku 지표도 내장 함수로 제공되고 있다.
Comments