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

in #sct7 years ago

image.png


이번에는 코딩을 통하여 캔들 패턴을 표현해보는 시간 입니다. 눈으로만 볼 때에는 자칫하면 지나칠 수 있는 부분들을 눈에 띄게 캔들에 색깔을 입히는 등 트레이딩 할 때 편리함을 추가하는 방법에 대한 포스팅이 되겠습니다. 또한 코딩을 통하여 주관성을 최대한 배제할 수 있는 방법에 대해 논의해보겠습니다.

먼저 몇 가지 유용한 캔들 패턴들을 소개시켜드린 후, 저번 포스팅에서 배운 캔들의 몸통과 꼬리와의 관계를 통하여 알아보는 추세를 사용하여 여러가지 패턴들을 설명해보겠습니다. 그리고 코딩을 통하여 차트에 패턴이 발생한 캔들에 표시하는 작업까지 해보겠습니다! :)


장대봉

저번 시간에도 설명해드렸다시피, 매도 또는 매수 진영이 주체적인 힘? 을 가지고 있을 때 나타나는 현상입니다.

매도자가 매도를 안하게 되면, 매수자가 조금만 매수를 하기 위해서 더 비싼 가격에 사야하죠. 반대로 매수자가 없다면 매도를 하기 위해서는 더 싼 가격에 팔 수 밖에 없습니다. 하지만 이런 계산들이 결국 상대적이기에, 매수자가 상대적으로 매도자보다 훨씬 많으면 장대 양봉/매도자가 상대적으로 매수자보다 훨씬 많으면 장대 음봉이 나타나게 되는 것이죠.

image.png

하지만 여기서 장대 양봉에 대해서 오해를 하고 계시는 부분이 있습니다. 추세의 끝자락 에서 나타나는 양봉은 "의미가 없습니다" ! 저희는 추세의 처음 부분에서 잡아서 추세의 끝 부분에서 팔고 싶어하는 트레이더 입니다. 끝에서 사는 것은 아무런 의미가 없다는 것이죠. 즉, 어디에서 장대봉이 나타나는지가 가장 중요한 부분이 됩니다.

보통 장대 양봉이 나타나고 나서는 "단기적"으로 과매수 상태이기에 조정이 올 수 있습니다. 하지만 조정이 안올 수 있기 때문에 저는 그냥 종가에 진입을 하는 편 입니다.


장대봉의 기준

이게 참... 정확히 명시하기 어렵습니다. 먼저 장대봉의 기준은 종가와 저가를 뜻하는 몸통이 길고, 고가와 저가를 뜻하는 꼬리가 짧다는데 있습니다. 어느정도 트레이딩을 하다 보시면 이게 장대봉이구나 싶은 순간이 오는데 그게 사실 언제 올지도 모르고, 맞게하고 있는지도 모르죠. 그래서 어느정도 장대봉을 찾아낼 수 있는 코드를 써보고자 합니다!


매수 캔들

먼저 매수 시그널을 캐치하고 싶기에 양봉에 매수를 받고 싶습니다.

up1 = close > open

기본적인 종가 가 시가보다 크다!


몸통

이제 살짝 어려운 파트 입니다. 몸통이 주변 캔들보다 월등히 커야 합니다. 먼저 주변 캔들의 몸통 크기를 변수로 나타내봅시다.

candlebody = abs(close - open)

캔들의 몸통을 뜻하는 candlebody 변수는 종가에서 시가를 빼 몸통의 크기를 나타내주고, 절댓값을 씌워 무조건 양수로 나타내게 합니다.

candlebodyaverage = sma(candlebody,50)

캔들 몸통의 크기의 평균을 변수로 나타내줍니다. sma 는 이동평균을 뜻하며, 그냥 평균 값을 산출할때도 쓰입니다.

이제 캔들 몸통이, 평균 캔들 몸통보다 큰 값에 색깔을 씌워주겠습니다. 새로운 함수가 등장할 시간이죠!

