由于众多小的交易所都没什么用户量,但又要支撑起交易所的K线能够于整个市场各大交易所的行情趋于一致,于是新的小交易所需要自己开发交易机器人来跑自己交易所的行情。此文章和简易原型简单描述交易机器人的实现逻辑和方法。
# API机器人逻辑说明
原:一个币种 三个账号(两个账号 一个成交)
AB挂单 A挂的时候B撤单 B挂A撤 C负责成交
每获取一次 AB交替
改进:币种一个机器人账号(一个账号挂单 成交)
## 获取数据
binance/huobi 任意一币种 原始数据
交易所、币种交易对的选择
获取价格时间范围 XX~XX秒(间隔最小值~间隔最大值),如获取不到,用上一次
*缩水比例 =新数据 (须参数设置界面)
对比数据 我方币种价格 上限数值 下限数值
高于上限的最小值时,上限范围内随机值
低于下限的最小值时,下限范围内随机值
范围内不变化
1、修改机器人【成交买卖单】的成交数量,由原来的手动配置修改为从第三方获取成交数量,然后乘以一定的比例进行挂单成交;
2、以及修改原仅能挂USDT的交易对的方式修改为可挂其他交易对(比如ETH,BTC等交易对)
最新数据
缩水幅度 为用于缩水比例 高于上限最小值时 缩水比例减去此缩水幅度;低于下限最小值时 缩水比例加上此缩水幅度
表单可提交可及时更新显示最新数据
## 数据处理
### 挂单规则
最新数据 ——>给到一个账号 币种(挂单、撤单、成交)
卖
疏挂单:比例 最新数据 ~ 最新数据*(1+比例)随机取值
密挂单:比例 最新数据 ~ 最新数据*(1+比例)随机取值
挂单个数:暂定6
数量范围:
买
疏挂单:比例 最新数据 ~ 最新数据*(1-比例)随机取值
密挂单:比例 最新数据 ~ 最新数据*(1-比例)随机取值
挂单数:暂定6
数量范围:
## 撤单规则及挂单撤单的条件顺序
撤单 撤密,未成交的单数 除以2 取整,+某值=6个;剩一个时,不撤单;
疏,每来五次,之后撤未成交的疏,未成交的单数 除以2 取整,+某值=6个;剩一个时,不撤单;
第五次密的不满足6直接加挂单,不撤单,执行疏的撤单规则。
## 成交规则
每次传来 执行挂最新价买单卖单,数量也是范围,取的值一样,(如此次价格比上一次价格高,先挂卖;如果比上一次价格低,先挂买(会显示卖出);价格一样,先挂卖;延迟时间1~2s)
成交后 未成交部分直接撤单。
成交范围 ( 正常范围 增强范围)
如果获取时间在【时间间隔-5s到间隔最大值】时,采用增强成交范围值)
其他使用正常成交范围
# 定值下单
定值下单比例 最新数据*定值下单比例=价格 只下买单 数量范围;每次来新数据 撤掉原来的重新挂
## 性能需求
填了之后 保存立即执行
表单可提交可及时更新显示最新数据
编号:AX021