print (u' 获取合约指数信息 ') pprint (dm.get_contract_index("BTC")) print (u' 获取合约最高限价和最低限价 ') pprint (dm.get_contract_price_limit(symbol='BTC', contract_type='quarter')) pprint (dm.get_contract_price_limit(contract_code='BTC181228')) print (u' 获取当前可用合约总持仓量 ') pprint (dm.get_contract_open_interest(symbol='BTC', contract_type='quarter')) pprint (dm.get_contract_open_interest(contract_code='BTC181228')) print (u' 获取行情深度数据 ') pprint (dm.get_contract_depth(symbol='BTC_CW', type='step0')) print (u' 获取K线数据 ') pprint (dm.get_contract_kline(symbol='BTC_CW', period='60min', size=20)) print (u' 获取聚合行情 ') pprint (dm.get_contract_market_merged('BTC_CW')) print (u' 获取市场最近成交记录 ') pprint (dm.get_contract_trade('BTC_CW')) print (u' 批量获取最近的交易记录 ') pprint (dm.get_contract_batch_trade(symbol='BTC_CW', size=3)) #%% trade / account api =============== print (u' 获取用户账户信息 ')
return 0 with open("test_account_info.json", 'r') as load_f: account_info = json.load(load_f) URL = 'https://www.hbdm.com/' ACCESS_KEY = '' SECRET_KEY = '' count = 0 retryCount = 0 while (1): try: dm = HuobiDM(URL, ACCESS_KEY, SECRET_KEY) kline_1min = (dm.get_contract_kline(symbol='BTC_CQ', period='1min'))['data'] except: retryCount += 1 if (retryCount == 20): with open("test_account_info.json", "w") as dump_f: json.dump(account_info, dump_f) print('connect ws error!') break continue retryCount = 0 kline = (pd.DataFrame.from_dict(kline_1min))[[ 'id', 'close', 'high', 'low', 'open', 'amount' ]] id = kline['id'].values
# not x if x: return False else: return True while 1: time6 = time.clock() print(time6 - time1) if 0 < time6 - time1 <= 10: time.sleep(10 - (time6 - time1)) time1 = time.clock() # 获取时间0x01 try: Klines = dm.get_contract_kline(symbol=symbol, period=period, size=size) # 获取k线 logger.info(u' 获取K线数据:%s ' % str( time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(Klines['ts'] / 1000)))) except: continue kl = [] time2 = time.clock() # 获取时间0x02 # 处理数据改为pd格式 for kline in Klines['data']: kl.append([ kline['id'], kline['high'], kline['low'], kline['open'], kline['vol'], kline['close'], kline['amount'] ])
retryCount = 0 id_30 = 0 positionBuyD = 0 positionSellD = 0 positionBuyK = 0 positionSellK = 0 priceD1 = 0 priceD2 = 0 priceKD = 0 while (1): try: dm = HuobiDM(URL, ACCESS_KEY, SECRET_KEY) kline_1min = (dm.get_contract_kline(symbol='ETH_CQ', period='1min'))['data'] kline_30min = (dm.get_contract_kline(symbol='ETH_CQ', period='30min', size=360))['data'] except: retryCount += 1 if (retryCount == 20): with open("test_account_info.json", "w") as dump_f: json.dump(account_info, dump_f) print('connect ws error!') break continue retryCount = 0 kline_1 = (pd.DataFrame.from_dict(kline_1min))[[
print (u' 获取合约指数信息 ') pprint (dm.get_contract_index("BTC")) print (u' 获取合约最高限价和最低限价 ') pprint (dm.get_contract_price_limit(symbol='BTC', contract_type='quarter')) pprint (dm.get_contract_price_limit(contract_code='BTC181228')) print (u' 获取当前可用合约总持仓量 ') pprint (dm.get_contract_open_interest(symbol='BTC', contract_type='quarter')) pprint (dm.get_contract_open_interest(contract_code='BTC181228')) print (u' 获取行情深度数据 ') pprint (dm.get_contract_depth(symbol='BTC_CW', type='step0')) print (u' 获取K线数据 ') pprint (dm.get_contract_kline(symbol='BTC_CW', period='60min', size=20)) print (u' 获取聚合行情 ') pprint (dm.get_contract_market_merged('BTC_CW')) print (u' 获取市场最近成交记录 ') pprint (dm.get_contract_trade('BTC_CW')) print (u' 批量获取最近的交易记录 ') pprint (dm.get_contract_batch_trade(symbol='BTC_CW', size=3)) #%% trade / account api =============== print (u' 获取用户账户信息 ')