저번 시간에 제작한 3단 변신 보조지표가 진입/청산한 거래를 분석하여, 좀 더 높은 수익률을 가져갈 수 있게끔 조작해 보겠습니다. 한 지표에 여러 기준들이 포함되어 있기 때문에 최적화 전에 어떤 부분이 문제인지/좋은 점인지 걸러내는 작업이 필수적 입니다.
복습
변동성이 변화함에 따라 손절과 익절 기준이 변화하는 지표를 만들어 보았습니다. 그것을 전략화까지 진행하였구요!
진입 횟수도 준수한 편이며, 손실률 및 수익률 둘 다 매우 긍정적입니다. 추세가 발생하면 끝까지 따라가서 수익을 취하는 것을 전제로 제작하였으며, 추세가 진짜 끝나거나, 변동성이 너무 커 필히 조정을 줄 것 같은 구간에서 청산을 하여 보다 수익을 극대화할 수 있습니다.
비트코인에 맞춘 수치가 아닌, 평균의 표준편차 및 평균을 사용했기에 모든 코인에 적용하여도 긍정적인 결과가 나온다는 점을 확인할 수 있었습니다. 물론 주기와 같은 사이클에 관련된 부분을 엄밀하게 조절하면 더 큰 수익을 내게 만들 수 있지만, overfitting 에 대한 문제점도 있기에 이정도면 충분히 사용할 만한 지표라고 생각이 듭니다.
관찰
일단 고치기 전에 관찰을 합니다. 추세가 발생하면 따라가는 것도 잘하고, 진입하는 것도 잘합니다. 하지만 추세가 발생하고, 고점에서 조정을 줄 때 평균이 급격하게 따라오지 못하여 진입하자마자 익절하는 상황이 빈전하게 발생합니다.
그림으로 그려보자면, 이런 느낌 입니다. 변동성에 따라 보이고 안보이는 익절선을 전부 표현그려봤습니다. 그리고 변동성이 큰 구간에 양봉에서 저희 전략을 매수 진입을 하게되죠. 하지만, 고변동성 구간이기에 익절선을 하방 돌파하면 청산하게 됩니다. 즉, 진입하자마자 청산을 하는 상황이 발생하는 것이죠.
TP = close[1] > highband2p and close < highband2p and open < close
일단 가장 쉬운 부분부터 처리해줍시다. 현재 익절선 위에서 진입을 하게될 경우 양봉인데도 불구하고, 익절선이 올라오는 속도에 맞추지 못하여 진입과 동시에 청산을 하는 상황이 보입니다. 그래서 익절을 할 경우 시가가 종가보다 작을 경우, 즉 음봉에만 청산을 하도록 조작해줍니다.
오케이 수익률 늘어났쓰. 근데 손실률도 늘어났스... 손실률은 최적화 하면서 잡히지 싶습니다.
일단 매수 진입 및 매도 진입에 대한 변수를 왔다갔다 하는 형태의 코드를 작성해야 하는데, 그렇게 되면 현재 상태를 저장해야하고... 으,... 지금 하는 방법이 생각나지 않아 편법을 써봅시다!
BuyPast = BuySignal[1] or BuySignal[2] or BuySignal[3] or BuySignal[4] or BuySignal[5]
과거 5 캔들에서 매수 시그널이 발생할 경우 BuyPast 라는 값으로 지정해줍니다.
차트에 적용하면 이런느낌? 매수 시그널이 발생하고 이후 5 캔들에는 빨간색을 칠한다!
Sell = (Stop or TP) and not BuyPast
그리고 매도 시그널에 진입하자마자 매도 하는 것을 방지하기 위하여, 매도할 때 이전 5 캔들 이내에 매수 시그널이 발생할 경우 매도 하지 말아라 ! 라는 코드를 적어줍니다.
if (Sell)
strategy.close("long")
그리고 다시 전략으로 만들어주면
짜잔! 수익률 증가, 손실률 감소! 진입 횟수 감소!
이더도 의미있는 모습을 보여주고 있고
이오스도 의미있고~
최근 강한 상승세를 보여준 라이트코인도 의미있는 상승률을 보여주고 있습니다.
그 중 역시 비캐가 갑...
오늘은 여기까지! 간단한 조작이였으나... 아이디어가 떠오르지 않아 역대급으로 시간이 오래걸렸다는... ㅠㅠ 어쨋든 수익률을
48% 에서 87% 까지 끌어 올렸고, 손실률도 15% 에서 14% 로 내렸으니 간단한 조작 치고는 꽤나 의미있는 변화를 보여줬습니다. 다음 시간에는 최적화를 통하여 어디까지 수익률을 높힐 수 있는지 알아보도록 하겠습니다.
질문, 댓글, 팔로우는 감사합니다!
새로운 아이디어, 종목 추천 등은 언제나 환영입니다!
Congratulations @roostermine! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
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
Vote for @Steemitboard as a witness to get one more award and increased upvotes!