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

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

​ 本来阅读代码这件事我是不准备放在Steem上的,担心有灌水嫌疑。但是正如有人看电影可以发表影评,读书可以发表感想,阅读文献可以分享研究报告,那么作为程序员,阅读代码当然可以分享代码心得。另外,对于想在BitMEX上进行数字货币交易的同道也有一定的借鉴作用,所以,我就把研究过程记录下来。

​ 函数入口点:sample-market-maker/market_maker/market_maker.py run()

run()函数解读

  • 首先,给大家推荐一个Python调试神器:PuDB,详细信息可参考:http://python.jobbole.com/82638/

  • logger.info('BitMEX Market Maker Version: %s\n' % constants.VERSION)

    打印版本信息,其中constants.VERSION定义在utils/constants.py中。

  • om = OrderManager()

    创建一个订单管理对象

  • om.init()

    对象初始化

  • om.run_loop()

    策略循环

OrderManager()的初始化过程

  • self.exchange = ExchangeInterface(settings.DRY_RUN)

    创建exchange对象,settings.DRY_RUN=False

  • atexit.register(self.exit)

    注册退出函数,以便出现异常情况时可以取消订单

  • signal.signal(signal.SIGTERM, self.exit)

    进程终止时,调用退出函数,可以搜索signal模块的使用。这个倒是挺有意思,即使被kill,还有机会做一些处理工作。

  • logger.info("Using symbol %s." % self.exchange.symbol)

    self.exchange.symbol的值为XBTUSD,是不是表示BTC和USD交易对?

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