이전 글을 읽으셨다면 기본적인 세팅은 다 되었을 거라 생각합니다.
그럼 이제 Bybit의 API를 이용하여서 주문도 하고 차트 값도 가져오고 하는 일이 남았습니다.
그래도 API에 대한 간단한 이해가 있어야 개발하는데 문제가 생겨도 해결 할 수 있을거라 생각합니다.
먼저 API란 무엇이냐?
- API는 컴퓨터나 컴퓨터 프로그램 사이의 연결입니다. 통신 규약이라고 생각하시면 됩니다.
현재 흔히 API라 말하는 것들은 REST API 를 뜻하는데 의미는 다음과 같습니다.
Bybit의 API는 현재
- REST API
- Websocket API
를 지원합니다.
간단하게 설명하자면
REST API는 one Request - one Response 방식이고
WebSocket API는 통신 채널을 만들어 Response multiple time과 같습니다.
https://www.youtube.com/watch?v=LddPLO4bXmQ
여기까지 보셔다면 이제 Bybit의 API Document을 보셔도 이해가 될 것이라 생각합니다.
https://bybit-exchange.github.io/docs/v5/intro
Introduction | Bybit API Documentation
To learn more about the V5 API, please read the V5 upgrade guideline.
bybit-exchange.github.io
그럼 이제 간단한 Candle 정보들을 가져와 볼까요?
위의 API Document에서 Market - Get Kline으로 가봅시다.
Rest API에 대해 이해가 전혀 안되셔도 괜찮습니다,
Bybit는 친절하게도 여러 언어에서 Bybit Rest API를 사용할 수 있도록 가이드와 Library를 지원하고 있습니다.
해당 페이지에서 "RUN"을 눌러보면
Java,Python, GO, Java Script등 여러 언어에 대한 예시가 있습니다.
그러나 Bybit에서는 Pybit라는 Library를 공식적으로 인정하고 있으므로 해당 라이브러리를 설치 후에 사용하시면 편하게 개발이 가능하십니다.
https://github.com/bybit-exchange/pybit
GitHub - bybit-exchange/pybit: Official Python3 API connector for Bybit's HTTP and WebSockets APIs.
Official Python3 API connector for Bybit's HTTP and WebSockets APIs. - GitHub - bybit-exchange/pybit: Official Python3 API connector for Bybit's HTTP and WebSockets APIs.
github.com
그럼 이제 VSCode로 들어가서 Pybit를 이용한 캔들 정보(Get Kline)을 가져와 볼까요
먼저 Terminal에서 pybit를 설치합니다.
설치 후 에서는 해당 경로로 들어가서 example을 보면서 하셔도 됩니다.
print("Hello World!\n")
from pybit.unified_trading import HTTP, WebSocket
######## Defines ###########################
testnet = False
###############################################
session = HTTP(
testnet=testnet,
api_key="12345678", #api key 값
api_secret="123123132132", #api secreat 값
logging_level = 10,
)
datGetKline = session.get_kline(
category="linear",
symbol="BTCUSDT",
interval=60,
)
print(datGetKline)
다음과 같이 코드를 넣고 "RUN"을 하면 BTC에 대한 Candle정보를 가져 올 수 있습니다.
현재는 매우 가독성이 안좋습니다, 데이터 시각화와 데이터 관리를 위한 pandas 사용법은 나중에 다루기로 하겠습니다.
['1683961200000', '26728', '26785.7', '26690.1', '26763', '2161.086', '57786465.9988']
해당 리스트에 대한 응답 의미는 다음과 같습니다.
현재는 api_secreat 값이 필요없는 통신이고 WebSocket 또한 쓰지 않으니 간단합니다.
그리고 bybit 계정을 Unified 계좌로 업그레이드 해야 API 주문 시에 편합니다.
기존에 SPOT. 선물 계좌를 하나로 Unified 시킨다고 하여 Unified 계좌라고 Bybit에서 최근(?)에 만들었다고 합니다.
UI에 차이가 있을 뿐 추가로 비용이 들어가지 않으니 신청하여도 좋습니다.
다음에는 주문을 넣는방법, 선물 position open,closed에 대한 방법을 알아보겠습니다.
주문, 차트 값 불러오기, Websocket통신을 한다면 거의 다 했다고 생각합니다.
자동매매는 Websocket 채널을 통해 수시로 Chart 값을 불러오고 Chart를 해석하여 특정 값이 도달 하였을 때
주문을 넣거나 빼는 형식이면 끝납니다.
그러면 제일 중요한 차트 분석이 있겠네요. 그부분은 저도 아직 미흡한 부분이라 여러 시도를 해볼 계획입니다.
'기타' 카테고리의 다른 글
웹 자동화 매크로(1) - 환경설정 (0) | 2024.05.25 |
---|---|
Bybit API Trading - (1)Bybit API 권한 신청, 개발 환경 세팅 (1) | 2023.07.24 |