일전에 upbit 자동 매매에 대하여 글을 올린 적이 있는데요. 짬짬히 작업을 하여 기본적인 틀은 만들었습니다. 그 과정을 기술합니다.
우선 Upbit API를 사용하기 위해서는 Upbit 계정이 있어야 합니다. 계정을 만드신 후 아래 사이트에 가시면 Open API 키를 발급받아야 합니다.
https://www.upbit.com/mypage/open_api_management
다음은 Upbit Open API 문서를 보아야 합니다. 최신 버전은 아래 사이트에서 확인하실 수 있습니다.
https://docs.upbit.com/v1.0.3/reference
능력이 있으신 개발자는 Open API문서만 보면 개발이 가능하겠지만, 이런 API를 class로 잘 정리한 코드가 github에 있을 겁니다. 그래서 github에 가서 "upbit python"로 찾아봅니다. 여러 개발 프로젝트가 검색이 되는데 저는 아래 두 project를 다운 받아서 확인해보았습니다
https://github.com/sharebook-kr/pyupbit
https://github.com/inasie/upbitpy
일전에 작업을 할 때는 inasie 님 코드를 이용했었는데요. 약간 코드가 복잡한 면이 있어서 sharebook-kr님의 코드를 이용해 보았습니다. 그런데 아쉽게도 upbit API에서는 주문 체결 내역을 알려주는 API가 없더군요. 대신에 주문 내역을 알려주는 API는 있습니다.
그래서 Open API 문서를 바탕으로 주문 내역을 알려준는 함수를 만들었습니다
def orders_status(self, ticker):
'''
주문 상태
:param ticker: 마켓 티커
:return:
'''
try:
url = "https://api.upbit.com/v1/orders"
data = {"market": ticker,
"page" : 1
}
headers = self._request_headers(data)
return _send_get_request(url, headers=headers, params=data)
except Exception as x:
print(x.__class__.__name__)
return None
주문 내역을 읽어서 자동매매를 할 수 있는 방법을 고민해 보아야 할 것 같습니다. 고민 중!!!