我正在使用C# WAMP客户端连接到Poloniex交易所,以获得实时市场data.AS,由交易所提供的文档,为了创建一个实时订单,我们必须首先通过他们提供的REST api获得订单的快照,并从中提取序列号,然后连接到WAMP服务器,以获得流数据和更新订单快照。
我在更新通过rest api收到的快照订单簿时遇到了问题,因为我通过REST api收到的序列号比通过WAMP收到的序列号提前了近400k记录。
有没有其他方法可以从POloniex交换获得实时流数据,或者我错过了什么?
发布于 2017-07-10 01:52:11
我也有同样的问题。看起来他们有一些缺陷。我注意到的是,在正常的更新消息和“心跳”消息(没有负载的消息)中发送的序列是不同的。文档指出,心跳消息应重复最后一个正常消息序列号。但这是不同的。但是,它与REST API返回的数字相对应。因此,这似乎对心跳消息“有效”,而对正常消息是错误的。看起来很像是个虫子。
这里还有一些related question。
更新:还检查了具有REST API返回的交易历史的"newTrade“事件。WAMP中的交易in明显低于快照中的实际交易in。似乎通过推送API发布的事件已经过时了几个小时,这就是对所有这些行为的解释。所以推流接口现在无法使用。
最后,似乎目前的方法是使用他们的纯WebSocket应用程序接口,这是由web界面使用的。它位于wss://api2.poloniex.com。唯一的问题是缺乏文档。一种方法是对网络接口的流量进行反向工程。一些糟糕的信息可以在代码片段中找到,比如this或discussion here。
发布于 2017-09-20 22:19:51
原始的websocket似乎不是活动的。处于活动状态的确实是: wss://api2.poloniex.com。我正在编写我的应用程序的快速,但也许你会发现这是有帮助的。对于订单条目,我发送以下消息:"{"command":"subscribe",“channel”:“(CoinPair)”}。
正确使用引号是非常重要的(如上所述)。"(coinPair)“是字符串插值,因此您可以包括您想要获得订单的任何硬币对。当然,你必须去掉()。这些只适用于swift。
如果您想要获得所有滚动条价格的实时提要,您必须发送以下消息:"{\"command\":\"subscribe\",\"channel\":1002}“。同样,请注意使用正确的引号。
希望这能有所帮助。
https://stackoverflow.com/questions/44964492
复制相似问题