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

in sct •  2 years ago 

국민 보조 지표 중 하나인 MACD. 굉장히 간단한 개념을 가진 친구로, 쉽게 애용하시는 지표이죠. 단순하게 보면 (짧은 이동평균선) - (긴 이동평균선) 이걸 수치화 및 가시화 해서 보여주는 친구 입니다.

대표적으로 느린 지표라고 알려져있는데, 잘 분해해서 연구를 해보면 그닥 느린 지표는 아니다 라는 점을 캐치하실 수 있습니다. 모든 느린 지표들의 특징이 평균의 평균 또는 평균의 평균의 평균 등 정확도를 올리기 위하여 평균이라는 요소를 많이 사용하는데, MACD 역시 그렇습니다. 하지만 이런 느리게 하는 요소를 어느정도 제거해주면, MACD 역시 빠르고 민감한 지표 라고 불릴 수 있습니다. 한 가지의 지표에서 수십가지의 활용 방법들이 나오는 것이죠!

이동평균선의 간격이 들어가는 만큼 현재 가격의 크기/힘 이 과거의 가격의 크기/힘 보다 얼마나 더 큰지에 대하여 나타내 줍니다. 저는 간격이라는 부분을 보며, 적분에 대한 요소가 들어가는게 아닌가? 라는 생각이 들었었네요.

인테그랄 (short-term ma) - 인테그랄 (long-term ma) 를 하는데 최소 단위를 최소 봉으로 잡은거 아닌가요? ㅎㅎㅎ 적분까지는 아니더라도 구분구적법 배울때 나오는 시그마만 무한으로 안보내면 호홓


MACD 의 분해

MACD 는 3가지의 파트로 나뉩니다.

이동평균선들의 간격을 알려주는 MACD 선 (파란색)
MACD 선의 평균을 나타내는 시그널 선 (주황색)
MACD 선과 시그널 선의 간격을 나타내는 오실레이터 (빨간색,초록색 막대)

  • 오실레이터: 위아래로 진동하는 형태의 보조지표; 이전 포스팅에서 RSI 도 오실레이터의 대표적인 예시. 특징으로는 방향성이 없습니다.

오늘 알아보실 파트는 MACD 입니다!


MACD

빨간색 선: 12주기 ema, 파란색 선: 26 주기 ema

수학적으로는 지수 이동평균선 (ema: exponential moving average) 26 주기 와 12주기 의 편차를 나타내는 것이며, MACD 보조지표가 만들어지는데 기본 데이터 입니다. 나머지는 이 편차에서 파생된 값들이죠.

위 사진은 MACD 선만 나타낸 것이며, 0 을 주위로 진동하는 모습을 보실 수 있습니다. 이동평균선이 양의 편차를 가지면 올라갈 것이고, 이동평균선이 음의 편차를 가지면 내려갈 것입니다. (이건 코딩 파트를 가서 다시 보여드리겠습니다.)

직관적으로 가격이 수렴을 하면 MACD 선도 수렴을 한다는 모습을 볼 수 있습니다. 또 가격이 방향성을 가지면, MACD 도 방향성을 가지게 되죠. 어떻게 활용하는지에 따라 수렴을 구분할 수 있으며, 각도로 추세의 방향성에 대한 자료로 사용할 수 있습니다.

또 0 위에 있는지 아래에 있는지를 보아 간격이 음의 방향으로 발생했는데 양의 방향으로 발생했는지 확인하실 수 있습니다.


정리

초 간단하게 활용을 하자면 4 가지의 상태로 분석할 수 있습니다. MACD 선이 0 위에 있고는 전체적인 추세가 상승인지 하락인지를 판단하고, MACD 의 각도인 올라가고 있을때 , 내려가고 있을 때는 실제 가격이 올라가고 있는지 내려가고 있는지에 해당하게 되죠.

여기서 직관적으로 봐도 조정을 하고 있는 상태는 MACD 0 위에, MACD 내려가고 있을때 이며 되돌림 매수에 해당하는 구간입니다. 그리고 여기에 추가적인 매수 시그널 (제일 간단한건 양봉이죠!) 을 구성하면 매수 진입 전략이 형성됩니다.


코딩

여기까지 이해를 하셨다면, 코딩 파트는 좀 더 쉽게 접근하실 수 있습니다.

먼저 새로운 페이지를 여시고, MACD 변수를 만들어줍니다.

MACD = ema(close, 12)- ema(close, 26)

다시 설명드리면, MACD 란 ema 26 주기를 ema 12 주기에서 뺀 값이다 입니다. 그걸 MACD 라는 변수로 받아주면, MACD 자체는 숫자가 되죠!

ema 란, 현재의 값에 가중치를 준 이동평균선으로 보정된 이동평균선으로 이해하실 수 있습니다. 나중에 이동평균선에서 파생된 선들을 다루며 더 자세히 알아보겠습니다. 트레이딩뷰에서는 ema(source,period) 라는 함수로 주고 있습니다!

