基于webman编写的量化交易机器人【赞】

efnic

简介

基于webman编写的量化交易机器人,核心是多进程+Epoll+非阻塞IO,常驻内存、超高性能。

一个交易账号(账号进程)对应一个自定义进程,账号进程与交易所建立两个websocket长链接,接收信息实时计算、发送交易指令;

账号进程内繁重的任务通过队列投递到消费者进程异步处理,如数据库写入、调用RestApi、微信通知等;

性能

每个交易进程每秒实时处理1500+的行情数据;

技术栈

  • PHP多进程
  • Linux事件EPoll非阻塞IO
  • 毫秒定时器
  • 异步Socket
  • 异步Redis
  • 异步HTTP
  • 异步消息队列
  • Redis字符串、列表、哈希、集合、有序集合
  • WebSocket长链接
  • 自定义通信协议
  • Layui前端UI组件

功能

  • [x] 自动策略委托
  • [x] 自动下单
  • [x] 自动平仓
  • [x] 盈利单向阀
  • [x] 入仓通知
  • [x] 浏览器爬虫插件
  • [x] 定时更新技术指标
  • [x] 定时解锁产品ID
  • [x] 自动平仓后自动解锁
  • [x] 优化币种的行情订阅
  • [x] 新增admin_id数据限制
  • [x] 单向阀api_key改成对应账号
  • [x] 策略委托入仓自动解锁
  • [x] 下单、撤单自动解锁
  • [x] 批量设置杠杆倍数

运行环境

基础环境:Linux、Nginx 1.20.2、PHP8.1.7、MySQL 5.7.41、Redis 7.0.0

PHP扩展:ext-xlswriter、ext-redis

composer软件包

作用 包名 版本
日志 monolog/monolog 2.9.1
命令行 webman/console 1.2.33
事件 webman/event 1.0.4
定时任务 workerman/crontab 1.0.6
数据库ORM webman/think-orm 1.1.0
验证器 topthink/think-validate 2.0.2
PSR规范 psr/container 1.1.1
环境变量 vlucas/phpdotenv 5.5.0
Redis消息队列 workerman/redis-queue 1.1.0
Redis illuminate/redis 8.83.27
数据库事件 illuminate/events 8.83.27
数据库ORM illuminate/database 8.83.27
数据库ORM illuminate/pagination 8.83.27
数据库ORM symfony/var-dumper 5.4.22
管理后台UI webman/admin 0.6.7
进程通信 workerman/channel 1.2.0
Curl curl/curl 2.5.0
WebSocket webman/push 1.0.12
symfony/lock 5.4.22

研发人员

架构:david
算法:yang
后端逻辑:david
后台管理界面:daivd
浏览器插件爬虫:rui、david

鸣谢

2378 15 6
15个回答

workers

还以为你要开源

  • 暂无评论
SillyDog

奥里给给 奥里给

  • 暂无评论
stars

是出售系统还是要开源啊,哈哈?

mincon

期待大佬开源

  • 暂无评论
kspade

等待大佬开源很牛B

  • 暂无评论
镜子

蹲个后续

  • 暂无评论
artisan

关注一下

  • Doogeli 2023-09-03

    这个很NB啊。。非常需要,接入加密货币吧~

Jinson

我倒是用不上,主要想看看大佬的项目架构,不知几时出?

  • 暂无评论
chunfeng

插眼

  • 暂无评论
围猎三锅

蹲大佬后续

  • 暂无评论
JackDx

关注

  • 暂无评论
初心by

一年了 又被你们翻起来了

  • 暂无评论
释永战

还在打磨么?要不要先开源给大家一起打磨打磨···?

  • 暂无评论
软饭工程师

别催,在做了,在做了

  • 暂无评论
fans

服务器是什么配置?

  • 暂无评论
年代过于久远,无法发表回答
🔝