시스템 트레이딩 개발 일지 #1 (My First EA Development Journal)

in #coinkorea6 years ago

안녕하세요~ @limbba 입니다. 오늘부터 저만의 시스템을 개발해 볼려고 합니다. 차근차근 하나씩 코딩하면서 오류 잡아내면서 작업을 할 생각입니다. 물론 100% 수익이 나는 로봇을 만들려고 하는게 아닙니다. 다만, 저의 생각대로 움직일수 있고, 최대한 시장에 논리로 접근할수 있는 로봇을 만들어 테스르를 할 예정입니다. 중간중간 새로운 로직이 생겨날수 있고, 의미없는 로직은 지워지겠지만, 여기 스팀잇에 기록을 남겨 보완할 생각으로 개발일지를 작성하게 되었습니다.

첫번째 자동매매 로직

먼저, 제가 생각해낸 하나의 기본 개념은 주가가 보조지표 이평 일목등 이런걸 다 제외하고 순수하게 캔들과 가격을 이용하여 흐름을 타는 로봇을 만들려고 합니다. 즉 가격이 오를때 따라가고 내릴때 매도하는 전략입니다. 아직 작업에 들어가지 않았지만, 한번 검토해볼 필요성이 느껴집니다.

코딩전 예상 로직의 장점

  • 미리 예측해서 트레이딩을 하지 않아도 된다.
  • 가격 위주로 움직이다 보니 코딩이 간다하다.(이건 해봐야 알겠지만, 더 복작해질련지)
  • 역추세 매매를 하지 않고, 추세대로 매매를 하기 때문에 안전하다.

코딩전 예상 로직의 단점

  • 횡보장이나 급등락 장에서 당할 위험이 있다.
  • 추세를 전부 먹지 못하고 중간중간 끊어 먹이 때문에 약간 느린 진입이 될수 있다.
  • 잦은 매매로 수수료 손실과 작은 손실이 누적될수 있다.

로직의 세부내용

  • 흐름을 따르기 위해 하락과 상승의 힘을 실시간 캔들로 비교한다.
  • 힘을 비교하기 위해 양봉과 음봉의 이동거리를 비교로 한다.
  • 양봉의 이동거리가 더 크면 매수세가 강한걸로 판단 진입. 음봉의 길이가 더 크면 매도세가 강한신호로 인식해서 매수청산
  • 매 봉바다 체크해야 한다
  • 횡보장 대응전략으로 두번 연속 매매가 실패하면 어느정도 시간을 두고 다시 매매를 시작한다.

로직 세부내용.png

일단 로직의 세부내용과 크게 문제될수 있는 부분과 이 로직의 장점을 예상하고 코딩을 들어가겠습니다.

먼저 양봉의 숫자와 음봉의 숫자를 파악해서 봉의 이동길이를 종가와 시가를 이용하여 계산식을 만들었습니다. 자 이렇게 정상 작동되는걸 comment 함수로 표시를 했습니다.
양봉음봉계산.png

일단 양봉 음봉 캔들 구하는 식과 양봉들의 합 음봉들의 합을 구하는 식은 코딩으로 구현을 했습니다. 그럼 먼저 기본 테스트 먼저 해보겠습니다.

  1. 첫번째 테스트 -양봉이 음봉보다 많을때 매수 적을때 매도(양봉 2개 매수, 음봉 두개 매수청산)

테스트 기간 2017 1월부터~ 현재까지
통화쌍 : 유로달라
시간봉 : 1시간봉
주문량 : 0.01랏 최소 진입 랏수

프로그램 작동 동영상

첫번째 테스트 수익그래프 와 레포트

시스템트레이딩 개발일지1.png

시스템트레이딩 1 수익그래프.png

승률이 37% 입니다. 하지만 추세장에서 끝까지 따라가면서 수익이 나기 때문에 한번 먹을때 계속 수익이 증가하지만, 횡보장이나 흔들기 장에서는 잦은 매매로 손실이 납니다.

일단 가격의 흐름대로 상승할때 따라가고 하락할때 청산하고 이런식으로 매매를 계속 하는걸 알수 있습니다. 추세장에서는 끝까지 따라가서 수익 극대화가 되고, 다만 횡보장에서는 잦은 매매로 손실이 누적됩니다.

일단 큰 틀에서 수익이 나는 로직이기 때문에 기본 개념은 바꾸지 않고 여기서 매수나 매수청산을 좀더 디테일하게 로직을 짜볼 생각입니다.

  1. 두번째 테스트 - 양봉의 길이가 음봉의 길이보다 클때 매수 음봉이 클때 매수청산

테스트 기간 2017 10월부터~ 현재까지(시간상 구동결과만 확인)
통화쌍 : 유로달라
시간봉 : 1시간봉
주문량 : 0.01랏 최소 진입 랏수

프로그램 작동 동영상

두번째 수익그래프와 레포트

개발일지1-1 수익그래프.png

