BeeBot 자동매매 프로그램 개발_8단계: 시운전 결과와 과제

지난글에서 우리 비봇의 시운전에 대해 여담은 장황하게 실제 코드에 대한 내용은 짧게 적었습니다.

이번글에서는 시운전 결과와 도출과제에 대해 간략히 보고하겠습니다.

가장 단순하고 쉬운 RSI매매전략으로 봇을 하루 이상 운전해 보았습니다.

봇이 매우 안정적으로 구동되었고, 롱과 쇼트에 대해서 오픈, 클로즈 모두 잘 체결되었습니다.

기본적인 기능은 문제가 없이 작동되도록 코드를 손봐가면서 주말을 이용해 여유있게 시운전을 해 보았습니다.

그 결과 발견된 문제점들은 여러가지가 있었는데, 코드에서 어긋나는 부분들은 리팩터링을 통해 다듬어 주었고, 앞으로 해결해야할 굵직한 문제들은 다음과 같습니다. 시운전을 해보는 이유는 오류없이 잘 작동하는 중간버전의 코드를 확보해 놓고, 거기에다가 추가적으로 필요한 기능들을 하나씩 덧붙여 나가는 방식으로 봇의 완성도를 높여나가기 위해서 입니다.

사실상 문제점이라기 보다는 향후 과제를 도출한 것이라고 봐야 합니다.

  1. 지정가는 무엇을 사용할 것인가?
  2. 익손절 처리를 어떻게 할 것인가?
  3. 예상치 못하게 봇이 종료되었을 때 오픈된 포지션이나 미체결 주문을 어떻게 처리할 것인가?
  4. 매매 기록은 어찌할 것인가?
  5. 알림기능은 어찌할 것인가?

1번의 경우는 어차피 Orderbook을 확인해서 해야 하므로 추가 개발을 진행해야하는데, SDK에 해당 코드가 없기 때문에 API를 확인해서 직접 코드를 짜야합니다. 일단은 티커나 캔들정보에 있는 시장가를 사용해서 주문을 내도록 하고, 시간이 나는대로 Orderbook을 이용한 매매를 구현하도록 하겠습니다.

2번의 경우는 익손절을 누가 어떻게 계산하느냐 하는 문제입니다. 봇이 하느냐 전략이 하느냐의 문제이고, 또 계산방법에 따라서 API 트래픽이 폭증하게 되어 거래소 접속에 제한이 걸릴 수도 있고, 봇의 퍼포먼스에도 문제가 발생하게됩니다.

3번의 경우는 컴이 절전모드에 들어가거나, 정전으로 꺼지거나, 기타 다른 이유로 인터넷 연결이 불안정한 경우 거래소와의 연결이 끊어지게 되고 봇은 종료하게 됩니다. 이때 오픈된 포지션이나 미체결 주문들을 어떻게 처리할 것인가 하는 이슈입니다.

4번의 경우는 부대적일 수도 있지만 매우 중요한 과제입니다. 주문과 체결을 일일이 기록해서 결과를 확인하는데도 사용하지만 익손절 시그널을 생성할 때도 사용할 수 있습니다. 과거 매매기록은 매매전략의 운용에도 이용할 여지가 많습니다.

5번의 경우는 친절을 넘어서 봇을 매매보다 신호발생 알람용으로 사용하는 분들도 있기 때문에 꼭 필요한 기능 중의 하나라 하겠습니다.

어느 것을 먼저해도 상관 없지만 4번을 우선순위로 해서 봇의 이벤트 로그라든가 매매로그를 확인해 가면서 기록장치를 구현하도록 하겠습니다.

기록을 저장하고 조회하는데는 데이타베이스를 사용해야하므로 코딩을 하는 분들에게는 필수과제라 하겠습니다.

그럼 이만…

 

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다