【问题标题】:How to build a simple Websocket in Python for ByBit and fetch the values in variables?如何在 Python 中为 ByBit 构建一个简单的 Websocket 并获取变量中的值?
【发布时间】:2022-06-10 19:28:31
【问题描述】:

首先,我不是程序员,而是交易员。几年前我在学校接受过一些java培训,所以我了解代码并且可以通过复制粘贴来构建一些小东西。

我设法在 Python 脚本中从 websocket 获取数据。

我需要一个小小的帮助。我的问题:如何将 websocket 数据中的两个值(价格和符号)放入变量价格和变量符号中?

示例: 可变价格:30000 变量符号:BTCUSDT

#####################################################
from BybitWebsocket import BybitWebsocket
import logging
from time import sleep

def setup_logger():
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)  # Change this to DEBUG if you want a lot more info
    ch = logging.StreamHandler()
    formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
    ch.setFormatter(formatter)
    logger.addHandler(ch)
    return logger

 
if __name__ == "__main__":
    logger = setup_logger()
  
    ws_public = BybitWebsocket(wsURL="wss://stream-testnet.bybit.com/realtime",
                         api_key="apikey", api_secret="apisecret"
                        )
    
    ws_public.subscribe_orderBookL2("BTCUSD")

    while(1):
        logger.info(ws_public.get_data("orderBookL2_25.BTCUSD"))

        sleep(1)

#####################################################

【问题讨论】:

标签: python python-3.x websocket bybit python-bybit


【解决方案1】:

我试图弄清楚你的代码,但恐怕它没有任何意义。下面是使用CCXT library 实现您想要的一个非常简单的替代方法。我建议您使用 CCXT,因为它是一个交叉交换统一库,包含大量文档和对 SO 的支持,它会让您的生活更轻松。

import ccxt

exchange = ccxt.bybit()

markets = exchange.fetchMarkets()

symbol = 'BTC/USDT:USDT'
order_book = exchange.fetchOrderBook(symbol)
symbol = order_book['symbol']
best_bid = order_book['bids'][0][0]
best_ask = order_book['asks'][0][0]

print(f'{symbol} {best_bid} / {best_ask}')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    相关资源
    最近更新 更多