빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #33- 간단한 보조지표 만들기 (Parabolic SAR III)

in #sct7 years ago


저번 포스팅에서 제작한 전략에서, 파라볼릭 SAR 지표가 가지고 있는 여러 가지의 변수를 조작하여, 최적화를 시키는 시간 입니다! 초보적인 접근이기에, 초보적으로 노가다를 뛰어 정리한다는 점! :) (파이썬을 이용하여 유전자 풀로 최적화를 시킬 수도 있습니다!)


먼저 전략에 대한 리뷰를 해보겠습니다!


가격이 있습니다!


Parabolic SAR 을 씌워줍니다. Parabolic SAR 은 저희 전략에서 손절 및 익절을 담당할 성분입니다.


가격이 Parabolic SAR 위에 있을 때, 캔들 시그널이 발생할 때 까지 기다립니다.

https://www.steemcoinpan.com/sct/@roostermine/30-iv 참조!


실제로 우리에게 보여질 구간은 이런식으로 보이며, 장대 양봉 시그널에 매수를/ 손절선은 SAR 로 잡습니다.


가격이 움직임을 주다가, SAR 이 전환이 되는 첫 번째 캔들의 종가에서 손절 및 익절을 하며 거래가 종료 됩니다.


실제 차트에서는 이런 구간에서 매수와 익절을 하게 됩니다.


이제 전략을 코딩을 통하여 수익률을 비교해보겠습니다. 먼저 이 작업을 위해서는 새로운 함수? 를 아셔야 합니다. 바로 if 와 pinescript 에서 자체적으로 제공하고있는 strategy.~ 함수.

If 의 경우는 말그대로 [만일 무언가가 일어난다면, 어떻게 해라] 라는 뜻 입니다.

Strategy 함수들의 경우는 전략을 세우고, 어떠한 기준으로 진입하고 청산을 했을 때 어떤 수익률을 보여주는지 시각적으로 표현해줄 수 있는 함 수 입니다.


그리고 위 사진 처럼 study("") 가 아닌 strategy("") 로 변경하여 전략을 만드는 스크립트임을 명시해줍니다!

먼저 매수 시그널에 대해서 정의를 해줍시다!

Real = (Buy or engulfingbuy or threecandle) and close > SARvalue

만약 매수 캔들 시그널들 중 하나라도 발생하고, 종가가 SAR 보다 높은 곳을 표시해라! 라는 뜻 입니다.


이 것을 if 함수 안에 넣으면

if (Real)

만약 리얼 이라는 캔들이 발생한다면,

strategy.entry("long", strategy.long)

포지션 진입을 하는데, 롱 포지션을 진입하며, long 이라는 이름을 가진다. (여기서 조심하셔야 할 것은 밑 사진 처럼 strategy.entry 앞에 빈 공간이 있어야 합니다!)

이렇게 되면 매수 포지션을 진입해라 라는 명령 구문이 완성됩니다.


이제 진입을 했다면 청산을 해야합니다. 청산은 매수 보다 훨씬 간단합니다.

strategy.close("long", when = close < SARvalue)

종가가 SAR 보다 작으면, long 이라는 포지션을 청산하라! 직관적이죠?


마지막으로 기본적인 리스크 세팅을 해줍니다.

strategy("Awesome SteemCoinPan #14" , overlay= true, default_qty_type=strategy.cash, default_qty_value=1000, initial_capital=1000, currency="USD")

default_qty_type : 기본적인 매수 단위를 현금으로 해라!
default_qty_value=1000 : 한 번 배팅할때 천 달러 씩 배팅해라!
initial_capital=1000 : 처음에 시작할 때 천 달러로 시작해라!
currency="USD" : 사용하는 외환은 달러 이다!

즉, 한 번 배팅시 100불씩 하고 싶으시다면, default_qty_value 를 100 으로 조정해주시면 됩니다.


이제 저장을 하고

Strategy Tester 을 클릭하여 들어갑니다.

정의한 조건대로 진입했을 경우 어떤식의 수익률을 보여주는지 대략적으로 나옵니다. 여기서 한 시간봉에 대해서는 300개의 거래를 진입하여 79% 에 대한 수익을 거두었군요.


이제 차트를 보시면 아까 표시해뒀던 매수 진입 포인트에서 long 이라는 문구와 매수 진입을 했다는 파란색 화살표가 나오며, 익절 포인트에서는 Close entry order long 이라는 문구와 매수 포지션을 전부 청산했다는 문구가 나와 옳바르게 세팅을 했다는 점을 확인하실 수 있습니다.

좀 더 크게 보면, 모든 진입 포인트에서 진입을 옳바르게 했다는 것을 보실 수 있습니다! :)


이제 SAR 의 AF 값을 변조하여 각 AF 값 별로 어떻게 수익률이 변하는지 알아보겠습니다.

SAR 의 상승값 변수에 해당하는 값을 0.001 부터 0.02 까지 0.001 단위로 넣어서 수익률을 분석한 자료 입니다. 여기서 보면 0.01 일 때의 수익률이 73%로 가장 높다는 점을 확인할 수 있습니다. AF 값이 크면 주로 손절이 짧아지고, 작으면 손절이 길어진다는 점을 감안하면, 0.01 은 적당한 손절을 잡을 때 수익률이 극대화 된다! 라는 점을 알려주고 있습니다.

즉, AF 값을 0.01 이라는 변수로 변경하여 사용하면 최대의 수익을 얻으실 수 있다는 점을 초보적인 수준에서 찾아내실 수 있습니다.


최적화를 시킬 수 있는 값은 정말 많습니다. 자신이 만약, 최고의 수익률을 원한다면 위의 예시처럼 수익률만 찾으시면되고, 최악의 경우를 염두해두시는 분의 경우는 최대 손실률을 최소화 하는 값을 찾아 최적화를 시키시면 됩니다. 데이터를 가공하는 부분 부터는 자신의 취향이 많이 들어가게 되죠!


질문, 댓글, 팔로우는 감사합니다!

새로운 아이디어, 종목 추천 등은 언제나 환영입니다!


Sort:  

Congratulations @roostermine! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published a post every day of the week

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.086
BTC 59893.70
ETH 1566.97
USDT 1.00
SBD 0.42