当前位置: 首页 > article >正文

交易机器人-微信群通知

微信公众号:大数据高性能计算

在这里插入图片描述

1 背景

背景是基于人工去做交易本身无法做到24小时无时无刻的交易,主要是虚拟币本身它是24小时交易,人无法做到24小时盯盘,其次就是如果你希望通过配置更加复杂的规则甚至需要爬取最新的信息走模型进行量化交易的时候,就需要自己去做一些量化机器人。这是我们做这件事的出发点

2 设计方案

在这里插入图片描述
大概会分为如下几个重点模块设计:

(1) K线异步线程监控,主要用于拉取各项虚拟币的交易价格波动数据,主要用于计算指标给规则或者模型使用
(2) 决策中心,根据获取的指标信息去判断是跑模型还是跑规则,跑规则的话会走规则引擎
(3) 规则本身主要是基于ANTLR定义了一套简单的规则模块语法树,支持快速定义和配置,主要存储与DB如Mysql中
(4) 消息通知,对于一些直接规则可以走自动化交易。对于一些拿捏不准的,可以走消息通知,由人工在判断需要怎么进行交易。

下面主要是写一下微信通知部分要怎么做。这里面我不会去讲钉钉怎么做,因为钉钉本身提供了非常好的API可供大家接入,这里就不在细细赘述了。谈到接入微信,不得不得提一下Wechaty,这个也是我这边主要使用的功能。

3 微信通信-Wechaty

3.1 安装与使用

我的环境是Mac Mini, M1 ARM芯片

首先是安装NodeJs 以及NPM, Nodejs 尽量版本16+

  • 安装 Node.js
    Wechaty 是用 TypeScript 编写的,运行在 Node.js 环境中。您需要在服务器上安装 Node.js。

在 Ubuntu 上,您可以使用以下命令安装 Node.js:

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs

这会安装 Node.js 及其包管理器 npm。

  • 安装 Wechaty
npm install wechaty

  • 建立wechaty项目
mkdir my-wechaty-bot
cd my-wechaty-bot
npm init -y
npm install wechaty

  • 修改package.json
    文件中添加一行"type": “module”,因为你不添加这个去执行的话,import会报错
{
   
 "type": "module",
 "name": "wechaty-bot",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
   
  "test": "echo \"Error: no test specified\" && exit 1"
 },
 "keywords": [],
 "author": "",
 "license": "ISC",
 "dependencies": {
   
  "amqplib": "^0.10.3",
  "install": "^0.13.0",
  "npm": "^10.2.4",
  "wechaty": "^1.20.2"
 }
}

3.2 功能实现

首先说一说我大概要实现的功能:
(1) 通过RabbitMq作为消息中间件,接受外部消息比如交易买卖的信息或者其他关键信息,然后通知到群里。
(2)当群收到信息的时候,可以基于收到的信息进行额外的数据处理。

3.2.1 首先实现RabbitMQ

第一件事是先装服务端,并且要启动我们的Server
安装 RabbitMQ 使用 Homebrew

  • 安装 Homebrew(如果您还没有安装):
    打开终端并运行以下命令:

                

http://www.kler.cn/a/134759.html

相关文章:

  • 如何向函数模块 FM 中传递 Range 参数
  • PyTorch深度学习与企业级项目实战-预训练语言模型GPT
  • HarmonyOS的@State装饰器的底层实现
  • 响应式网页设计--html
  • ubuntu-desktop-24.04上手指南(更新阿里源、安装ssh、安装chrome、设置固定IP、安装搜狗输入法)
  • WebGIS三维地图框架--Cesium
  • store下的getter.js什么作用
  • ES的常用查询
  • 深入了解 Bat 脚本:简单而强大的自动化工具——基础版
  • Appium移动自动化测试--安装Appium
  • h264流播放
  • 科技云报道:全球勒索攻击创历史新高,如何建立网络安全的防线?
  • Servlet API 详解
  • js中数组的遍历的几种方法
  • ERR_PNPM_INVALID_WORKSPACE_CONFIGURATION packages field missing or empty
  • Vue3 插槽 v-slot
  • 【目标测距】雷达投影测距
  • 前端JS模块化对外暴露的三种方法
  • 纯CSS实现炫酷文本阴影效果
  • 石油石化物资采购杂志社石油石化物资采购编辑部2023年第18期部分目录
  • 【Spring Boot】如何自定义序列化以及反序列器
  • 《轻购优品》新零售玩法:消费积分认购+众筹新玩法
  • 【Linux】进程间通信 -- 共享内存
  • Python算法——树的镜像
  • CentOS7 设置 nacos 开机启动
  • 字节8年经验之谈 —— 性能测试的流程及常用工具介绍!