def start_request_mbp(): """ need request_mbp_event request to get bids 150 and asks 150 data information :return: """ if (MbpDataFormat.flag_enter_req == False): MbpDataFormat.flag_enter_req = True def request_callback(mbp_req: 'MbpRequest'): mbp = mbp_req.data print("===== Request seqNum : ", mbp.seqNum, "prevSeqNum", mbp.prevSeqNum) MbpDataFormat.req_mbp_base_obj = mbp_req def request_error(e: 'HuobiApiException'): print(e.error_code + e.error_message) sub_client_local = SubscriptionClient() sub_client_local.request_mbp_event(MbpDataFormat.symbol, MbpDataFormat.level, request_callback, request_error)
if len(candlestick_event.data): for candlestick in candlestick_event.data: mydict = dict() candlestick.print_object() mydict['Timestamp'] = (candlestick_event.timestamp) mydict['id'] = (candlestick.id) mydict['high'] = (candlestick.high) mydict['low'] = (candlestick.low) mydict['open'] = (candlestick.open) mydict['close'] = (candlestick.close) mydict['volume'] = (candlestick.volume) mydict['amount'] = (candlestick.amount) col.insert_one(mydict) print() def errorcandle(e: 'HuobiApiException'): print(e.error_code + e.error_message) i = 0 #sub_client.request_candlestick_event("btcusdt", CandlestickInterval.MIN1, callback, from_ts_second=None, end_ts_second=None, auto_close=True, error_handler=None) #sub_client.request_candlestick_event("btcusdt", CandlestickInterval.MIN1, callback, from_ts_second=1569361140, end_ts_second=1569366420) #sub_client.request_candlestick_event("btcusdt", CandlestickInterval.MIN1, callback, from_ts_second=1569361140, end_ts_second=0) #sub_client.request_candlestick_event("btcusdt", CandlestickInterval.MIN1, callback, from_ts_second=1569379980) while True: sub_client.request_mbp_event("ethusdt", MbpLevel.MBP150, callbackMbp, errorMbp) time.sleep(0.1)
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(event: 'MbpRequest'): print("Timestamp: ", str(event.id)) print("Channel : ", event.rep) 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)) def error(e: 'HuobiApiException'): print(e.error_code + e.error_message) sub_client.request_mbp_event("btcusdt", MbpLevel.MBP150, callback, error)