def on_query_contract(self, data, request): """""" for d in data["symbols"]: pricetick = 1 min_volume = 1 for f in d["filters"]: if f["filterType"] == "PRICE_FILTER": pricetick = float(f["tickSize"]) elif f["filterType"] == "LOT_SIZE": min_volume = float(f["stepSize"]) contract = ContractData( symbol=d["symbol"], exchange=Exchange.BINANCEFUTURES, name=d["symbol"], pricetick=pricetick, size=1, min_volume=min_volume, product=Product.FUTURES, history_data=True, net_position=True, gateway_name=self.gateway_name, ) self.gateway.on_contract(contract) symbol_name_map[contract.symbol] = contract.name self.gateway.write_log("FUTURES合约信息查询成功")
def on_query_contract(self, data, request): """""" for d in data["symbols"]: base_currency = d["baseAsset"] quote_currency = d["quoteAsset"] name = f"{base_currency.upper()}/{quote_currency.upper()}" pricetick = 1 min_volume = 1 for f in d["filters"]: if f["filterType"] == "PRICE_FILTER": pricetick = float(f["tickSize"]) elif f["filterType"] == "LOT_SIZE": min_volume = float(f["stepSize"]) contract = ContractData( symbol=d["symbol"], exchange=Exchange.BINANCE, name=name, pricetick=pricetick, size=1, min_volume=min_volume, product=Product.SPOT, history_data=True, net_position=True, gateway_name=self.gateway_name, ) self.gateway.on_contract(contract) symbol_name_map[contract.symbol] = contract.name self.gateway.write_log("合约信息查询成功")
def on_query_contract(self, data, request): # type: (dict, Request)->None """""" if self.check_error(data, "查询合约"): return for d in data["data"]: self.currencies.add(d["symbol"]) contract = ContractData( symbol=d["contract_code"], exchange=Exchange.HUOBI, name=d["contract_code"], pricetick=d["price_tick"], size=int(d["contract_size"]), min_volume=1, product=Product.FUTURES, history_data=True, gateway_name=self.gateway_name, ) self.gateway.on_contract(contract) symbol_type_map[contract.symbol] = d["contract_type"] self.gateway.write_log("合约信息查询成功") self.query_order()
def on_query_contract(self, data, request): """""" for instrument_data in data: symbol = instrument_data["instrument_id"] contract = ContractData( symbol=symbol, exchange=Exchange.OKEX, name=symbol, product=Product.FUTURES, size=int(instrument_data["trade_increment"]), pricetick=float(instrument_data["tick_size"]), history_data=True, gateway_name=self.gateway_name, ) self.gateway.on_contract(contract) instruments.add(instrument_data["instrument_id"]) currencies.add(instrument_data["underlying_index"]) currencies.add(instrument_data["quote_currency"]) self.gateway.write_log("合约信息查询成功") # Start websocket api after instruments data collected self.gateway.ws_api.start() # and query pending orders self.query_order()
def on_query_contract(self, data, request): # type: (dict, Request)->None """""" if self.check_error(data, "查询合约"): return for d in data["data"]: base_currency = d["base-currency"] quote_currency = d["quote-currency"] name = f"{base_currency.upper()}/{quote_currency.upper()}" pricetick = 1 / pow(10, d["price-precision"]) min_volume = 1 / pow(10, d["amount-precision"]) contract = ContractData( symbol=d["symbol"], exchange=Exchange.HUOBI, name=name, pricetick=pricetick, size=1, min_volume=min_volume, product=Product.SPOT, history_data=True, gateway_name=self.gateway_name, ) self.gateway.on_contract(contract) huobi_symbols.add(contract.symbol) symbol_name_map[contract.symbol] = contract.name self.gateway.write_log("合约信息查询成功")
def on_query_contract(self, data, request): """""" for instrument_data in data: symbol = instrument_data["instrument_id"] contract = ContractData( symbol=symbol, exchange=Exchange.OKEX, name=symbol, product=Product.SPOT, size=1, pricetick=float(instrument_data["tick_size"]), min_volume=float(instrument_data["min_size"]), history_data=True, gateway_name=self.gateway_name) self.gateway.on_contract(contract) instruments.add(instrument_data["instrument_id"]) currencies.add(instrument_data["base_currency"]) currencies.add(instrument_data["quote_currency"]) self.gateway.write_log("合约信息查询成功") # Start websocket api after instruments data collected self.gateway.ws_api.start()