我正在尝试使用 Binance API 在 Python 中构建一个交易机器人。
在测试网中,直到昨天订单簿和股票代码 API 开始为我提供冻结价格时,我才能工作。我不是币安的直接客户,因此无法直接与币安确认该问题。请有人确认同样的问题,因为我在币安官方网站上没有看到任何公告。如果这是一个重复出现的问题,我会与我的客户(我使用的账户)核实,以便他可以要求币安解决这个问题。
仅供参考,LTC 币的价格(出价/要价)每 5 到 10 秒变化一次。至少向上或向下一分钱 (0.01),我将在下面显示:
这是长日志的一小部分,显示价格被冻结。 Ticker 与 Orderbook 的方式彼此不同,但它们被冻结为自己的值。就像 OrderBook(出价/要价)被冻结到 64.18 和 64.1,而 Ticker 值被冻结到 64.1 和 64.18。
这显然是一个问题和障碍。
测试网结果:
2023-09-20 13:26:49,158 :: 信息 :: 等待 10 秒
2023-09-20 13:27:00,580 :: 信息 :: 来自订单簿:####
2023-09-20 13:27:00,580 :: INFO :: ---------新出价:64.18,新要价:64.1 ####
2023-09-20 13:27:01,213 :: 信息 :: 来自代码:####
2023-09-20 13:27:01,213 :: INFO :: ---------新出价:64.1,新要价:64.18 ####
2023-09-20 13:27:01,213 :: 信息 :: 等待 10 秒
2023-09-20 13:27:11,742 :: 信息 :: 来自订单簿:####
2023-09-20 13:27:11,742 :: INFO :: ---------新出价:64.18,新要价:64.1 ####
2023-09-20 13:27:12,374 :: 信息 :: 来自代码:####
2023-09-20 13:27:12,375 :: INFO :: ---------新出价:64.1,新要价:64.18 ####
2023-09-20 13:27:12,375 :: 信息 :: 等待 10 秒
2023-09-20 13:27:22,855 :: 信息 :: 来自订单簿:####
2023-09-20 13:27:22,855 :: INFO :: ---------新出价:64.18,新要价:64.1 ####
2023-09-20 13:27:23,796 :: 信息 :: 来自代码:####
2023-09-20 13:27:23,796 :: INFO :: ---------新出价:64.1,新要价:64.18 ####
2023-09-20 13:27:23,796 :: 信息 :: 等待 10 秒
(在你提出因为无法匹配价格而价格不会变化的理论之前,我可以提前回应一下。币安是大交易所,即使在测试网,也应该有足够的订单改变市场价格。但是,我发现从消息来源得知,测试网价格应该始终接近实时价格。因此无论如何,测试网中的价格应该会发生变化。)
我在 Spot Live 中运行了相同的代码,你猜怎么着? 价格正在按预期变化。
2023-09-20 13:39:04,633 :: 信息 :: 来自订单簿:####
2023-09-20 13:39:04,633 :: INFO :: ---------新出价:64.63,新要价:64.62 ####
2023-09-20 13:39:04,948 :: 信息 :: 来自代码:####
2023-09-20 13:39:04,948 :: INFO :: ---------新出价:64.62,新要价:64.63 ####
2023-09-20 13:39:04,948 :: 信息 :: 等待 10 秒
2023-09-20 13:39:15,119 :: 信息 :: 来自订单簿:####
2023-09-20 13:39:15,119 :: INFO :: ---------新出价:64.63,新要价:64.62 ####
2023-09-20 13:39:15,434 :: 信息 :: 来自代码:####
2023-09-20 13:39:15,434 :: INFO :: ---------新出价:64.62,新要价:64.63 ####
2023-09-20 13:39:15,434 :: 信息 :: 等待 10 秒
2023-09-20 13:39:25,602 :: 信息 :: 来自订单簿:####
2023-09-20 13:39:25,602 :: INFO :: ---------新出价:64.61,新要价:64.6 ####
2023-09-20 13:39:25,917 :: 信息 :: 来自股票代码:####
2023-09-20 13:39:25,917 :: INFO :: ---------新出价:64.6,新要价:64.61 ####
2023-09-20 13:39:25,917 :: 信息 :: 等待 10 秒
2023-09-20 13:39:36,086 :: 信息 :: 来自订单簿:####
2023-09-20 13:39:36,086 :: INFO :: ---------新出价:64.58,新要价:64.57 ####
2023-09-20 13:39:36,401 :: 信息 :: 来自代码:####
2023-09-20 13:39:36,401 :: INFO :: ---------新出价:64.57,新要价:64.58 ####
2023-09-20 13:39:36,401 :: 信息 :: 等待 10 秒
2023-09-20 13:39:46,563 :: 信息 :: 来自订单簿:####
2023-09-20 13:39:46,563 :: INFO :: ---------新出价:64.57,新要价:64.56 ####
2023-09-20 13:39:46,879 :: 信息 :: 来自代码:####
2023-09-20 13:39:46,879 :: INFO :: ---------新出价:64.56,新要价:64.57 ####
2023-09-20 13:39:46,879 :: 信息 :: 等待 10 秒
while(True):
order_book = client.get_order_book(symbol=symbol)
new_bid = float(order_book['asks'][0][0])
new_ask = float(order_book['bids'][0][0])
logging.info(f" From orderbook: ####")
logging.info(f" ---------New bid: {new_bid}, new ask:{new_ask} ####")
ticker = client.get_orderbook_ticker(symbol=symbol)
new_bid = float(ticker['bidPrice'])
new_ask = float(ticker['askPrice'])
logging.info(f" From Ticker: ####")
logging.info(f" ---------New bid: {new_bid}, new ask:{new_ask} ####")
logging.info(f"Wait for {pause_time} seconds")
time.sleep(pause_time)
Spot 测试网有自己的订单簿。如果书上没有变化,最优惠的价格不会变化。有些交易品种的交易量比其他交易品种少。你可以在测试网上试试BTCUSDT,订单比较多,非常适合测试。