암호화폐 자동매매

바이낸스 선물 거래봇 개발기 - 롱/숏 포지션 관리의 함정 😅

leemoi 2025. 1. 2. 20:33

안녕하세요! 요즘 바이낸스 선물 거래봇을 개발하면서 재미있는(?) 이슈를 발견해서 공유해보려고 합니다.

 

발견된 문제

 

이전에 업비트 API로 개발할 때는 매수/매도가 명확히 구분되어 있어서 문제가 없었는데요. 바이낸스 선물은 좀 다릅니다. 모든 주문이 그냥 'BUY'와 'SELL'로만 이뤄지거든요.

예를 들면 이렇습니다:

  • 롱 진입할 때 → BUY
  • 롱 청산할 때 → SELL
  • 숏 진입할 때 → SELL
  • 숏 청산할 때 → BUY

실제 겪은 상황

 

제가 겪은 문제는 이렇습니다. 롱 포지션을 보유하고 있는 상태에서 청산 신호가 발생했어요. 그래서 봇이 SELL 주문을 넣었는데... 네트워크 오류로 실패했습니다.

여기서 문제가 발생했죠. 봇이 "아, 주문이 실패했네? 다시 SELL 주문을 넣어야지!"라고 생각하고 재주문을 했는데... 😱

엇! 기존 롱 포지션은 이미 수동으로 청산된 상태였고, 봇은 그걸 모른 채 SELL 주문을 넣는 바람에 의도치 않게 숏 포지션으로 들어가버린 거예요.

시장가 주문을 사용하고 있어서 즉시 체결되다 보니 더 당황스러웠습니다.

 

교훈

 

이런 상황을 방지하려면 단순히 매매 알고리즘만 수정하는 게 아니라, 다음과 같은 부분들을 개선해야 할 것 같아요:

  1. 주문 전에 현재 포지션 상태를 반드시 확인하기
  2. 주문 실패 시 재시도 전에 포지션 재확인하기
  3. 거래소의 실제 포지션과 봇의 기록을 주기적으로 동기화하기

다음 포스팅에서는 이 문제들을 어떻게 해결했는지 자세히 공유해보도록 하겠습니다. 혹시 비슷한 경험이 있으신가요? 댓글로 공유해주시면 감사하겠습니다! 😊

 

#트레이딩봇개발 #바이낸스선물 #파이썬개발 #알고리즘트레이딩 #개발일지