You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.4 KiB

import json
from huobi.utils.time_service import get_current_timestamp
from huobi.constant import DepthStep
def kline_channel(symbol, interval):
channel = dict()
channel["sub"] = "market." + symbol + ".kline." + interval
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def trade_detail_channel(symbol):
channel = dict()
channel["sub"] = "market." + symbol + ".trade.detail"
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def price_depth_channel(symbol, step_type=DepthStep.STEP0):
channel = dict()
channel["sub"] = "market." + symbol + ".depth." + step_type
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def price_depth_bbo_channel(symbol):
channel = dict()
channel["sub"] = "market." + symbol + ".bbo"
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def orders_update_channel(symbol):
channel = dict()
channel["action"] = "sub"
channel["ch"] = "orders#{symbol}".format(symbol=symbol)
return json.dumps(channel)
def market_detail_channel(symbol):
channel = dict()
channel["sub"] = "market." + symbol + ".detail"
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def accounts_update_channel(mode=0):
channel = dict()
channel["action"] = "sub"
if mode is None:
channel["ch"] = "accounts.update"
else:
channel["ch"] = "accounts.update#{mode}".format(mode=mode)
return json.dumps(channel)
def mbp_increase_channel(symbol, levels):
channel = dict()
channel["sub"] = "market.{symbol}.mbp.{levels}".format(symbol=symbol, levels=levels)
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def mbp_full_channel(symbol, levels):
channel = dict()
channel["sub"] = "market.{symbol}.mbp.refresh.{levels}".format(symbol=symbol, levels=levels)
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def request_mbp_channel(symbol, levels):
channel = dict()
channel["req"] = "market.{symbol}.mbp.{levels}".format(symbol=symbol, levels=levels)
channel["id"] = str(get_current_timestamp())
return json.dumps(channel)
def trade_clearing_channel(symbol="*"):
channel = dict()
channel["action"] = "sub"
channel["ch"] = "trade.clearing#" + symbol
return json.dumps(channel)