使用websocket的bitstamp订单

时间:2018-03-18 14:57:29

标签: python websocket

以下用python编写的代码使用websocket来实时获取bitstamp交换的cryptocoin(以美元为单位)的价格。它在屏幕上打印下载的信息。

import pusherclient
import logging

def connect_handler(data):
    trades_channel_ethusd = pusher.subscribe("live_trades_ethusd")
    trades_channel_ethusd.bind('trade', trade_callback_ethusd)

def trade_callback_ethusd(data):
    print(data)

pusher = pusherclient.Pusher("de504dc5763aeef9ff52")
pusher.connection.logger.setLevel(logging.WARNING) 

pusher.connection.bind('pusher:connection_established', connect_handler)
pusher.connect()

如果我想对订单执行相同的操作,我们应该将" live_trades_ethusd" 更改为" diff_order_book_ethusd" 。 (https://www.bitstamp.net/websocket/

但是,当我替换字符串时,它什么都不返回。这是一个websocket失败吗?

编辑:

正确的代码是:

import pusherclient
import logging

def connect_handler(data):
        trades_channel_ethusd = pusher.subscribe("live_trades_ethusd")
        trades_channel_ethusd.bind('data', trade_callback_ethusd)

def trade_callback_ethusd(data):
    print(data)

pusher = pusherclient.Pusher("de504dc5763aeef9ff52")
pusher.connection.logger.setLevel(logging.WARNING) 

pusher.connection.bind('pusher:connection_established',     connect_handler)
pusher.connect()

1 个答案:

答案 0 :(得分:2)

简答

将您的bind行更改为以下

trades_channel_ethusd.bind('data', trade_callback_ethusd)

完整答案

订阅WebSocket时,请务必绑定到正确的事件名称。 “之前”调用(即live_trades_ethusd)绑定到“交易”事件,其中diff_order_book_ethusd调用绑定到“数据”事件