Bybit의 Pybit: WebSocket을 통해 kline 스트림을 구독하는 방법
Bybit의 Python 라이브러리가 새로운 버전으로 출시되었습니다. 작성 당시Pybit의 v2.1.0을 다운로드할 수 있습니다.
이제 실시간 kline 데이터를 스트리밍하기 위해 Pybit WebSocket API를 사용하는 방법을 살펴보겠습니다.
from datetime import date, datetime, timedelta
import dateparser
import time
import hmac
import json
from pybit import usdt_perpetual
# Apply for API keys and secrets at https://testnet.bybit.com/
api_key="xxx"
api_secret="xxx"
# Initialize web socket connection instance
ws = usdt_perpetual.WebSocket(
test=True,
api_key=api_key,
api_secret=api_secret,
)
# Initialize http connection instance
session = usdt_perpetual.HTTP(endpoint="https://api-testnet.bybit.com", api_key=api_key, api_secret=api_secret)
# Define a target price that you want to enter your position
target_price = 40000
# handle_position is a callback that will be triggered on every new websocket event (push frequency can be 1-60s)
def handle_position(message):
data = message["data"][0]
if data:
# check for target_price for entering position, if confirm=True, the data is the final tick for the interval. Otherwise, it is a snapshot.
if data['close'] >= target_price and data['confirm'] == True:
print("Buy Order | {} | {}".format(data['close'], time.strftime("%m/%d/%y, %H:%M:%S", time.localtime())))
tp = target_price + (target_price * 0.05)
sl = target_price - (target_price * 0.05)
# Buy at market price to enter Long position
ret = session.place_active_order(
symbol="BTCUSDT",
side="Buy",
order_type="Market",
qty=0.001, # amount to buy
time_in_force="GoodTillCancel",
reduce_only=False,
close_on_trigger=False,
take_profit=tp,
tp_trigger_by="LastPrice",
stop_loss=sl,
sl_trigger_by="LastPrice",
position_idx=0,
)
print("Buy Order Id | {}".format(ret["result"]["order_id"], time.strftime("%m/%d/%y, %H:%M:%S", time.localtime())))
# start kline stream here and pass in callback, symbol and desired kline interval
ws.kline_stream(callback=handle_position, symbol="BTCUSDT", interval="5")
참고: testnet.bybit.com에서 무료 크레딧을 요청하여 알고리즘을 테스트하기 위해 상상의 $$를 가질 수 있습니다. 요청은 실시간 채팅 지원을 통해 수행할 수 있습니다.
공식 Pybit의 WebSocket 예제 참조: https://github.com/bybit-exchange/pybit/blob/master/examples/websocket_example.py
Reference
이 문제에 관하여(Bybit의 Pybit: WebSocket을 통해 kline 스트림을 구독하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kylefoo/bybits-pybit-how-to-subscribe-to-kline-websocket-stream-5c2f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)