이제 위에 표시한 네가지의 상황을 만들어봅시다.

먼저 MACD 가 0 위에 있고 없고 상황!

MACDover0 = MACD > 0
MACDunder0 = MACD < 0

MACD 값이 0 위에 있으면 MACDover0 이 true, MACD 값이 0 아래에 있으면 MACDunder0 이 true.

MACD 가 하락/상승 상황

MACDascending = MACD > MACD[1]
MACDdescending = MACD < MACD[1]

MACD 값이 한 개 전의 MACD 값이랑 비교합니다. 만약 한 개 전의 MACD 보다 크면 MACDascending 이고, 작으면 MACDdescending 이 true 가 되겠습니다.

이제 위 네 개의 변수들 중 제가 원하는 상황인, 조정을 주는 상황을 수식으로 표현하면

correction = MACDover0 and MACDdescending

이 되게 됩니다. 일단 추세는 상승이여야 하며, 가격은 하락을 하고 있으면 보통 저희가 정의할 수 있는 조정 이라는 카테고리에 들어오게되죠. 그리고 이 상황을 차트에 표현해봅시다. 오늘은 초록초록 하니깐 초록초록하게!

bgcolor(color = correction ? green: na)

여까지 했으니 차트에 적용해봅시다.

가격이 조정일 가능성이 있는 부분이 초록색 으로 표기됩니다. 하지만 이것만 있으면 매수 시그널 부분이 빠져있죠. 매수 시그널 파트는 양봉으로 간단하게 작성해봅시다.

Buy = correction[1] and close > open

만약, 이전 캔들이 조정 상태였고, 현재 캔들이 양봉이면 Buy 값이 True!

bgcolor(color = Buy ? green: na)

그리고 Buy 상황이 True 이면, 배경에 초록색을 칠해라!

꽤나 정교한 시그널 들을 주는군요. 18년도 비추세 구간에서 발생하는 시그널들은 이동평균선 필터로 가리면 될것 같습니다.


이제 살짝 노가다를 해줘서 만약 시그널이 7 개의 캔들안에 발생했다면, 다시 시그널이 발생하지 않도록 해줍시다. 스펙트럼 같은 선들 보기만 해도... 현기증이 하하하하하 . 그리고 실제 진입을 한다면 ,추세 -> 조정 -> 양봉에 진입을 하는 메커니즘 이기 때문에 시그널이 나타나지 않다가, 첫 시그널에 진입을 하게 됩니다. 이런 직관적인 부분을 적용해줍니다.

notBuy = Buy[2] or Buy[3] or Buy[4] or Buy[5] or Buy[6] or Buy[7]

notBuy 라는 변수를 만들어주고 만약 Buy 라는 상황이 2개 캔들전, 3개 캔들전 4개 캔들전 등 7개 캔들 전까지 발생했다면 notBuy 라는 값이 true 로 만들어줍니다.

RealBuy = Buy and not notBuy

그리고 Buy 값이 참이고, notBuy 값이 참이지 않으면 RealBuy 값이 참이 되게 되는 변수를 만들어주고.

bgcolor(color = RealBuy ? green: na)

백그라운드에 레알 바이를 프린팅.

뷰티풀~~!


5분 봉에서 보면

30분 봉에서 보면

눈으로 보기에는 현재 변동성에 맞는 차트는 30분 이상의 차트군요. 변동성이 더 커지면 5분 봉에서도 프렉탈이 뚜렷해지죠!



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

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

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

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

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

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


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

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


Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

거래량에 대한 것도 자세하게 한번 다루어주세요.

읏... 제일 어려운 두 개를 던져주고 가시는군요! ㅋㅋㅋㅋㅋㅋㅋ 거래량은 스님 강의를 듣고 싶은걸요~ 아직도 전 거래량 해석이 너무 어려운 것 같아요... ㅠㅠ Volume Profile 을 이용해서 몇 개 구상해본 건 있는데 그래도 어렵네요. 볼륨이 항상 양방성이라,

기존 다우 이론이나 거래량에 관련된 이론들을 보면 추세의 방향으로 거래량이 늘어난다고 하는데, 실제로 강한 렐리나, 파라볼릭 움직임에서는 거래량이 오히려 감소하는 걸로 보이더라구요 ㅠㅠ....

아예 단기로 접근해봐야 하려나요~? ㅎㅎ

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

You made more than 1000 comments. Your next target is to reach 1500 comments.

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!

Do not miss the last post from @steemitboard:

The Steem community has lost an epic member! Farewell @woflhart!
SteemitBoard - Witness Update
Do not miss the coming Rocky Mountain Steem Meetup and get a new community badge!
Vote for @Steemitboard as a witness to get one more award and increased upvotes!