트레이딩 뷰는 시장 분석, 토론, 거래를 위한 금융 플랫폼으로 금융 거래에 필요한 차트를 위시한 거래 툴, 소셜네트워크 및 커뮤니티 기능, 여러 금융 정보와 지표를 모은 데이터베이스, 실시간 뉴스 등을 제공하는 웹사이트입니다. 이 서비스를 이용하는 이유는, 전략을 작성하고 백테스트를 하는 과정이 매우 쉽고, 유료 서비스를 이용하면 매수 매도 시그널이 발생했을 때 외부 시스템과 연동할 수 있는 기능을 제공하기 때문에 자동화도 편리합니다. 따라서 초보자라도 쉽게 트레이딩 봇을 만들어볼 수 있습니다. 다만 유료 서비스 비용이 연간 20만원 정도 발생하기 때문에 30일 간의 트라이얼 기간 동안 테스트를 충분히 해본 후 결정하시기 바랍니다.
이번 장에서는 트레이딩 뷰에서 전략을 작성하고, 매매 조건 충족 시 알림을 받는 기본적인 방법을 학습해 보겠습니다.
실행 과정은 다음 영상을 참고하세요:
https://youtu.be/AdNxpEoJHAM 에서 확인할 수 있습니다.
화면 설정
먼저 트레이딩 뷰 첫 화면에서 Chart 를 선택하고, 보고자 하는 종목과 시간 프레임을 선택합니다.
이 때 종목을 클릭하면 종목의 심볼을 검색할 수 있고, 해당 종목이 거래되는 시장도 선택할 수 있습니다.
원화 비트코인인 BTCKRW 를 선택하고, 시장을 업비트로 선택한 후, 시간 프레임을 15분으로 선택한 화면은 다음과 같습니다:

인디케이터
트레이딩 뷰 차트에서 제공하는 프로그래밍 언어인 Pine Script 를 이용하면, 사용자가 직접 지표(indicator)를 개발하거나 매매 전략(strategy)를 작성해서 매매에 활용할 수 있습니다.
트레이딩 뷰에서는 이동 평균선이나 RSI, MACD 와 같은 다양한 지표를 기본으로 제공하고 있습니다.
차트 상단의 [ Indicator ] 메뉴를 선택하고 팝업 검색창에 [ Moving Average ] 를 입력해서 Technicals 섹션의 [ Moving Average ] 를 선택합니다. 마찬가지 방법으로 [ Relative Signal Index ] 를 선택하면 화면은 다음과 같습니다:

이동평균선(MA)은 가격 차트와 동일한 영역에 겹쳐서 표시되는 데 반해, 상대강도지수(RSI) 는 별도의 영역에 표시됩니다. 이러한 영역을 Pane 이라 부르고, Pane 을 겹쳐서 출력할지(overlay) 여부는 설정으로 변경할 수 있습니다.
MA 는 9일 이동평균선이 기본으로 표시되는데, 설정을 통해 평균할 봉의 개수, 색상 등은 모두 사용자가 설정할 수 있습니다. 마우스를 Pane 좌상단에 표시된 글자 위로 가져가면 설정할 수 있는 표시되는 톱니바퀴 모양의 아이콘을 클릭하면 됩니다. 그림 2 에서는 좌상단의 MA 에 마우스를 위치해서 설정 화면이 표시된 것을 확인할 수 있습니다.
사용자 지표 작성
이제 사용자가 직접 지표를 작성해 보겠습니다. 화면 우하단의 [ ^ ] 모양의 아이콘을 클릭하면 표시되는 화면에서 [ Pine Editor ] 메뉴를 선택하면 지표를 작성할 수 있습니다. 트레이딩 뷰를 처음 실행한다면 아마 다음과 같은 기본적인 코드가 작성되어 있을 것입니다:
//@version=5
indicator("My script")
plot(close)
라인 별 의미는 다음과 같습니다:
- @version=5 : 파인 스크립트 버전 5를 사용하고 있다는 표시입니다. 스크립트 버전에 따라 문법이 다르기 때문에, 버전을 꼭 명시해 줘야 제대로 작동합니다.
- indicator() : 트레이딩 뷰에서는 지표와 전략을 작성할 수 있다고 앞에서 설명했습니다. 이 명령어는 작성된 스크립트가 지표를 위한 것임을 명시하고 있습니다.
- plot(close) : 현재 봉에서의 종가(close) 를 표시하라는 명령입니다. close 는 파인 스크립트에서 기본 제공되는 종가를 나타내는 순열(series) 입니다. 현재 봉의 종가는 close 또는 close[0] 로 표시하고, 이전 봉의 종가는 close[1] , 전전 봉의 종가는 close[2], ... 이런 식으로 표시합니다.
이 상태에서 [ Add To Click ] 버튼을 클릭하면 그림 3. 과 같이 작성된 지표가 화면에 새로 표시됩니다:

이제 다음과 같이 코드를 고쳐보겠습니다:
//@version=5
indicator("My Moving Average", overlay=true) // 선언 -- (a)
ma = 0.0 // 초기화 -- (b)
ma_length = 30 // 평균할 봉의 개수
for i=0 to ma_length-1 // 봉의 개수 만큼 순회 -- (c)
ma := ma + close[i] // 과거 i번째 종가를 더함 -- (d)
ma := ma / ma_length // ma_length 만큼의 종가 합을 평균 -- (e)
plot(ma, color=color.red, linewidth=2) -- (f)
먼저 (a) indicator() 함수에 overlay 파라미터를 true 로 지정하면 그림 3. 과 같이 별도의 pane 에서 출력되지 않고, 그림 2. 의 MA 지표처럼 메인 차트의 pane 에 겹쳐서 함께 출력이 됩니다.
(b) ma 라는 변수를 선언하고 (c~d) 현재 종가를 포함해 과거 30개의 종가(close[0], close[1], close[2], ... close[29]) 의 합을 구한 뒤 (e) 30 으로 나눈 결과를 ma에 저장하면 그 결과는 30개 종가의 평균이 됩니다. (f) 명령은 이 값을 두께 2 인 붉은색 선으로 그립니다.
여기서 변수를 처음 선언할 때에는 연산자가 "=" 이고, 변수의 값을 변경할 때는 ":=" 연산자를 사용하는 것에 유의합니다.
이제 코드를 저장하고 [ Add to Chart ] 를 선택하면 다음과 같은 화면을 확인할 수 있습니다:

'가상화폐 투자자 가이드' 카테고리의 다른 글
파이썬과 Google Colab 퀵스타트 (1) | 2022.03.10 |
---|---|
텔레그램 봇 API 퀵스타트 (0) | 2022.03.05 |
트레이딩 뷰 퀵스타트 (3) - 알림 설정 (1) | 2022.03.04 |
트레이딩 뷰 퀵스타트 (2) - 전략 작성 (0) | 2022.03.03 |
Cloud Functions 퀵스타트 - 텔레그램 봇 실행하기 (0) | 2022.03.01 |