barcolor(color = candlebody > candlebodyaverage ? #00FF00: na)

캔들의 몸통이 평균보다 클 경우 라임 색 (#00FF00) 을 캔들에 칠해줍니다!

이것 두 개의 값을 차트위에 프린팅하여 비교해봅시다. 얼마나 장대봉을 잘 표현하는지!

plot(candlebody, linewidth = 2)
plot(candlebodyaverage, linewidth = 2, color=#008000)

image.png


음 이동평균선이 일단 너무 긴 것 같고, 과거의 캔들 크기보다 현재의 캔들 크기가 더 중요함으로 현재에 가까울 수록 가중치를 두는 지수 이동 평균으로 변경하는 것이 좋아보입니다.

candlebodyaverage = ema(candlebody,20)

image.png

흐음... 갠춘하긴 한데 아직도 뭔가 진짜 장대봉만 보여주진 않네요. 계수를 줘봅시다.

candlebodyaverage = ema(candlebody,20)*2

실험적이니 과감하게 평균값의 2배를 주면

image.png

베리베리 섹시 ~ 고급 코스가 아니니, 이정도면 붸리 섹시!

그리고 마무리로 현재 캔들이 평균의 캔들보다 크다는 변수를 표현해줍시다.

up2 = candlebody > candlebodyaverage


꼬리의 표현

image.png

죠고 간격 구하는거임!

이제 꼬리에 대한 부분을 수식으로 표현해볼 것 입니다. 단순하게 꼬리의 크기가 캔들의 크기보다 작으면 장대봉이라고 해주죠 뭐~

wick = abs( (high - close) + (low - open) )

꼬리에 대한 값을 절대값으로 표현해주고

up3 = candlebody > wick

캔들 몸통의 크기가 꼬리보다 크다는 것을 표현해주면 준비 완료!


합치기

위에서 만든 세 가지의 조건들을 합쳐볼 시간 입니다!

Buy = up1 and up2 and up3

를 해주고, 이걸 캔들에 색깔을 출력하여 나오게하면

barcolor(color = Buy ? #00FF00: na)

요걸 넣어주면되죠!

그리고 아까 차트에 출력한 선들을 지워줍시다! 캔들의 크기는 알아서 해석을 해주니깐~

//plot(candlebody, linewidth = 2)
//plot(candlebodyaverage, linewidth = 2, color=#008000)

코드 앞에 "//" 를 붙여주면 해당 코드는 무시됩니다!


image.png

이제 장대양봉만 보여주는 보조지표를 완성했습니다. 절대값으로 비교하여 양봉을 보여주는 것이 아닌 상대적으로 비교적 최근 값들에 계수를 줘 비교를 하기 때문에 어떤 상황에서도 사용할 수 있는 보조지표가 되는 것이죠!

image.png

만든 보조지표를 잘 관찰하시면,

image.png

이러한 계단식 구간에서 발생하는 양봉에 매수를 할 수 있는 기회를 제공하고 있습니다!


이대로 끝내기엔 아쉬우니, 추세에 대한 항을 추가하여, 캔들과 추세를 보았을때 매수기회가 추세의 상황에서는 어디에서 발생하는지 찾아보겠습니다. 우리의 단골 이동평균선을 활용!

https://www.steemcoinpan.com/sct/@roostermine/16 요기요기!

MA5 = sma(close,50)
up = close > MA5
down = close < MA5
ascending = MA5 > MA5[1]
goingup = up and ascending
bgcolor(color = goingup ? #FF00FF : na, transp=85)

요런 코드를 추가하여, 상승 추세일 경우에는 배경에 보라색( #FF00FF) 을 칠해줍시다!

image.png


다음 시간에는 이어서 다른 캔들 패턴들을 소개시켜 드리고, 함께 사용할 수 있는 전략들을 연구해보겠습니다!


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

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


Sort:  

코딩이면 사용하시는 언어는 어떤건가요?

앗 언어까지라고 볼 수 있는지는 모르겠지만 tradingview 에서 제공하고 있는 pinescript 사용하고 있습니다!
https://www.steemcoinpan.com/sct/@roostermine/16

요기 요 포스팅에 간단한 설명이 나와있어요! :)