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

in #sct5 years ago


평균 변동성을 활용하여 사용할 수 있는 ATR 을 공부해보는 시간입니다. 변동성을 다루는 만큼, 진입 기준 또는 추세 기준으로 사용되지 않으며, 부가적인 부분입니다. 오늘은 변동성이 낮아지면 어떤식으로 가격이 요상해지는지며, 현재 트레이딩이 가는한 봉수 (5분봉, 15분봉, 30분봉 등등) 을 어느정도 계산할 수 있는 방법에 대하여 연구해보도록 하겠습니다.

여러번 언급했다시피 변동성 이라는 부분 자체가 직관에 정말 많이 의존하는 부분이며, 굉장히 상대적인 요소들을 많이 가지고 있습니다. 실제로 가격이 오를때 변동성이 없이 오르기도 합니다. 하지만 가격이 변동성이 있어야 하는 부분을 캐치해서 변동성 항을 대입하여 진입 조건을 만들어보도록 하겠습니다.

하지만 먼저 매수 조건 공식에 대한 이야기를 복습하고 넘어가자면 (복붙 주의 ㅎㅎㅎ)


트레이딩 시 머릿속에 있어야 하는 공식

요건 제가 트레이딩을 할 때 머릿속에 프로세싱 하는 공식 이며, 매수 진입 조건에 해당하는 항들 입니다. 모든 전략에는 아래와 같은 항들이 있어야 한다고 생각합니다.

매수 조건 = (변동성) * (진입 조건) * (추세)

변동성: 아직 한 번도 다루지 않았지만, 저는 수치적으로 ATR 을 사용하고 있으나, 직관에 더 의존하는 편 입니다. 변동성이 작은 시장과 변동성이 큰 시장은 다른 패턴을 보입니다. 즉, 전략 자체가 달라야 합니다. 이전 포스팅에서 비추세,추세 시장을 따질때 잠깐 소개를 시켜드렸으나, 비슷한 맥락입니다. 가장 추상적이며, 요즘 가장 어렵다고 느끼는 부분입니다.

진입 조건: 가장 단순한 진입 방법은 양봉 종가 매수죠. 가장 설정하기도 쉽고, 단일 진입으로 계산이 가장 단순합니다. 하지만 진입 조건에서 일정 크기의 양봉, 어떠한 상황에서의 양봉, 어떠한 상황 과 일정 크기의 양봉 등 많은 변수를 곱하고 더해서 만들어줄 수 있습니다. RSI 를 활용할 수 있는 항 이기도 합니다. 오늘 단순히 소개해드린 과거 7번의 캔들 안에 매수 시그널이 있다면, 시그널은 없는거야! 와 같은 코드도 여기에 해당합니다.

추세: 가장 비중이 큰 파트 입니다. 매수, 매도, 비추세 구분해주는 항 입니다. MACD 및 MA 가 해당하는 항 입니다. 추세도 단기, 장기로 나눠서 볼 수 있으며, 여러가지 지표, 변수, 값들을 섞어 만들어 낼 수 있습니다. 추세는 그래도 단순하게 보는 것이 저는 좋다고 봅니다.

https://busy.org/@roostermine/18-macd


그리고 변동성에 대한 선행 포스팅이 있습니다! 먼저 보고 와주세요!

https://www.steemcoinpan.com/sct/@roostermine/bh9zs-7
https://www.steemcoinpan.com/sct/@roostermine/czbqp-7


물론 매수조건만 있는 것은 아닙니다. 현재는 매수 진입 조건만 다루고 있지만, 매수 청산 조건, 매도 진입 조건, 매도 청산 조건 등이 있습니다! 다 비슷한 이야기를 하는 것이니~


변동성이라는 아이디어는, 어떤 주체적인 움직임이 나올때 가격의 진폭이 커지며, 방향성이 확정되는 구간에서 나타나는 현상입니다. 즉, 변동성이 확대 되는 구간은 변곡 구간이 되겠죠.

위와 같이 고점을 만들고 되돌림을 주는 고점, 되돌림이 다 나오고 다시 변곡하는 저점, 고점을 갱신하고 더 올라가려고 하는 고점 돌파 구간. 파동의 3부분에서 변동성이 높은 부분이 나올 것이다 라는 아이디어를 가지고 접근을 해보도록 하겠습니다. 변동성 없이 저점을 찍고올라오는 경우도 있으며, 고점에서 변동성이 없을 수도 있습니다. 이러한 부분들은 오차라고 가정해보죠.


