빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #45- 수익 청산하는 보조지표 만들기 I (Take-Profit) by roostermine

View this thread on steempeak.com
· @roostermine ·
$0.89
빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #45- 수익 청산하는 보조지표 만들기 I (Take-Profit)
![](https://cdn.steemitimages.com/DQmXXsBYPgP5Xbim1pRGtgSJQsyDUKbDgMmriHG7uCDmqEd/image.png)

---

지금까지는 손절선을 올려 자동으로 청산되게끔, 손절의 역할과 수익 청산의 역할을 둘 다 하는 보조지표를 만들어 보았습니다. 이번에는 충분히 가격이 상승 했을 때 고점에서 청산하는 방법을 연구해보겠습니다. 

---

대부분의 개인 트레이더 분들에게는 처음 보는 형태 겠지만, 기능적인 부분 에서는  손절을 위로 올리며 청산하는 방법보다는 오늘 소개시켜 드리는 방법이 더 익숙할 것 입니다. 

![](https://cdn.steemitimages.com/DQmQ7ESXLPPMcUcdpQnBSdyWEXiwzF7c2WZPEvzLrxQhyXt/image.png)

이러한 방법이 지금까지 다룬 것이라면,

---

![](https://cdn.steemitimages.com/DQmU4r8g6bfFWUMjiyDtmQnu31dtiS28XjgZwKgT3B83nED/image.png)

오늘 알아볼 청산 방법은 이러한 "고점" 에서 물량을 파는 방법을 소개시켜 드리겠습니다. 

---

일단 진입을 위한 조건이 있어야 합니다. 간단하게 캔들 패턴을 사용해보겠습니다. 

>https://www.steemcoinpan.com/sct/@roostermine/27-i

위에 포스팅 참조! 

---

이제 익절하는 구간은 벤드로 표현하여, 벤드 위를 뚫었다 내려오면 수익 청산을 하는 방법으로 접근해보겠습니다. 

![](https://cdn.steemitimages.com/DQmXXxKx9GTLo46pUqeLB2KBSjRfbdZTUXxKhAahtEGgG6g/image.png)

아이디어를 그림으로 표현하면 이정도가 될 듯 합니다. 지금까지는 아랫 밴드를 이용하여 추세가 끝난 지점을 찾았다면, 이번에는 추세가 과도하게 연장되었을 때 최고점을 캐치하여 수익을 극대화 하는 테크닉을 사용하는 것 입니다! 

---

>highband2input = input(3.0)
highband2mainput = input(50)
highband2 = sma(close,highband2mainput) + atr(10)*(highband2input)

일단 윗밴드를 어디에사 설치할 것이냐를 결정하는 계수와 이동평균선에 사용될 주기를 인풋으로 만들어주고, 밴드를 수식화 해줍니다. 

---

>plot(highband2)

그리고 윗 밴드를 시각화 하여 어디에 진짜 추세가 끝나는 지점에 만들어 지는지 확인해줍니다. 

---

# 관찰

![](https://cdn.steemitimages.com/DQmXXsBYPgP5Xbim1pRGtgSJQsyDUKbDgMmriHG7uCDmqEd/image.png)

![](https://cdn.steemitimages.com/DQmVx8BBjWvH6fbizmC9tYAQwGbfmA4FiAB5ko649BJCAT7/image.png)

이런식으로 윗밴드 위에서 가격이 놀다가, 다시 뚫고 내려오는 첫 번째 캔들에 익절하게 되는 시스템을 보여줍니다. 눈으로 보기에는 추세가 과하게 연장된 지점을 잡는 것 같지는 않습니다만, 나중에 최적화 할 때 따로 확인해보겠습니다. 

아이디어 자체는 코드로 어느정도 표현해낸 것 같습니다. (뿌듯)

---

# 손절

모든 거래는 무조건 손절에 대한 기준점이 있어야 합니다. 99% 맞는 전략이여도 1% 때문에 망할 수 있거든요. 손절에 대한 부분도 위와 같이 밴드 처리를 해줍시다. 

>lowband2input = input(3.0)
lowband2mainput = input(50)
lowband2 = sma(close,lowband2mainput) - atr(10)*(lowband2input)
plot(lowband2)

이런식으로 하단 밴드도 만들어 줍니다. 익절선에 필요한 MA 값, 계수 값이 다를 수 있기에 다른 변수로 인풋 처리 해줍니다. 

---

# 관찰

![](https://cdn.steemitimages.com/DQmWwHUzYJ3dUv1DiJWY1KkzxDuYCuvujrMJ8D9u3tveLDn/image.png)

익절선은 초록색, 손절선은 빨간색으로 표현 했습니다. 

---

# 진입 조건 정리

진입 조건 정리를 해보면, 

1. 캔들 시그널 발생
2. 익절선 아래에서 발생
3. 손절선 위에서 발생 

세 가지 조건을 코딩해줘야 합니다. 

---

>CandleBuy = engulfingbuy or threecandle or Buy 

일단 캔들 시그널을 하나로 묶어주고 

---

>BuySignal = CandleBuy and close < highband2 and close > lowband2

종가가 윗 밴드 아래에 있고, 아랫 밴드보다는 위에 있을 때를 코딩해줍니다. 

---

>bgcolor(color = BuySignal ? #FF00FF : na, transp=85)

확인은 중요하니깐 진입 시그널을 확인해봅시다. 

---

# 관찰

![](https://cdn.steemitimages.com/DQmUrtqLMEKYoMKKbirbRBLThzDxVZnpAwqLazBXaXZVa4b/image.png)

일단 전략으로 구성하면 한 번 진입하면, 청산 될 때 까지 중첩 진입은 안하니깐. 중복 시그널들은 상관 없고. 일단 눈으로 보기에는 나쁘진 않은데, 과하게 많이 시그널이 뜨긴 합니다. 

---

# 손절 코딩

>Stop = close < lowband2

손절은 뭐 간단하게 종가가 아랫 밴드 아래에서 만들어 질 때 손절 하라는 변수를 정의해주고.

---

# 익절 코딩

>TP = close[1] > highband2 and close < highband2


익절도 간단하게 이전 캔들의 종가가 윗 밴드 위에 있고, 현재 캔들의 종가가 윗 밴드 아래에 잇을 경우를 코딩 해줍니다. 

---

![](https://cdn.steemitimages.com/DQmNy6sDqBZmwh7SWFMdgk3woH36UACMyvkGLib1wWFMSkd/image.png)

익절 아이디어를 그림으로 표현하면 이런 형태가 되겠죠? 

---

# 전략 구성

>if (BuySignal)
    strategy.entry("long", strategy.long)
if (Stop or TP)
    strategy.close("long")

진입 시그널이 발생하면, 진입해라
Stop 또는 TP 가 발생하면 모든 포지션을 청산해라.

---

# 관찰



![](https://cdn.steemitimages.com/DQmTLRBpNMkoWVQcCBf72DRLSNu3CSAMbTKtq7BmQH79ZTc/image.png)

진입 횟수가 너~어무 많습니다. 수익률도 사실상 마이너스 입니다. 

---

손절선만 이용하여 청산했을 때랑 비교하여, 비슷한 조건을 주었음에도 불구하고 수익이 나지 않는 모습을 보실 수 있습니다. 초보자 분들이 트레이딩을 배우실 때 지정가 매도를 걸어둠으로써 (현재 비트가 천만원이라면, 천2백만원에 매도 주문을 걸어두는 행위) 청산을 하시는 경우가 많은데, 코딩을 통하여 이러한 행위가 훨씬 어렵다는 것을 확인해보실 수 있습니다.... 

쉽게 쉽게 트레이딩을 합시다! :)

---

다음 시간에는 이 전략을 사용할 수 있게끔, 고치고, 분량의 여유가 있다면 최적화 까지 해보겠습니다!

---
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 12 others
properties (23)
post_id78,142,869
authorroostermine
permlink45-i-take-profit
categorysct
json_metadata{"tags":["sct","zzan","liv","palnet","steemleo"],"image":["https:\/\/cdn.steemitimages.com\/DQmXXsBYPgP5Xbim1pRGtgSJQsyDUKbDgMmriHG7uCDmqEd\/image.png","https:\/\/cdn.steemitimages.com\/DQmQ7ESXLPPMcUcdpQnBSdyWEXiwzF7c2WZPEvzLrxQhyXt\/image.png","https:\/\/cdn.steemitimages.com\/DQmU4r8g6bfFWUMjiyDtmQnu31dtiS28XjgZwKgT3B83nED\/image.png","https:\/\/cdn.steemitimages.com\/DQmXXxKx9GTLo46pUqeLB2KBSjRfbdZTUXxKhAahtEGgG6g\/image.png","https:\/\/cdn.steemitimages.com\/DQmVx8BBjWvH6fbizmC9tYAQwGbfmA4FiAB5ko649BJCAT7\/image.png","https:\/\/cdn.steemitimages.com\/DQmWwHUzYJ3dUv1DiJWY1KkzxDuYCuvujrMJ8D9u3tveLDn\/image.png","https:\/\/cdn.steemitimages.com\/DQmUrtqLMEKYoMKKbirbRBLThzDxVZnpAwqLazBXaXZVa4b\/image.png","https:\/\/cdn.steemitimages.com\/DQmNy6sDqBZmwh7SWFMdgk3woH36UACMyvkGLib1wWFMSkd\/image.png","https:\/\/cdn.steemitimages.com\/DQmTLRBpNMkoWVQcCBf72DRLSNu3CSAMbTKtq7BmQH79ZTc\/image.png"],"links":["https:\/\/www.steemcoinpan.com\/sct\/@roostermine\/27-i"],"app":"steemcoinpan\/0.1","format":"markdown"}
created2019-07-20 09:54:48
last_update2019-07-20 09:54:48
depth0
children2
net_rshares2,589,262,110,712
last_payout2019-07-27 09:54:48
cashout_time1969-12-31 23:59:59
total_payout_value0.700 SBD
curator_payout_value0.188 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length3,659
author_reputation32,029,897,993,437
root_title"빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #45- 수익 청산하는 보조지표 만들기 I (Take-Profit)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (76)
@dj-on-steem ·
중간에 익절 전에 진입 신호가 세네번 나오는 경우도 있던데, 이런 경우는 어떻게 처리되었나요? 그 처리에 따라 수익이 달라질 수도 있지 않을까요.
properties (22)
post_id78,300,491
authordj-on-steem
permlinkpv5n38
categorysct
json_metadata{"tags":["sct"],"app":"steemit\/0.1"}
created2019-07-24 16:27:45
last_update2019-07-24 16:27:45
depth1
children1
net_rshares0
last_payout2019-07-31 16:27:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length81
author_reputation15,019,887,046,324
root_title"빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #45- 수익 청산하는 보조지표 만들기 I (Take-Profit)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@roostermine ·
트레이딩뷰 Strategy 기능상, 포지션에 없을 경우 진입 시그널이 발생할 때에만 진입을 하고, 진입을 한 상태에서 매도 시그널이 나올 경우 포지션을 매도하게 됩니다! 엄밀하게 코딩하려면 매수 시그널과 매도 시그널을 교차하게 만들어야 하지만... 기능상으로 문제가 없어서 그냥 냅둔 상태로 돌리고 있습니다~ 
properties (22)
post_id78,300,543
authorroostermine
permlinkre-dj-on-steem-pv5n5i
categorysct
json_metadata{}
created2019-07-24 16:29:42
last_update2019-07-24 16:29:42
depth2
children0
net_rshares0
last_payout2019-07-31 16:29:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length173
author_reputation32,029,897,993,437
root_title"빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #45- 수익 청산하는 보조지표 만들기 I (Take-Profit)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000