交易对信息接口 下单接口 取消订单接口 websocket 监听行情 // 暂时用http 盘口数据替代 websocket 监听账户
当前循环状态 下单功能 根据交易对信息和配置获取最优下单金额和价格 注册全部成交事件回调(成交的限价单信息)
包含所有账户信息,和独立的IP代理,用于请求交易所api 如果配置了IP代理,所有请求都会通过代理发送
结合了Account类和Exchange类 包含账户信息、余额、持仓,所配置币种的orderBook等 还有当前正使用该账户的RushTask信息
使用Exchange交易所类的静态方法获取交易对信息 使用Account账户信息和Exchange交易所类 开始websocket监听行情 // 暂时不用 使用Account账户信息和Exchange交易所类 开始websocket监听账户
- 根据行情盘口数据下单 两个账户 两个方向 挂限价开仓单
- 如果任意方向触发全部成交事件,则立即取消另一方向的限价开仓单,改成市价开仓单直接成交
- 等待n秒
- 根据行情盘口数据下单 两个账户 两个方向 和开单是方向相反 挂限价平仓单
- 如果任意方向触发全部成交事件,则立即取消另一方向的限价平仓单,改成市价平仓单直接成交
- 返回结果给RushEngine
初始化所有交易所账户类
启动RushEngine 根据配置信息创建线程池用于执行RushTask 如果当前有空闲现成则生成新的RushTask并提交到线程池执行 任意 RushTask 执行完成后记录执行结果 创建新的RushTask并提交到线程池执行,如此循环。 如果配置的刷量任务执行完成,或收到停止信号,则不再创建新的RushTask。 join 所有线程池中的线程,等待所有任务执行完成。 关闭所有的ExchangeAccount,退出RushEngine
post_only 模式如果任意方向订单下单失败,则去向另外方向的订单,重新计算下单价格和金额
需要至少配置两套交易所api账户,相互反向对刷, 如果配置的是同交易所的两个账户,每个账户需要配置独立的IP代理 如果配置多个交易所api账户。rush engine 会根据账户当前交易对占用情况和配置比例等等策略来随机分配账户执行。 比如总体希望执行 1000次BTCUSDT对刷,500次ETHUSDT对刷,500次SOLUSDT对刷 启动进程池,分配账户和对刷交易对任务 执行完成后,将结果回报给rush engine 继续分配下一个任务