我正在为加密货币建立交易算法,并增加了几种不同的交易所。
对于我添加的最后4个交易所,我使用交易所api端点检索所有硬币的报价(每次交易所每5分钟进行一次api调用)。
我开始着手实施Coinbase Pro,该Coinbase Pro没有可以一次导入所有报价的终端。
根据我目前的编码经验,我提出了两个选择...
选项A:每5分钟进行30次API调用,以导入价格数据。
或
选项B:通过30个不同频道上的网络套接字进行连接,并使用最新更新来更新字典,并每5分钟发送一次到SQL。
我的担忧:
Coinbase非常活跃,仅连接到2个Web套接字时,似乎每秒就有多个更新。
我没有制定高频交易策略,因此较小的等待时间就不成问题了。同时,我担心由于http挂断/超时,可能会导致30分钟的请求占用一分钟的时间。
如果API轮询是最好的解决方案,那么我是否能够使用grequests(用于异步http请求),urllib3(连接池)或httplib(通过保持连接打开)来减少延迟?
如果这是一个愚蠢的问题,我很抱歉,我只有一年的编码经验,但在Google / stackoverflow上似乎找不到适合这种情况的正确解决方案。
任何建议将不胜感激!
最好的问候
荡妇
答案 0 :(得分:1)
我认为您非常了解Long Polling和WebSockets之间的区别因素。通常,使用Coinbase提供的数据类型,人们可以构建仪表板或实时应用程序(如上所述),这些数据表或实时应用程序在一秒钟内可以多次更新数据。 Here's an example。因此,从交流的频率来看,长轮询将是必经之路。
但是,以下因素可以帮助您做出决定:
要了解有关WebSockets最佳用例的更多信息,请观看此conference talk。
希望这有助于解决您的查询。