본문 바로가기
트레이딩/암호화폐

bybit . API V5 . rest . Get Kline . 캔들 백데이터

by i.got.it 2024. 8. 17.

bybit . API V5 . rest . Get Kline . 캔들 백데이터

 

 

개요 

- 바이비트 거래소의 모든 종목의 캔들 데이터 확보가능. 

- 기능: 지정된 거래 페어의 과거 Kline(캔들) 데이터를 불러옴

- 용도: 과거 가격 분석, 트레이딩 전략 테스트, 시장 동향 파악

 

HTTP Request 

GET v5/market/kline

 

 

요청인자 

 

Parameter Required Type Comments
category false string Product type. spot,linear,inverse
  • When category is not passed, use linear by default
symbol true string Symbol name, like BTCUSDT, uppercase only
interval true string Kline interval. 1,3,5,15,30,60,120,240,360,720,D,M,W
start false integer The start timestamp (ms)
end false integer The end timestamp (ms)
limit false integer Limit for data size per page. [1, 1000]. Default: 200

 

추가 설명.

start , end : 요청하는 캔들데이터의 시작 시간과 끝시간을 UTC(=GMT)  epoch 시간으로  밀리초 단위로 지정.   

- epoch 시간 : 1970년 1월 1일이 0밀리초. 

- 지정한 end 시점부터 과거순으로 캔들 데이터 반환됨. 

 

 

limit :캔들 최대수량 지정. limit 값을 지정하지 않은 경우 기본 200 개 까지만 반환된다. limit 지정하는 경우 1회 요청당 최대 1000개 까지만  가능. 

 

시작시간, 끝시간 기록하지 않고 요청한 경우,  limit 에서 지정한 수량 만큼 최근 캔들 데이터 반환된다. limit 값을 지정하지 않았다면 200개, limit 를 지정하여 요청하는 경우엔 1회 요청당  1000개 까지만 반환해준다. 

 

시작 시간 끝시간 기록하고 요청한 경우, 시작 시간 이후  limit 에서 지정한 캔들 수량만큼 데이터를 반환해준다. 시간 구간내에 limit 수량의 캔들이 없는 경우엔 해당 시구간내의 캔들 데이터 수량 만큼만 반환된다.

limit 를 지정하지 않았다면 200개, limit 를 지정하여 요청하는 경우엔, 1회 요청당  1000개 까지만 반환해준다. 

 

지정한 시간구간의 캔들이 1000개를 초과하는 경우에는 1회 요청만으로는 모든 캔들 데이터 확보되지 못하므로 시작 시간을 변경하면서 여러번 요청하여 필요한 모든 캔들 데이터 확보해야 한다. 

 

 

요청코드 예 - 파이썬 pybit 라이브러리 기반 

 

- 아래코드는 바이비트 거래소 인버스 종목인 BTCUSD 의 1시간봉(=60분)을 시작시간 1670601600000 밀리초 부터 끝시간 1670608800000 밀리초까지의 캔들 데이터 요청. 시간기준 : 1970년 1월 1일 0시0분0초 를 0으로 한것. C에서 시간처리 예 , 파이썬에서 시간처리예 

from pybit.unified_trading import HTTP
session = HTTP(testnet=True)
print(session.get_kline(
    category="inverse",
    symbol="BTCUSD",
    interval=60,
    start=1670601600000,
    end=1670608800000,
))

 

응답 데이터 

Parameter Type Comments
category string Product type
symbol string Symbol name
list array
  • An string array of individual candle
  • Sort in reverse by startTime
> list[0]: startTime string Start time of the candle (ms)
> list[1]: openPrice string Open price
> list[2]: highPrice string Highest price
> list[3]: lowPrice string Lowest price
> list[4]: closePrice string Close price. Is the last traded price when the candle is not closed
> list[5]: volume string Trade volume. Unit of contract: pieces of contract. Unit of spot: quantity of coins
> list[6]: turnover string Turnover. Unit of figure: quantity of quota coin

 

- 캔들의 시작시간, 시가, 고가, 저가, 종가, 거래량 (volume), 거래대금(turnover) 이 리스트 형식으로 제공됨. 

 

- 리스트의 앞부분의 캔들 데이터 시간이 가장 최신 것(즉 , 가장 큰값)이 배치되어있다. 

 

 

- volume : 계약(contract) 단위의 거래량. 현물에서는 base currency 단위의 거래량 

  - -  리니어  BTCUSDT 이면 conteact 1BTC 이므로 BTC 단위의 거래량.  

  - -   인버스 BTCUSD 이면 contract 1USD 이므로 USD 단위의 거래량 

  - -  현물  BTCUSDT 이면 base currency 가 BTC 이므로 BTC 단위의 거래량. 

 

- turnover : quote currency 단위의 거래량.

 - -  리니어 BTCUSDT 이면 turnover 는 USDT 단위의 거래량.

 - - 인버스 BTCUSD 이면 turnover 는 BTC 단위의 거래량. 

 - - 현물 BTCUSDT 이면 turnover 는 USDT 단위의 거래량. 

 

volume 이든 turnover 든 값 자체가 차이가 날뿐 증가 감소 양상은 동일함. 

 

 

 

응답데이터 예 

{
    "retCode": 0,
    "retMsg": "OK",
    "result": {
        "symbol": "BTCUSD",
        "category": "inverse",
        "list": [
            [
                "1670608800000",
                "17071",
                "17073",
                "17027",
                "17055.5",
                "268611",
                "15.74462667"
            ],
            [
                "1670605200000",
                "17071.5",
                "17071.5",
                "17061",
                "17071",
                "4177",
                "0.24469757"
            ],
            [
                "1670601600000",
                "17086.5",
                "17088",
                "16978",
                "17071.5",
                "6356",
                "0.37288112"
            ]
        ]
    },
    "retExtInfo": {},
    "time": 1672025956592
}

 

 

 

파이썬에서 캔들 데이터 확보하는 코드 작성 방법 상세 

 

pybit . 암호화폐 캔들 백데이터 처리 . 파이썬

개요 암호화폐 거래소 바이비트 API 통신위한 공식 파이썬 패키지 pybit 이용하여 파이썬에서  캔들 데이터 확보하기 위한 가장 기본적인 형태에서 출발하여 점진적으로 사용하기 유용한 형식으

igotit.tistory.com

 

 

 

 

 

 

상위 정리 

 

 

bybit api v5 . 활용방법 정리

bybit API v5 . 서버 주소   bybit. API V5. 서버 주소 정리.암호화폐 거래소 bybit 의 API V5 서버 주소 bybit 전종목 Rest 서버 - Rest 서버는 전 종목 동일 주소. 실거래 서버 시험용 서버 Rest 서버 주소 https://

igotit.tistory.com

 

 

 

연관 

 

실시간 캔들 데이터 수신 

 

bybit . API V5 . 웹소켓 Kline . 실시간 캔들 수신

웹소켓으로 실시간 캔들 수신   웹소켓 구독 해지 공통사항 : https://igotit.tistory.com/4946 웹소켓 Kline 요청하기.  subscribe Topic kline.{interval}.{symbol} e.g., kline.30.BTCUSDT interval 설정 가능값 : 1 3 5 15

igotit.tistory.com

 

 

 


첫 등록 : 2024.08.17

최종 수정 : 

단축 주소 : https://igotit.tistory.com/5763


 

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5