개발일지1-1 레포트.png

승률이 30%이고 손실이 났습니다. 물론 테스트 기간이 짧은것과 반대로 매도를 하지 않는것도 영향을 준듯 합니다.( 매도는 매수청산과 달리 하락으로 진입을 하는걸 말합니다. 즉 하락시에 수익이
나는 진입입니다.)
이 두 기본 로직의 문제점은 시세 분출후 횡보할때 잦은 매매를 통해 손실이 누적되는 겁니다. 아래 챠트 이미지 같은 경우입니다.

개발일지1 문제점.png

저런 자리에서는 매매를 하지 않거나 버티기로 나간다면 가능합니다만, 수정했을때 문제점이 수익 날 구간에서 진입을 하지 않는것과 반대로 움직였을시에 늦은 대응이 걸립니다. 그래서 생각을 바꿔서 봉의 갯수에 제곱근을 해서 변별력을 추가해 보도록 하겠습니다.

프로그램 수정방안

  • 캔들 2개를 4개로 4개에서 8개까지 늘려서 변별력이 증가 하는지 테스트

시스템 트레이딩 개발 일지 #1 정리

  1. 이 로직은 가격의 흐름을 따라 움직이기 때문에 추세 전략의 범주에 포함된다.
  2. 역추세시 손실을 최소화 할수 있고, 추세에 제대로 편승시 끊어먹기로 추세에서 수익을 극대화 할수 있다
  3. 문제점은 횡보나 비추세에서 잦은 매매로 손실이 누적된다.
  4. 장점은 그대로 두고 단점을 보완해야 한다.

오늘은 여기까지 하고 테스트를 종료할 생각입니다. 내일 출근해야 되서 하루에 많은 시간을 할애 할수 없습니다. 억지로라도 잠을 청해야 되서, 저장하고 내일 다시 개발을 해볼 생각입니다. 제 개발 일지를 쓰는 중에 혹시 충고나 도움을 주실수 있으신 분들은 언제든 말씀해 주시면 반영하거나 참고 하도록 하겠습니다. 아니면 궁금한 사항도 아는 선에서 최대한 알려드리도록 하겠습니다.

이전 포스팅에서도 말씀 드렸지만, 저는 복작한 보조지표나 추세선 피보나치 이런 것보다 단순화 해서 트레이딩 하는걸 좋아합니다. (이유는 나중에 다른 주제로 포스팅 할 생각입니다.) 기본적 분석에서 확률로 접근해서 세밀하게 다듬는 로봇 만들길 좋아하기 때문에, 이런식의 단순화 된 테스트를 주로 합니다. 트레이딩 태그 사용으로 제목과 마지막만 영어로 추가(전 영알못입니다)

In the next post I will Write modified EA. Coming Soon

Sort:  

재밌네요 ㅎㅎ 혹시사용하시는프로그램은 직접제작하신것인가요

네 직접 만들어 테스트 중이에요

멋집니다. 저는 요새 트레이딩뷰 Pine 스크립트를 공부해보고있는데, 백테스팅이 어렵더군요 ㅠㅠ

트레이딩뷰라는 것도 있군요. 전 오직 메타4만 했기때문에 이걸로 쭉 가는중이라.. 이거 프로젝트 끝나고 한번 봐야겠네요

제 200팔뤄 이벤트에 참여해 주셔서 감사합니다.
결과 공지는 여기에 있습니다.
https://steemit.com/kr-event/@talkit/kr-event-200-86sp

잔치에는 떡이죠. 사진이긴 하지만, 맛있는 떡을 준비해 보았습니다.
모두들 새로운 한주 알차게 보내십시오. 그리고, 우리 도연이가 그린 빵빵이 https://steemit.com/kr-art/@talkit/kr-art-doyeon-s-drawing-16 보러 오세요.
tip! 0.1

Hi @limbba! You have received 0.1 SBD tip + 0.01 SBD @tipU from @talkit :)

제 200팔뤄 이벤트에 참여해 주셔서 감사합니다.
결과 공지는 여기에 있습니다.
https://steemit.com/kr-event/@talkit/kr-event-200-86sp

잔치에는 떡이죠. 사진이긴 하지만, 맛있는 떡을 준비해 보았습니다.
모두들 새로운 한주 알차게 보내십시오. 그리고, 우리 도연이가 그린 빵빵이 https://steemit.com/kr-art/@talkit/kr-art-doyeon-s-drawing-16 보러 오세요.
tip! 0.1

Sorry, the tip is higher then your deposit.
You can check your balance by sending 0.001 SBD to @tipu with memo: balance
(the minimal tip is 0.1 SBD)

죄송합니다. 프로그램 테스트 하다가 댓글이 잘못 갔습니다.

Coin Marketplace

STEEM 0.27
TRX 0.11
JST 0.031
BTC 67879.12
ETH 3787.66
USDT 1.00
SBD 3.46