본문 바로가기
프로젝트/코인 자동매매

파이썬 코인 자동매매 봇 만들기#9 - 매도 주문을 해보자

by 큰공 2021. 9. 10.
728x90
반응형

 

들어가며

2021.08.19 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#1 - pybitumb 모듈 설치하기

2021.08.21 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#2 - 24시간 변동률 정렬하기

2021.08.24 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#3 - 급등주를 찾아라

2021.08.25 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#4 - 매수 / 매도 시뮬레이션

2021.08.30 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#5 - 시뮬레이션 첫 수익률은?

2021.09.05 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#6 - STOP LOSS 기능을 추가

2021.09.06 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#7 - NONE TYPE ERROR 수정

2021.09.08 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#8 - 빗썸 API 신청 및 잔고조회 하기

 

파이썬 코인 자동매매 봇 만들기#8 - 빗썸 API 신청 및 잔고조회 하기

들어가며 2021.08.19 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#1 - pybitumb 모듈 설치하기 2021.08.21 - [IT/파이썬] - 파이썬 코인 자동매매 봇 만들기#2 - 24시간 변동률 정렬하기 2021.08.24 - [IT/..

coinpipe.tistory.com

 이번 포스팅은 이전 글에 대해서 크게 이어지는 내용은 아니긴합니다만, 이전글을 못 보고 오신분들은 순차적으로 글을 보시고 오시는것을 추천드립니다.

 

목표

 지난번 포스팅에서는 빗썸 Private API 를 이용하여, 계정 정보와 연동하여 실질적으로 잔고조회를 해보았는데요. 오늘은 실질적으로 가지고 있는 종목에 대해서 매도 주문을 넣어 볼까 합니다.

 

 수익이 나야 포스팅하는 재미도, 자동매매 봇을 만드는 재미도 있지 않을까요? 오늘 매도 주문을 넣은 종목이 다음 포스팅까지는 수익으로 매도가 이뤄지길 간절히 기도해 봅니다.

 

 

 

매도 코드

import pybithumb
import time

con_key = "X"
sec_key = "X"

bithumb = pybithumb.Bithumb(con_key, sec_key)

won = 0

for ticker in pybithumb.get_tickers() :
    balance = bithumb.get_balance(ticker)
    if balance is None :
        break

    if balance[0] > 1 :
        print(ticker, "-", "보유수량", format(balance[0],'f'), ", 평가금액", format(balance[0] * pybithumb.get_current_price(ticker),'f'))
        won = won + balance[0] * pybithumb.get_current_price(ticker)
        sell_ticker = ticker
        unit = balance[0]
    
    time.sleep(0.1)

print ( "총 원화 자산 :", won + balance[2])

# 매도
sell_percent = 10 # 현재가의 X % 에 매도 주문
sell_price = int ( pybithumb.get_current_price(sell_ticker) * ( 1 + sell_percent / 100) )
print ( sell_ticker, sell_price, unit )

order = bithumb.sell_limit_order(sell_ticker, sell_price, unit)
print (order)

 

 현재 WOZX (이포스) 를 보유 잔고 142.9781 수량으로 가지고 있으며, 평규 매수가 1030원에 들고 있습니다.

 이를 빗썸에서 조회해보면 아래와 같이 나오고, 코드로 잔고 조회를 했을 때도, 정상적으로 조회가 됨을 볼 수 있습니다.

 

 

 이를 현재가 10% 로 매도 주문을 하는 코드를 작성했습니다.

 

 매도 주문가는 현재 종목의 현재가에 서 지정한 10%를 곱한 가격으로 지정합니다. 

 

 여기서 주의할 점은 매도 주문가는 소숫점 단위로 되지 않고 호가 단위를 맞춰야 하는데, 다행이 이포스는 1000원 이상 10000원 미만의 종목이라, 최소 주문 호가 단위가 1으로 단순히 int 로만 변환하여도 거래가 가능합니다.

sell_price = int ( pybithumb.get_current_price(sell_ticker) * ( 1 + sell_percent / 100) )
order = bithumb.sell_limit_order(sell_ticker, sell_price, unit)

 

 만약, 호가단위를 맞추지 않으면, 아래와 같은 Error 메시지가 발생합니다.

{'status': '5600', 'message': '입력값을 확인해주세요.'}
{'status': '5500', 'message': 'Invalid Parameter'}

 

빗썸 API의 상세한 에러코드는 아래에서 확인이 가능합니다.

https://apidocs.bithumb.com/docs/err_code

 

No.1 가상자산 플랫폼, 빗썸

가상자산 거래소, 렌딩, 스테이킹, 예치, 비트코인, 이더리움, 리플, 비트코인캐시, 라이트코인, 비트코인 골드, 이오스, 이더리움클래식, 퀀텀, 체인링크, 실시간 시세, 쉽고 안전한 거래

www.bithumb.com

 

매도 주문 확인하기

 자, 이제 매도 주문이 정상적으로 되었는지 확인을 해야 겠죠?

 

 파이썬 봇 상으로 WOZX 코인을 현재가 보다 10% 높은 가격 1169원에 현재가지고 있는 전량 매도 주문을 하였고, 이에 매도 주문 번호를 리턴 받았습니다.

 

 빗썸 홈페이지 상으로 정확하게 매도 주문이 이뤄졌는지도 확인 가능합니다.

 포스팅을 하는 과정 중에서는 매도 되지는 않았는데, 정상적으로 지정가 매도가 이뤄짐을 확인하였습니다.

 

 이로써, 파이썬 자동 매매봇을 통해서 잔고를 확인하고 해당 종목의 전량을 10% 높은 가격에 매도 주문하는것을 해보았습니다.

 

 한가지 아쉬운 점이있다면, 매수가의 10% 향상된 가격으로 매도 주문을 하고 싶었는데, 현재 매수가를 얻어오는 API를 아직 찾지 못했네요. 좀 더 공부해가면서 알아 봐야 하겠습니다.

 

 다들 티끌 모아 티끌 하셔서 대박나세요!!

 

 

728x90
반응형

댓글2