먼저 변수 두 개를 만들어줍니다. 변동성의 평균이 긴넘하고 짧은넘!

atrshort= atr(5)
atrlong= atr(50)

트레이딩뷰가 자체적으로 atr 함수를 제공해주고 있어 편하게 편하게~~ 수치는 그냥 적당히 큰넘하고 작은넘 대조되게 넣었습니다.

그리고 짧은 atr 값이 긴 atr 값 보다 길으면 현재 변동성이 과거 평균의 변동성보다 높기 때문에, 높은 변동성이 정의가 됩니다. (여기에서 변동성의 특이한 점이 나오는데, 보조지표에 방향성이 존재하는 추세와 달리, 변동성은 하락할때, 상승할때 둘다 동일하게 변곡점에서 변동성이 큰 값이 나오게 됩니다. 이러한 점을 이용하기 위해서는 추세 지표는 필수적이겠죠? )

highvolatility = atrshort > atrlong

그리고 이걸 가시화해서 봅시다.

bgcolor(color = highvolatility ? green: na)

가시적으로 가격이 방향성이 있을때 가격 위에 초록색 배경이 칠해집니다. 살짝 잘러서 분석해보자면

요렇게 다섯 덩이로 나눠볼 수 있습니다. 먼저 15년도 초 부터 17년도 6월 까지는 정상적인 스펙트럼을 보여주고 있습니다. 하양 초록 하양 초록 이 적당히 분배되고 있으며, 상승 시 돌파하서 변동성이 살아나고, 상승하며 변동성이 줄어들다가, 고점에서 변동성이 커지며 역추세가 나타났습니다.

17년도 6월부터 18년도 2월에는 변동성이 과잉으로 보여, 일단 일봉으로 분석은 불가능했습니다. 조정을 구분할 수 없으며, 너무 변동폭이 커 일봉상에서 분석이 불가능해지는 것 입니다. 좀 있다 줄여서 살펴보겠습니다.

그리고 18년도 2월부터 18년 11월 까지는 변동성이 없습니다. 즉 방향성이 없다는 것을 뜻합니다. 일봉으로 매매가 불가능하며, 추세가 보이는 것 같아도, 방향의 주체가 없는 추세로 분석합니다.

18년도 11월부터 19년 1월까지 하락에 대한 방향성을 보여줍니다. 이때 이런 근거들로 1300불을 간다고 주장을 하기도 햇었는데 말이죠 ㅎㅎ.. 분석은 일단 일관성있게 하기만하면 돈은 버니깐.

19년 부터는 장기간 변동성에대한 조정을 거치고, 상승 추세 + 변동성이 생기며 방향성이 생겼습니다.

굉장히 추상적으로 설명을 드린 것 같은데... 모호한 부분이 있다면 질문 주세요!


먼저 상승 추세가 확정된 이후로 변동성을 읽는 방법은 생각보다 단순합니다. 초록색은 추세의 시작과 함께 나와야 하고, 상승 중간에는 굳이 변동성이 클 필요는 없습니다. 하지마 코인의 경우는 상승하면 할 수록 커지는 성향을 띄죠. 가장 중요한 건은 추세의 조정과 함께 변동성의 조정이 와야한다는 점 입니다.

살짝 확대해서 설명을 해드리자면, 먼저 옳바른 변동성의 조정과 옳바르지 않은 변동성의 조정으로 해석할 수 있습니다.
스펙트럼이 살짝 흰색을 비추고 다시 초록색이 되버린 것은 일봉으로 캐치할 수 있는 변동성이 아니라는 뜻이며, 일봉상의 변동성에 대한 조정은 일어나지 않았다 라고 해석할 수 있습니다. 사진과 같이 첫번째 조정을 조정이고, 두번째 조정은 조정이 아닌거죠. 나머지 설명은 앞의 추세와 내용에 변동성을 합하여 어떻게 대응하고 예측할 수 있는지에 대한 내용입니다.

그리고 추세의 지속에 대하여 연구할때 고점을 돌파할때 초록색이 발생하고 저점에서 초록색이 발생합니다. 화살표로 표기한 부분을 포시면, 변곡점 or 극점에서 변동성이 커지며 초록색이 표기됩니다.

