使用说明
使用MCP交易AI代理
使用模型上下文协议(MCP)服务器、Binance API、Ollama LLM和Redis进行缓存的高性能交易AI代理。
特性
- 多代理架构:战略、风险和执行代理协同工作
- 实时市场数据:通过WebSocket连接到币安,获取实时价格信息
- AI驱动的分析:Olama LLM,负责市场分析和交易决策
- 风险管理:交易执行前的自动风险评估
- 高性能:Redis缓存、连接池、断路器
- MCP服务器:AI工具集成的标准协议
- REST API:用于外部集成的完整HTTP API
建筑
┌─────────────────────────────────────────────────────────┐
│ Trading Bot │
├─────────────────────────────────────────────────────────┤
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Strategy │──│ Risk │──│ Execution │ │
│ │ Agent │ │ Agent │ │ Agent │ │
│ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ │
├────────┼──────────────┼──────────────┼─────────────────┤
│ ┌─────▼─────────────▼──────────────▼─────┐ │
│ │ Services Layer │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Binance │ │ Ollama │ │ Redis │ │ │
│ │ │ Service │ │ Service │ │ Cache │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ │ │
│ └───────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
先决条件
- Node.js 22+
- Redis服务器
- 奥利玛与骆驼3.2型号
- Binance API密钥(建议开发测试网)
快速开始
1.克隆和安装
git clone <repo>
cd trading_bot_mco
npm install
2.配置环境
cp .env.example .env
# Edit .env with your API keys
3.启动Redis(如果没有运行)
# Using Docker
docker run -d -p 6379:6379 redis:7-alpine
# Or with docker-compose
docker-compose up redis -d
4.启动Ollama(如果没有运行)
# Install Ollama from https://ollama.ai
ollama pull llama3.2
ollama serve
5.运行Bot
# Development mode (with hot reload)
npm run dev
# Production mode
npm run build
npm start
# MCP server mode (for AI tool integration)
npm run mcp:server
API终点
| 方法 | 端点 | 描述 |
|---|---|---|
| 得到 | /api/health |
健康检查 |
| 得到 | /api/price/:symbol |
获取当前价格 |
| 得到 | /api/orderbook/:symbol |
获取订单簿 |
| 职位 | /api/analyze |
人工智能市场分析 |
| 职位 | /api/trade |
执行交易 |
| 得到 | /api/balance |
账户余额 |
| 得到 | /api/portfolio |
投资组合状态 |
| 得到 | /api/orders |
未结订单 |
| 删除 | /api/orders/:symbol/:orderId |
取消订单 |
| 得到 | /api/trades |
交易历史 |
| 职位 | /api/chat |
与AI聊天 |
| 职位 | /api/strategy |
制定战略 |
| 职位 | /api/auto/start |
开始自动交易 |
| 职位 | /api/auto/stop |
停止自动交易 |
| 得到 | /api/auto/status |
自动交易状态 |
示例用法
获取价格
curl http://localhost:3000/api/price/BTCUSDT
分析市场
curl -X POST http://localhost:3000/api/analyze \
-H "Content-Type: application/json" \
-d '{"symbol": "BTCUSDT"}'
执行交易
curl -X POST http://localhost:3000/api/trade \
-H "Content-Type: application/json" \
-d '{
"symbol": "BTCUSDT",
"action": "BUY",
"quantity": 0.001,
"orderType": "MARKET"
}'
开始自动交易
curl -X POST http://localhost:3000/api/auto/start \
-H "Content-Type: application/json" \
-d '{"symbols": ["BTCUSDT", "ETHUSDT"]}'
与AI聊天
curl -X POST http://localhost:3000/api/chat \
-H "Content-Type: application/json" \
-d '{"message": "What is the current market sentiment for BTC?"}'
MCP服务器工具
当作为MCP服务器运行时,可以使用以下工具:
get_price-获取当前价格get_order_book-获取订单簿analyze_market-人工智能市场分析execute_trade-执行交易get_account_balance-获得平衡get_open_orders-列出未结订单cancel_order-取消订单get_portfolio_state-投资组合状态get_trade_history-交易历史chat_with_ai-AI对话generate_strategy-制定交易策略start_auto_trading-启动自动模式stop_auto_trading-停止自动模式
部署
铁路(建议免费乘坐)
- 推送到GitHub
- 将Railway连接到您的仓库
- 添加环境变量
- 自动部署
Fly.io
fly launch
fly secrets set BINANCE_API_KEY=xxx BINANCE_API_SECRET=xxx
fly deploy
Docker Compose(本地/VPS)
docker-compose up -d
配置
| 变量 | 描述 | 默认值 |
|---|---|---|
BINANCE_API_KEY |
币安API密钥 | - |
BINANCE_API_SECRET |
币安API秘密 | - |
BINANCE_TESTNET |
使用测试网 | true |
OLLAMA_HOST |
Ollama服务器URL | http://localhost:11434 |
OLLAMA_MODEL |
LLM型号名称 | llama3.2 |
REDIS_URL |
Redis连接URL | redis://localhost:6379 |
PORT |
HTTP服务器端口 | 3000 |
MAX_POSITION_SIZE |
最大交易价值(美元) | 1000 |
MAX_DAILY_TRADES |
每日最大交易量 | 50 |
RISK_PERCENTAGE |
每笔交易的最大风险 | 0.02 |
风险提示
⚠️ 此软件仅用于教育目的。 交易加密货币涉及重大风险。永远不要用你输不起的钱交易。始终先使用测试网。
许可证
国际学生中心
