바이낸스Binance 초대코드로 누리는 수수료 할인 20%와 파격 가입 혜택! 입문부터 실전까지 꿀팁 대방출새 창 열림
안녕하세요 Shinekim 입니다. 요즘 또 재밌는 개발을 다시 시작했습니다.바로 Binance 자동매매인데요, 4년전 선물로 깡통 찼던 저에서 이제 튼튼한 전략을 가지고 다시 선물 시장으로 돌아왔습니다.ㅎㅎ변동성이 크고, 24시간 돌아가는 장점을 이용해 감정을 배제한 자동매매를 한번 해보려고 합니다.그래서최근 Binance 선물 시장에서 SOXLUSDT를 대상으로 자동매매 프로그램을 직접 만들어보기 시작했습니다.기존에는 국내 ETF 자동매매 프로그램(LW)을 운영하고 있었는데, 이번에는 Binance API를 활용하여 분할매수 전략을 구현해보는 것이 목표입니다.전략 개요전략 자체는 비교적 단순합니다. binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance 1회차는 사용자가 직접 시장가로 매수하고, 이후부터는 프로그램이 지정가 주문을 관리합니다.예를 들어 회차별 하락률을 2%로 설정하면 다음과 같이 동작합니다.1회차 : 수동 매수2회차 : -2%3회차 : -4%4회차 : -6%5회차 : -8%6회차 : -10%프로그램은 해당 가격에 자동으로 지정가 주문을 생성합니다.주문 관리 방식모든 회차 주문을 한 번에 생성하지는 않습니다.현재 진행 중인 회차를 기준으로 다음 2개 회차만 유지하도록 설계했습니다.예를 들어,1회차 보유 중 → 2, 3회차 주문 생성2회차 체결 → 3, 4회차 주문 생성3회차 체결 → 4, 5회차 주문 생성과 같은 방식으로 동작합니다. binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance 이렇게 하면 불필요한 주문을 줄일 수 있고, 주문 관리도 훨씬 수월해집니다.익절 전략익절은 평균단가를 기준으로 판단합니다.예를 들어,평균단가 : 100TP : 10%으로 설정했다면,현재 가격이 110에 도달했을 때 전량 시장가 매도 후 전략을 종료합니다.쿼터 손절 전략이번 프로그램에서 가장 고민을 많이 했던 부분입니다.일반적인 손절처럼 전량 매도하는 방식이 아니라, 포지션의 일부만 정리하는 방식으로 설계했습니다.예를 들어,평균단가 : 100SL : 20%으로 설정했다면,현재 가격이 80에 도달했을 때보유 포지션의 25%를 시장가 매도미체결 주문 전체 취소남은 75% 포지션을 새로운 1회차로 설정전략 binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance 재시작과 같은 순서로 동작합니다.손실을 일부 줄이면서도 시장에 계속 참여할 수 있도록 만든 구조입니다.개발 과정에서 발생한 문제들1. Binance API 권한 설정처음에는 Futures API 권한이 활성화되지 않아 한참 원인을 찾았습니다.확인해보니 최소한 아래 권한이 필요했습니다.Enable ReadingEnable Futures반면 출금 권한은 보안상 활성화하지 않았습니다.2. Python 32비트 문제GUI 개발을 위해 PySide6를 사용하려고 했는데 설치가 되지 않았습니다.원인을 확인해보니 Python 32비트 버전을 사용하고 있었고, 64비트 버전으로 재설치한 후 정상적으로 동작했습니다. binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance 3. Binance 최소 주문 금액 제한Binance Futures는 최소 주문 금액이 5 USDT 이상이어야 합니다.초기 테스트에서는 예수금을 적게 넣어 두었더니 일부 주문이 생성되지 않았습니다.그래서 프로그램에최소 주문 금액 확인예수금 부족 시 해당 회차 주문 생략기능을 추가했습니다.4. 수동 취소 감지 버그사용자가 주문을 취소하지 않았는데도 프로그램이MANUAL_CANCEL_DETECTED상태로 진입하는 문제가 있었습니다.원인을 추적해보니 주문 생성 이전 상태를 잘못 해석하고 있었고, 해당 부분은 수정하여 정상 동작하도록 개선했습니다.GUI 개선초기 버전은 단순한 입력창 수준이었습니다.현재는API binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance'>binance 설정 탭Gmail 설정 탭매매 설정 탭으로 구분하여 관리하고 있으며,회차별 하락률과 주문 금액도 표 형태로 입력할 수 있도록 개선하고 있습니다.앞으로의 계획현재 기본적인 주문 로직은 어느 정도 동작하는 상태입니다.앞으로는 다음 기능들을 추가로 보완할 예정입니다.Gmail 알림 기능 완성회차별 주문 테이블 고도화상태 복구 기능 안정화실전 소액 테스트EXE 배포내일은 Binance 계정에 자금을 추가로 입금한 뒤, 실제 주문 생성과 쿼터 손절 로직을 테스트해볼 예정입니다.자동매매 프로그램을 처음부터 직접 만들어보는 과정이 쉽지는 않지만, 하나씩 문제를 해결해 나가는 재미가 있는 것 같습니다.