반대로 보면 고점을 돌파하고 변동성이 없다면, 또는 고점을 돌파하기전에 변동성이 줄어든 조정 구간이 없더라면 거짓 돌파일 가능성이 높은 것이죠.

즉 5천불에서 2만불 구간은 변동성에 대한 조정을 주지 않은 구간입니다. 언제 끝날지는 모르지만, 변동성은 역추세까지 포함하니깐, 과열된 구간이라는건 확실합니다. 하지만 조정을 주면 더간다고 생각할 수 있습니다.

그래서 실제로 저는 저 구간에서 더간다라고 분석을 했었었죠. :P

5천불 과 2만불 사이에서는 봉수를 줄여서 보시면 됩니다. 한 봉에 처리할 수 있는 정보가 너무 많으니, 봉수 자체를 줄여서 더 많은 정보를 가공하여 보는 것 입니다. 그럼 신기하게도 일봉으로 15년 부터 17년도 볼때랑 똑같은 스펙트럼이 보이게 됩니다.

매수 기회는 어디서 발생했는지 찾으셨나요? 요기요기! 두 군데서 변동성 조정을 거치고 가격 돌파(추세에 대한 상승)를 해줄때 발생하였습니다.


이제 돌파 매매는 알았는데, 이걸 해석하기가 너무 어렵다. 코딩으로 해보자. 사실 제 실력으로 돌파는 아직 어떻게 못하고 있습니다. 그러기에 되돌림으로 해보겠으며, 어제의 MACDII 코드를 가져와서 변동성항을 대입해보겠습니다.

MACD = ema(close, 12) - ema(close, 26)
Oscillator = MACD - ema(MACD,9)
MA5 = sma(close,50)
plot(MA5, color=purple, linewidth=1 )
up = close > MA5
down = close < MA5
ascending = MA5 > MA5[1]
goingup = up and ascending
ZeroUp = Oscillator > 0
ZeroDown = Oscillator < 0
GoingUp = Oscillator[1] < Oscillator
GoingDown = Oscillator[1] > Oscillator
ZeroUpGoingUp = ZeroUp and GoingUp and goingup
ZeroUpGoingDown = ZeroUp and GoingDown and goingup
ZeroDownGoingUp = ZeroDown and GoingUp
ZeroDownGoingDown = ZeroDown and GoingDown
Buy = ZeroUpGoingDown [1] and ZeroUpGoingUp

코드는 일단 요로코롬 하고 이걸 프린팅해서 두개를 같이보면!

요런 변동성이 없는 구간에서 발생한 매수 시그널을 확인해보실 수 있으며, 잘 맞지 않는다! 라는 점을 확인하실 수 있습니다.

이오스도 이런 것을 제거해주고.

비교를 살짝 해봤으니 정리를 해보겠습니다

//bgcolor(color = highvolatility ? green: na)

변동성을 나타내는 초록색 코드를 발현시키지 말고

Buy = ZeroUpGoingDown [1] and ZeroUpGoingUp and highvolatility

매수 시그널에 관장하는 Buy 변수에 변동성이 높은 상황일때만 Buy 값이 true 이도록 변경해줍니다. 주요 달러 차트에 적용을 해보면

비트코인


비캐


리플


이더


이오스


라이트코인


스팀.


이제 MACD 1 포스팅에서 했던 중첩 시그널 제거 작업을 해줍시다.

Buy = ZeroUpGoingDown [1] and ZeroUpGoingUp and highvolatility
notBuy = Buy[2] or Buy[3] or Buy[4] or Buy[5] or Buy[6] or Buy[7]
RealBuy = Buy and not notBuy

바이 시그널이 1~7캔들 전에 나왔다면 진짜 바이 시그널이 아니다! 그럼으로 RealBuy 시그널은 notBuy 시그널이 없을때만 유효하다!

좀 더 깨끗한 시그널 들로 보이네요!


오늘 강의 요약!

  1. 가격의 조정과 변동성의 조정 둘 다 필요하다.
  2. 변동성을 보고 트레이딩하는 분봉을 정하는 것이다. 주관적이고 직관적인 부분이기에 자신이 없다면, 그냥 일봉만 보자.

오늘 내용은 모호한 부분이 정말 많았을텐데, 이해가 안되는 부분 또는 질문이 있으셨다면 가감없이 댓글 남겨주세요!

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

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