一个使用 Go 语言开发的币安量化交易机器人,支持Web界面操作,可连接测试网进行安全的策略测试。
- 📊 实时数据获取: 从币安API获取实时K线数据
- 💹 历史数据展示: 可视化图表展示价格走势
- 🤖 量化策略: 支持自定义交易策略
- 🌐 Web界面: 直观的Web UI操作界面
- 🧪 测试网支持: 连接币安测试网,无风险测试
- 💾 数据存储: MySQL数据库存储历史数据和交易记录
- Go 1.21+
- MySQL 5.7+
- 币安测试网API密钥
go mod init binance-quant-bot
go mod tidy复制环境配置文件:
cp .env.example .env编辑 .env 文件,配置你的API密钥:
BINANCE_API_KEY=your_testnet_api_key
BINANCE_SECRET_KEY=your_testnet_secret_key创建数据库:
CREATE DATABASE binance_bot CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;go run cmd/main.go访问 http://localhost:8080 查看Web界面。
binance-quant-bot/
├── cmd/ # 入口文件
├── config/ # 配置管理
├── internal/
│ ├── api/ # Web API处理器
│ ├── binance/ # 币安API客户端
│ ├── database/ # 数据库操作
│ ├── models/ # 数据模型
│ └── strategy/ # 交易策略
├── web/
│ ├── static/ # 静态资源
│ └── templates/ # HTML模板
├── .env.example # 环境配置示例
└── go.mod # Go模块文件
GET /api/v1/klines/{symbol}?interval=1h&limit=100
GET /api/v1/account
POST /api/v1/strategies
{
"name": "策略名称",
"symbol": "BTCUSDT",
"interval": "1h",
"config": "{\"buyThreshold\": 0.02, \"sellThreshold\": 0.02}"
}
PUT /api/v1/strategies/{id}/status
{
"status": "RUNNING"
}
目前实现了简单的买低卖高策略:
- 买入条件: 价格下跌超过阈值(默认2%)
- 卖出条件: 价格上涨超过阈值(默认2%)
- 风险控制: 设置最大持仓限制
策略配置示例:
{
"buyThreshold": 0.02, // 买入阈值(2%下跌)
"sellThreshold": 0.02, // 卖出阈值(2%上涨)
"amount": 100, // 每次交易金额(USDT)
"maxPosition": 1000 // 最大持仓(USDT)
}- 测试网优先: 建议先在测试网环境测试策略
- API密钥管理: 不要在代码中硬编码API密钥
- 风险控制: 设置合理的止损和仓位控制
- 监控日志: 关注系统日志,及时发现异常
- 访问 币安测试网
- 注册账户并登录
- 创建API密钥
- 将密钥配置到
.env文件中
MIT License
本项目仅供学习和研究使用。量化交易存在风险,请确保充分理解相关风险后再进行实际交易。作者不承担因使用本项目而造成的任何损失。