handler = logging.StreamHandler() handler.setFormatter( logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) logger.addHandler(handler) sub_client = SubscriptionClient() def callback(mbp_event: 'MbpEvent'): print("Timestamp: " + str(mbp_event.ts)) print("Channel : " + mbp_event.ch) mbp = mbp_event.data print("seqNum : ", mbp.seqNum) print("prevSeqNum : ", mbp.prevSeqNum) for entry in mbp.bids: print("Bids: " + " price: " + str(entry.price) + ", amount: " + str(entry.amount)) for entry in mbp.asks: print("Asks: " + " price: " + str(entry.price) + ", amount: " + str(entry.amount)) print() def error(e: 'HuobiApiException'): print(e.error_code + e.error_message) sub_client.subscribe_mbp_event("btcusdt", MbpLevel.MBP150, callback, error)
if mbp_event is None: # need check None return mbp = mbp_event.data print("Subscribe seqNum : ", mbp.seqNum, "prevSeqNum", mbp.prevSeqNum, "bids size", len(mbp.bids), "asks size", len(mbp.asks)) PrintMbp.print_mbp_sub(mbp_event) """ user add process code here! """ return def sub_callback(mbp_event: 'MbpEvent'): formated_mbp_event = MbpDataFormat.format_subscribe(mbp_event) user_def_function(formated_mbp_event) def sub_error(e: 'HuobiApiException'): print(e.error_code + e.error_message) if __name__ == '__main__': symbol = "btcusdt" level = MbpLevel.MBP150 MbpDataFormat.set_request_symbol_level(symbol, level) sub_client = SubscriptionClient() sub_client.subscribe_mbp_event(symbol, level, sub_callback, sub_error)
logger = logging.getLogger("huobi-client") logger.setLevel(level=logging.INFO) handler = logging.StreamHandler() handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) logger.addHandler(handler) sub_client = SubscriptionClient() def callback(mbp_event: 'MbpEvent'): print("Timestamp: " + str(mbp_event.ts)) print("Channel : " + mbp_event.ch) mbp = mbp_event.data print("seqNum : ", mbp.seqNum) print("prevSeqNum : ", mbp.prevSeqNum) for entry in mbp.bids: print("Bids: " + " price: " + str(entry.price) + ", amount: " + str(entry.amount)) for entry in mbp.asks: print("Asks: " + " price: " + str(entry.price) + ", amount: " + str(entry.amount)) print() def error(e: 'HuobiApiException'): print(e.error_code + e.error_message) sub_client.subscribe_mbp_event("BTC_CQ", MbpLevel.MBP150, callback, error)