예제 #1
0
 def __init__(self,
              access_key,
              secret_key,
              passphrase,
              instrument_id,
              margin_mode=None,
              leverage=None):
     """
     okex交割合约,初始化时会自动设置成全仓模式,可以传入参数设定开仓杠杆倍数。
     设置合约币种账户模式时,注意:当前有仓位或者有挂单时禁止切换账户模式。
     :param access_key:
     :param secret_key:
     :param passphrase:
     :param instrument_id: 例如:"BTC-USD-201225", "BTC-USDT-201225"
     :param leverage:杠杆倍数,如不填则默认设置为20倍杠杆
     """
     self.__access_key = access_key
     self.__secret_key = secret_key
     self.__passphrase = passphrase
     self.__instrument_id = instrument_id
     self.__okex_futures = okexfutures.FutureAPI(self.__access_key,
                                                 self.__secret_key,
                                                 self.__passphrase)
     self.__leverage = leverage or 20
     if margin_mode == "fixed":
         try:
             self.__okex_futures.set_margin_mode(
                 underlying=self.__instrument_id.split("-")[0] + "-" +
                 self.__instrument_id.split("-")[1],
                 margin_mode="fixed")  # 设置账户模式为逐仓模式
             self.__okex_futures.set_leverage(
                 leverage=self.__leverage,
                 underlying=self.__instrument_id.split("-")[0] + "-" +
                 self.__instrument_id.split("-")[1],
                 instrument_id=self.__instrument_id,
                 direction="long")  # 设置做多方向杠杆倍数
             self.__okex_futures.set_leverage(
                 leverage=self.__leverage,
                 underlying=self.__instrument_id.split("-")[0] + "-" +
                 self.__instrument_id.split("-")[1],
                 instrument_id=self.__instrument_id,
                 direction="short")  # 设置做空方向杠杆倍数
         except Exception as e:
             logger.error("OKEX交割合约设置逐仓模式失败!错误:{}".format(str(e)))
     else:
         try:
             self.__okex_futures.set_margin_mode(
                 underlying=self.__instrument_id.split("-")[0] + "-" +
                 self.__instrument_id.split("-")[1],
                 margin_mode="crossed")
             self.__okex_futures.set_leverage(
                 leverage=self.__leverage,
                 underlying=self.__instrument_id.split("-")[0] + "-" +
                 self.__instrument_id.split("-")[1])  # 设置账户模式为全仓模式后再设置杠杆倍数
         except Exception as e:
             logger.error("OKEX交割合约设置全仓模式失败!错误:{}".format(str(e)))
예제 #2
0
 def __init__(self, access_key, secret_key, passphrase, instrument_id):
     self.access_key = access_key
     self.secret_key = secret_key
     self.passphrase = passphrase
     self.instrument_id = instrument_id
     self.okex_futures = okexfutures.FutureAPI(self.access_key, self.secret_key, self.passphrase, self.instrument_id)