在Github开源了一套开箱即用的网格策略

Author: fengok, Created: 2021-03-13 23:39:41, Updated: 2021-03-13 23:44:12

  • 策略在运行之前将文件名改为英文,为了方便大家理解我特意改成的中文

  • 策略适配后可运行的数字货币交易所

     * BitMEX :数字货币期货、永续合约
    
     * Bybit :数字货币永续合约
    
     * Binance :数字货币现货
    
     * Binance永续 :数字货币永续合约
    
     * OKEX :数字货币现货
    
     * OKEX永续 :数字货币永续合约
    
     * OKEX期货 :数字货币期货
    
     * Huobi :数字货币现货
    
     * Huobi期货 :数字货币期货
    
     * Huobi永续 :数字货币永续 
    
     * Bitfinex :数字货币现货
    
     * Coinbase :数字货币现货
    
     * Bitstamp :数字货币现货
    

使用说明

  • 策略库内所有代码,都会定期进行更新,以适应交易所升级与变更
  • 所有策略开箱即用,填写自己的APIKey 与 Sercet,填写参数运行即可
  • 每种策略有不同对应交易所,同一策略根据命名区分交易所,运行时注意查看
  • 主流交易所借助CCXT实现,非主流交易所也适配封装了所有公有私有API,可直接运行
  • 非主流交易所数据格式返回与CCXT数据格式一致,方便数据分析
  • 运行环境Python3,CCXT需自行安装(pip install ccxt)
  • Python建议使用linux系统,借助tmux可以较方便的监控策略运行
  • JavaScript策略基于FMZ运行(原botvs)

策略使用说明

  • 因每个交易所交易对 不一样,目前兼容bitmex的XBT跟ETH,OKEX兼容永续合约的BTC/USD 、BTC/USDT、ETH/USD、ETH/USDT,如果要兼容更多交易对,在Quant.py文件初始化交易所的地方和不同交易所对应的websocket订阅的地方根据相应的格式添加兼容交易对。
  • 入口文件交易所填写时 根据注释格式填写
  • 本网格可以是双向,也可以是单向,单向时 将一方的网格数量设置为 0 即可
  • 本策略是将订单信息写入Mongodb数据库的,如果要同时运行两个交易所,要将Quant.py文件与对应websocket文件中初始化数据库时的端口改掉,防止端口冲突
  • 程序入口文件初始化websocket时 参数 ping_interval 是超时时间,根据需求设定,一般设置20即可
  • 本策略的实现逻辑是 第一次下单时 用批量下单,将订单的方向,状态,价格写入数据库,订阅websocket的订单频道,获取订单成交信息,如果订单状态是完全成交,或者撤单,则改变数据库内订单状态,策略文件中的检测订单函数会从数据库内拿订单现在的状态,如果订单被成交或者被撤单,则根据当前情况重新挂单,实现网格的效果。

More

小草 点赞