파인스크립트 기본반
분류 기초강좌

파인 스크립트의 기본 구조

페이지 정보

본문

어떤 구조로 파인 스크립트를 작성하는지 알아보겠습니다.


1bd2136e7de1117ab48e137b09249d73_1588529037_02.png

파인 에디터에서 새로 > Moving Average를 선택하여 예제로 사용할 스크립트를 불러옵니다.


1bd2136e7de1117ab48e137b09249d73_1588529037_14.png
차트에 넣기를 누르면 가격 차트와 겹쳐진 9일 이동 평균선이 표시 됩니다.


//@version=4
study(title="Moving Average", shorttitle="MA", overlay=true)
len = input(9, minval=1, title="Length")
src = input(close, title="Source")
out = sma(src, len)
plot(out, color=color.blue, title="MA")


스크립트는 크게 4개의 구조로 볼 수 있습니다.

선언부, 입력부, 연산부, 출력부 입니다.

스크립트를 선언해서, 무언가를 입력받고, 입력받은 무언가로 연산하고, 연산된 결과를 출력합니다.



[선언부]


스크립트가 어떤 스크립트인지, 이름표를 달아주는 부분입니다.


//@version=4
study(title="Moving Average", shorttitle="MA", overlay=true)

6줄 중에서 1~2번째 줄에 해당합니다.



// @버전=4
지표(이름 = "이동 평균", 짧은 이름 = "이평", 차트와 겹치기=네)

한글로 풀자면 이렇습니다.



// @이 스크립트는 버전4로 제작되었습니다.
차트와 겹치는 이동 평균(줄여서 이평)이라는 지표입니다.

우리가 쓰는 말로 풀어보면 이렇습니다.



[입력부]


연산에 필요한 입력값을 받아 변수에 넣는 부분입니다.


len = input(9, minval=1, title="Length")
src = input(close, title="Source")

6줄 중에서 3~4번째 줄에 해당합니다.


len = 입력(9, 최소값=1, 이름="길이")
src = 입력(종가, title="소스")

한글로 풀면 이렇게 되겠네요.


길이 값을 입력받아 len 변수에 넣을건데, 처음 값은 9로 정하고, 1보다는 작으면 안됩니다.
소스 값을 입력받아 src 변수에 넣을건데, 처음 값은 종가를 쓰기로 합니다.

우리말로는 대략 이렇습닌다.



[연산부]


입력된 값으로 어떤 연산을 하여 변수에 넣는 부분입니다.


out = sma(src, len)

6줄 중에서 5번째 줄에 해당합니다.


out = 단순이평(src, len)

한글로는 이렇게!


src의 len이평을 계산하여 out 변수에 넣습니다.

src에는 종가, len에는 9가 초기값으로 들어있으므로, 종가의 9이평을 계산하여 out 변수에 넣게 됩니다.



[출력부]


연산 결과를 출력하는 부분입니다.


plot(out, color=color.blue, title="MA")

6줄 중에서 6번째 줄에 해당합니다.



차트에그리기(out, 색=색.파란색, 이름="이평")

한글로 풀면 이렇게 됩니다.


이평이라는 이름의 out값을 파란색으로 차트에 그립니다.

차트에 종가의 9이평선이 파란색으로 그려지는 것이죠.



이렇게, 스크립트를 선언하고, 입력받고, 연산하고, 출력하는 단계로 스크립트가 구성된다고 할 수 있습니다.

보통은 이런 순서가 지켜지지만, 경우에 따라서는 그 순서가 달라질 수도 있습니다.

만약 순서가 달라지게 된다면 앞뒤 관계를 잘 판단해야합니다.

입력받지 않은 값으로 연산을 하거나, 연산되지 않은 값을 출력하는 경우에는 에러가 발생하거나 의도와는 다른 결과가 나올 수 있기 때문입니다.

그리고, 선언부는 반드시 맨 처음 나와야 합니다.


공개 스크립트나 다른 예제 스크립트를 보고 선언, 입력, 연산, 출력부가 어떻게 되는지 살펴보는 것도 좋은 공부가 될것입니다.



1bd2136e7de1117ab48e137b09249d73_1588530889_12.png
좀더 알아보면, 지표 이름 옆의 톱니바퀴 버튼을 눌러 속성을 바꿀 수 있습니다.

스크립트에서 len과 src는 input이라는 함수로 입력을 받았기 때문에 속성창에서 입력값을 다른 값으로 바꿀 수 있습니다.


예를 들어 고가를 기준으로 20일 이동 평균선을 보고 싶다면, 길이를 20, 소스는 고가로 바꾸면 되는 것입니다.

시가와 종가는 오픈, 클로즈라고 나오는데, 트레이딩뷰 자체의 한글 번역이 다소 미흡한 부분이라고 할 수 있겠습니다.

관련자료

등록된 댓글이 없습니다.
전체 21건 / 1페이지

+ 최근글


+ 새댓글


통계