我从binance api获得了btcusdt的订单历史数据。根据binance api关于“如何管理本地订单”,首先使用websocket获取和缓冲数据,然后使用api获取订单数据,并使用lastorderid清除我缓冲的过时数据。然而,我得到的数据是2个csv文件。深度捕捉和深度更新。所以我试着按照api的要求去做。第一部分已经完成了,因为它说使用存储在depth\u update中的websocket获取缓冲区数据。通过使用depth_snap中的lastorderid,我试图完成第二部分,删除过时的数据,结果发现lastorderid无法使用。
我检查了lastorderid,发现lastorderid在深度捕捉和深度更新中没有重叠。所以我想我应该使用深度捕捉数据而不是深度更新。然而,数据之间的时间间隔约为40分钟,这太长了。
我确实检查了时间戳以确保数据在同一日期
如何使用此深度捕捉和深度更新创建订单簿数据?我检查了时间戳和csv文件(不同日期的depth_snap.csv)之间的lastorderid和pu(以前数据的lastorderid),发现它们是有序的。因为数据是连续的,所以只使用深度捕捉并生成订单数据可以吗?
1条答案
按热度按时间whlutmcx1#
您应该添加代码以明确您所做的工作。
根据我自己的经验,以下是您应该如何使用binance websocket:
换句话说,您不应该在回调函数中进行任何处理。
您应该在任何您喜欢的地方写入数据,并在其他地方进行处理。
我知道这些指导方针似乎有悖常理,但如果不遵循这一点,我个人会遇到长达数十秒的延迟,它会停留在过去,无法恢复。
您还应该计算挂起操作时要标记的延迟。
如果随着时间的推移监视binance api延迟,您会在某些时候观察到巨大的延迟峰值,特别是当您在市场上有重大变动时。