
TradingView 매뉴얼: 자주 사용되는 함수
*2022-02-15 글
난 내가 코딩해서 투자해: TradingView 따라잡기 (입문편)
위 두 게시물에서는 TradingView의 전반적인 사용방법과 지표와 전략의 구성, 따라하는 과정까지 진행했었습니다.
두 게시물 모두 최대한 간단하게 진행하였기 때문에, 이후에 본인이 원하는 지표를 제작하는데 어려움이 있었을 것이라 생각하였습니다.
이에 따라 이번 게시물에서는, 가장 자주 사용되는 함수들, 동시에 응용이 쉽고 그 범위가 넓은 함수들을 알려드리고자 합니다.
현재 최신 버전은 5이나, 개인적으로 더 정확한 전달을 위해
이후의 모든 글은 Version 4 기준으로 작성할 예정입니다.
+해당 게시물에서 소개드리는 함수 외에 궁금한 함수가 있는 경우, AWARE 텔레그램 채팅을 통해 질문주시기 바랍니다.
1. 빌트인변수
a. 기본 데이터
변수 중에 가장 흔히 사용되는 함수들은 역시 시가, 종가, 고가, 저가입니다.
시가는 open
종가는 close
고가는 high
저가는 low
hlc3는 (high+low+close)/3 이라는 뜻으로, 고,저,종가의 평균을 뜻합니다.
ohlc4는 (open+high+low+close)/4 이라는 뜻으로, 시,고,저,종가의 평균을 뜻합니다.
hl2는 (high+low)/2 이라는 뜻으로, 고,저가의 평균을 뜻합니다.
b. na
na 또한 정말 자주 사용되는 변수입니다.
"없다"라는 것을 나타내고 싶을 때 사용되는데요, 사진자료에 나와있는 코드의 뜻은
//@버전=4번째 버전
지표구현함수 ("예시")
A = 만약(종가>시가라면, 종가, 아니라면 없음)
구현함수(A)
구현함수(종가)
종가가 시가보다 클 때, 종가를 나타내고, 그 것이 아니라면 na라는 뜻입니다. 이렇게 na를 사용하게되면,
종가가 시가보다 작을 때의 값이 없기 때문에 직선으로 이어지는 것을 확인할 수 있습니다.
plot을 하게되면 지표상으로는 직선으로 이어지나, 사실 상 데이터는 없다는 점 유의해주세요.
(적색선은 비교를 위한 종가값)
2. 빌트인함수
a. iff
함수하면 if를 빼놓을 수 없겠죠?
여기서 주의하여야하는 것은, if는 if가 아닌 f를 하나 더 붙여서 iff로 적어주셔야 함수 기능을 하게됩니다.
아까 위에서 확인하셨다시피,
iff(조건, 조건에 해당되는 경우, 조건에 해당되지 않는 경우)
다시 확인해볼까요?
iff(close>open, close, na) 에서,
조건 = close>open
조건에 해당되는 경우 = close
조건에 해당되는 경우 = na
다시말해 close>open 이라면, close,
close>open가 아니라면 na를 불러온다는 뜻입니다.
+
랭귀지오퍼레이터로 대체할 수 있습니다.
?:라는 오퍼레이터로,
조건 ? 참일경우 : 거짓일 경우
로 사용 가능합니다.
iff(close>open, close, na) = close>open ? close : na
b. cross
"교차되다"라는 것을 표현할 때 사용되는 함수입니다.
cross(A, B)
= A와 B가 교차되었다는 뜻입니다.
자매품으로 crossover 와 crossunder가 있습니다.
crossover(A, B)
= A가 B를 상향교차하다
crossunder(A, B)
= A가 B를 하향교차하다
c. 최고와 최저
각각 highest, lowest 입니다.
고가와 저가를 나타낼 수 있는데 왜 사용되냐구요?
특정 기간 내 최고값 혹은 최저값을 불러올 수 있기 때문입니다.
highest(source값, 기간)
여기서 만약
highest(high, 5)
이라면,
5일동안의 high값 중 highest한 값,
즉 고가 중의 최고가를 불러올 수 있습니다.
기간이 아닌 여러 source 중 최고 최저 값을 확인하고 싶다면,
max, min을 사용하시면 됩니다.
max(A,B,C)
= A, B, C 중 가장 큰 값
d. 이동평균
sma = 단순이동평균
ema = 지수이동평균
wma = 가중이동평균
vwma = 거래량가중이동평균
sma(source값, 기간)
sma(close, 20)
= 종가값의 20일간 단순이동평균
참고 = 기술적지표 파헤치기 #1: 이동평균선의 종류와 수식
e. 기타
abs(A)
= A의 절대값
avg(A, B, C, D)
= A, B, C, D의 평균
bb(close, 20, 2)
= 20일 종가가 베이스이고 표준편차가 2인 볼린저밴드
참고 = 기술적지표 파헤치기 #4: Bollinger Bands
change(close, 20)
= 금일 종가값과 20일 전 종가값의 차이
correlation(A, B, 20)
= A와 B의 20일 간 상관계수
sum(A, 20)
= A의 20일 간 합
stdev(A, 20)
= A의 20일 간 표준편차
3. 랭귀지오퍼레이터
사칙연산은 그대로 사용하시면 됩니다. 곱셈은 *, 나눗셈은 /라는 부분만 유의해주시기 바랍니다.
>, <, >=, <= 와 같이 비교 또한 기존 연산자와 동일합니다.
이외에 가장 자주 사용되는 오퍼레이터는 다음과 같습니다.
a. 같지 않음
!=
iff(A != B, A, B)
= 만약 A와 B가 같지 않을 경우, A를 불러오고, 아닐 경우 B를 불러온다.
b. 그리고
and
AWARE = (A>B) and (B>C)
= AWARE는 A가 B보다 큰 경우, 그리고(동시에) B가 C보다 큰 경우를 뜻한다.
c. 또는
or
AWARE = (A>B) or (B>C)
= AWARE는 A가 B보다 큰 경우, 또는 B가 C보다 큰 경우를 뜻한다.
d. 이전 값
[]
A = close>close[5]
= 종가가 5일전 종가보다 큰 경우를 A라고 부른다.
도움이 되셨나요?
위에 있는 함수와 변수들만 이해하신다면, 훨씬 다양한 "몸통"을 만들어 보실 수 있습니다.
마지막으로, 지표 - 커뮤니티스크립트 - { } 순서대로 클릭 시,
다른 이용자가 만든 코드를 열람할 수 있어 아이디어에 도움이 될 수 있습니다.
열람을 막아놓은 지표의 경우 { } 가 표기되지 않습니다. 참고바랍니다.
AWARE.는 구독자분들의 발전을 응원합니다.