У меня есть комментарий (Qt Bitcoin Trader [Open Source безопасный торговый клиент для Mac / Windows / Linux])
Пожалуйста, кто-то, кто имеет привилегии, этот пост в IGHOR, автор программы ниже линии. Это было бы означать много помощи в своем процессе развития.
-------------------------------------
Привет IGHOR,
Вы имеете упомянуть об этом в списке TODO:
котировка
Следующий TODO:
5) Разработка сервера для сбора всех данных тикер и глубины, чтобы обеспечить одно подключение WebSocket для обновления данных в режиме реального времени
5) Разработка сервера для сбора всех данных тикер и глубины, чтобы обеспечить одно подключение WebSocket для обновления данных в режиме реального времени
Но, может быть, вы не знаете, что Bitstamp имеет WebSocket интерфейс толкатель, который работает нормально. (Толкатель протокол описан здесь: http://pusher.com/docs/pusher_protocol)
Вы need't реализовать сервер, просто используйте код, который уже на своей домашней странице. С их помощью Javascript:
Код:
Толкатель вар = новый толкатель ( 'de504dc5763aeef9ff52');
вар trades_channel = pusher.subscribe ( 'live_trades');
trades_channel.bind ( 'торговля', update_index_live_trades);
вар order_book_channel = pusher.subscribe ( 'order_book');
order_book_channel.bind ( 'данные', update_index_order_book);
// переменная orders_channel = pusher.subscribe ( 'live_orders');
//orders_channel.bind('order_deleted», add_to_ws_queue);
//orders_channel.bind('order_created», add_to_ws_queue);
//orders_channel.bind('order_changed», add_to_ws_queue);
вар trades_channel = pusher.subscribe ( 'live_trades');
trades_channel.bind ( 'торговля', update_index_live_trades);
вар order_book_channel = pusher.subscribe ( 'order_book');
order_book_channel.bind ( 'данные', update_index_order_book);
// переменная orders_channel = pusher.subscribe ( 'live_orders');
//orders_channel.bind('order_deleted», add_to_ws_queue);
//orders_channel.bind('order_created», add_to_ws_queue);
//orders_channel.bind('order_changed», add_to_ws_queue);
Вы просто должны подписаться на их Pusher каналы с этой de504dc5763aeef9ff52 ID, и вы получите поток транзакций жить!
Я загрузил Python Pusher Client, подписался на свои каналы, и получил тот же канал, как видно на их сайте, все данные, которые публично, но без документов на их странице API док.
Тестовый код питон, просто чтобы посмотреть, насколько легко:
Код:
#! / USR / бен / окр питон
# - * - кодирование: UTF-8 - * -
импорт SYS
sys.path.append ( '..')
импорт pusherclient #live поток клиента: https://github.com/ekulyk/PythonPusherClient
ведение журнала импорта
время импорта
Защиту trade_callback (данные): #Some callbacs, чтобы сделать что-то, когда occours события
Распечатать "сделка", данные
Защиту order_deleted_callback (данные):
Распечатать "Удалить", данные
Защиту order_created_callback (данные):
Распечатать "Создайте", данные
Защиту order_changed_callback (данные):
Распечатать "изменения", данные
Защиту order_book_callback (данные):
Распечатать "книга", данные
Защиту connect_handler (данные): # Эта вызывается, когда установлено соединение толкателя
trades_channel = pusher.subscribe ("live_trades")
trades_channel.bind ( 'торговля', trade_callback)
order_book_channel = pusher.subscribe ( 'order_book');
order_book_channel.bind ( 'данные', order_book_callback)
orders_channel = pusher.subscribe ("live_orders")
orders_channel.bind ( 'order_deleted', order_deleted_callback)
orders_channel.bind ( 'order_created', order_created_callback)
orders_channel.bind ( 'order_changed', order_changed_callback)
если __name__ == «__main__»: # Эта функция основной ()
Толкатель = pusherclient.Pusher ("de504dc5763aeef9ff52")
pusher.connection.logger.setLevel (logging.WARNING) #no нужно для этой линии, если вы хотите, чтобы все распечатано регистраторе
pusher.connection.bind ( 'толкатель: connection_established', connect_handler)
pusher.connect ()
в то время как True: #run до Ctrl + C прерываний
time.sleep (1)
# - * - кодирование: UTF-8 - * -
импорт SYS
sys.path.append ( '..')
импорт pusherclient #live поток клиента: https://github.com/ekulyk/PythonPusherClient
ведение журнала импорта
время импорта
Защиту trade_callback (данные): #Some callbacs, чтобы сделать что-то, когда occours события
Распечатать "сделка", данные
Защиту order_deleted_callback (данные):
Распечатать "Удалить", данные
Защиту order_created_callback (данные):
Распечатать "Создайте", данные
Защиту order_changed_callback (данные):
Распечатать "изменения", данные
Защиту order_book_callback (данные):
Распечатать "книга", данные
Защиту connect_handler (данные): # Эта вызывается, когда установлено соединение толкателя
trades_channel = pusher.subscribe ("live_trades")
trades_channel.bind ( 'торговля', trade_callback)
order_book_channel = pusher.subscribe ( 'order_book');
order_book_channel.bind ( 'данные', order_book_callback)
orders_channel = pusher.subscribe ("live_orders")
orders_channel.bind ( 'order_deleted', order_deleted_callback)
orders_channel.bind ( 'order_created', order_created_callback)
orders_channel.bind ( 'order_changed', order_changed_callback)
если __name__ == «__main__»: # Эта функция основной ()
Толкатель = pusherclient.Pusher ("de504dc5763aeef9ff52")
pusher.connection.logger.setLevel (logging.WARNING) #no нужно для этой линии, если вы хотите, чтобы все распечатано регистраторе
pusher.connection.bind ( 'толкатель: connection_established', connect_handler)
pusher.connect ()
в то время как True: #run до Ctrl + C прерываний
time.sleep (1)
И это все! Очень легко в Python, я думаю, что это может быть сделано и в программировании быстро Это было бы очень и очень большой шаг вперед
Примеры выхода предыдущей программы, все хорошо образовывались JSON, что в данных variabes распечатана:
Код:
Создайте {"цена": "725,11", "количество": "48.65000000", "Дата и время": "1388100046", "Я бы": 11927177, "order_type": 0}
Удалить {"цена": "751,00", "количество": "0.49533954", "Дата и время": "1388099770", "Я бы": 11926902, "order_type": 0}
Удалить {"цена": "736,06", "количество": "6.95000000", "Дата и время": "1388100034", "Я бы": 11927172, "order_type": 0}
Удалить {"цена": "736,06", "количество": "48.65000000", "Дата и время": "1388100018", "Я бы": 11927153, "order_type": 0}
Создайте {"цена": "736,07", "количество": "20.85000000", "Дата и время": "1388100053", "Я бы": 11927178, "order_type": 0}
Удалить {"цена": "774,99", "количество": "5.16121000", "Дата и время": "1388099872", "Я бы": 11926993, "order_type": 1}
Создайте {"цена": "736,76", "количество": "27.67767160", "Дата и время": "1388100053", "Я бы": 11927179, "order_type": 0}
книга {"предложения": [["758,08", "0.09000000"], ["757,71", "3.13735421"], ["757,70", "6.23629196"], ["757,46", "0.04700000
"], ["756,98", "0.00138704"], ["756,90", "1.00000000"], ["756,47", "0.05000000"]], "спрашивает": [["760,78", "0.04800000"
], ["761,00", "1.47339631"], ["761,65", "0.14020557"], ["761,66", "1.67295194"], ["761,81", "0.04900000"], ["762,00
", "1.82159420"], ["762,85", "0.04900000"]]}
Создайте {"цена": "751,80", "количество": "6.95000000", "Дата и время": "1388100054", "Я бы": 11927180, "order_type": 0}
Создайте {"цена": "690,00", "количество": "2.35905797", "Дата и время": "1388100055", "Я бы": 11927181, "order_type": 0}
Создайте {"цена": "758,08", "количество": "0.04143494", "Дата и время": "1388100056", "Я бы": 11927182, "order_type": 1}
изменения {"цена": "758,08", "количество": "0.04856506", "Дата и время": "1388100018", "Я бы": 11927152, "order_type": 0}
Удалить {"цена": "758,08", "количество": "0.00000000", "Дата и время": "1388100056", "Я бы": 11927182, "order_type": 1}
торговля {"цена": +758,08000000000004, "количество": +0,041434940000000003, "Я бы": 2760844}
Создайте {"цена": "771,65", "количество": "5.16121000", "Дата и время": "1388100058", "Я бы": 11927183, "order_type": 1}
Создайте {"цена": "753,00", "количество": "0.49402390", "Дата и время": "1388100059", "Я бы": 11927184, "order_type": 0}
Удалить {"цена": "751,00", "количество": "0.49533954", "Дата и время": "1388099770", "Я бы": 11926902, "order_type": 0}
Удалить {"цена": "736,06", "количество": "6.95000000", "Дата и время": "1388100034", "Я бы": 11927172, "order_type": 0}
Удалить {"цена": "736,06", "количество": "48.65000000", "Дата и время": "1388100018", "Я бы": 11927153, "order_type": 0}
Создайте {"цена": "736,07", "количество": "20.85000000", "Дата и время": "1388100053", "Я бы": 11927178, "order_type": 0}
Удалить {"цена": "774,99", "количество": "5.16121000", "Дата и время": "1388099872", "Я бы": 11926993, "order_type": 1}
Создайте {"цена": "736,76", "количество": "27.67767160", "Дата и время": "1388100053", "Я бы": 11927179, "order_type": 0}
книга {"предложения": [["758,08", "0.09000000"], ["757,71", "3.13735421"], ["757,70", "6.23629196"], ["757,46", "0.04700000
"], ["756,98", "0.00138704"], ["756,90", "1.00000000"], ["756,47", "0.05000000"]], "спрашивает": [["760,78", "0.04800000"
], ["761,00", "1.47339631"], ["761,65", "0.14020557"], ["761,66", "1.67295194"], ["761,81", "0.04900000"], ["762,00
", "1.82159420"], ["762,85", "0.04900000"]]}
Создайте {"цена": "751,80", "количество": "6.95000000", "Дата и время": "1388100054", "Я бы": 11927180, "order_type": 0}
Создайте {"цена": "690,00", "количество": "2.35905797", "Дата и время": "1388100055", "Я бы": 11927181, "order_type": 0}
Создайте {"цена": "758,08", "количество": "0.04143494", "Дата и время": "1388100056", "Я бы": 11927182, "order_type": 1}
изменения {"цена": "758,08", "количество": "0.04856506", "Дата и время": "1388100018", "Я бы": 11927152, "order_type": 0}
Удалить {"цена": "758,08", "количество": "0.00000000", "Дата и время": "1388100056", "Я бы": 11927182, "order_type": 1}
торговля {"цена": +758,08000000000004, "количество": +0,041434940000000003, "Я бы": 2760844}
Создайте {"цена": "771,65", "количество": "5.16121000", "Дата и время": "1388100058", "Я бы": 11927183, "order_type": 1}
Создайте {"цена": "753,00", "количество": "0.49402390", "Дата и время": "1388100059", "Я бы": 11927184, "order_type": 0}
Вы даже можете пропустить данные создания / удаления / изменения, поскольку order_book содержит верхнюю 5 и спрашивает предложения, как на их сайте.
Я надеюсь, что это живая торговля, наблюдая функцию получает реализован очень guickly (мне это нужно также: P), так что я желаю удач Вам и Рождества конечно