BitMEX做市机器人代码研究(BitMEX Market Maker Code Studying)(2)

brysj22952(45)
Published in
#cn
Words
314
Reading
2 min
Listen
Play
9y

创建ExchangeInterface对象

  • self.dry_run = dry_run

    指示dry_run的值,缺省为False

  • if len(sys.argv) > 1

    sys.argv的第一个参数为程序本身:“./marketmaker”,第2个参数是可选参数,为[symbol],这里判断是否存在第2个参数。此处没有使用第2个参数,所以取缺省值。

  • self.symbol = settings.SYMBOL

    settings.SYMBOL='XBTUSD'

  • self.bitmex = bitmex.BitMEX(...)

    创建BitMEX对象,其传入的参数较多,罗列如下:

    base_url='https://testnet.bitmex.com/api/v1/'

    symbol='XBTUSD'

    apiKey=xxxx

    apiSecret=xxxx

    orderIDPrefix='mm_bitmex_'

    postOnly=False

创建BitMEX对象

这里面的大部分参数设置前面都有描述,此处不重复的,把几个需要注意的罗列一下即可。

  • apiKey:如果此参数为None,则会抛出异常
  • orderIDPrefix:不知道这个参数是干嘛的,默认值为'mm_bitmex_',但是如果字符串长度超出13,也会抛出异常
  • self.retries = 0 应该是重试次数吧
  • self.session = requests.Session()
    requests是一个非常有名的http客户端的python库,这里建立一个session,并初始化一些headers
  • self.ws = BitMEXWebsocket()
    创建ws连接对象,ws是WebSocket的缩写,它是由于订阅交易事件的机制,避免轮询的负担。稍后会详述。
  • self.ws.connect(base_url, symbol, shouldAuth=shouldWSAuth)
    建立ws连接,shouldWSAuth默认为True
BitMEX做市机器人代码研究(BitMEX Market Maker Code Studying)(2) | Ecency