由于众多小的交易所都没什么用户量,但又要支撑起交易所的K线能够于整个市场各大交易所的行情趋于一致,于是新的小交易所需要自己开发交易机器人来跑自己交易所的行情。此文章和简易原型简单描述交易机器人的实现逻辑和方法。

# API机器人逻辑说明

原:一个币种  三个账号(两个账号 一个成交)

AB挂单  A挂的时候B撤单  BA  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到间隔最大值】时,采用增强成交范围值)

其他使用正常成交范围

# 定值下单

定值下单比例  最新数据*定值下单比例=价格  只下买单 数量范围;每次来新数据 撤掉原来的重新挂

## 性能需求 

填了之后 保存立即执行

表单可提交可及时更新显示最新数据