AI交易代理

一个高性能的AI交易代理,使用模型上下文协议(MCP)服务器、Binance API、Ollama LLM和Redis缓存,适用于实时市场数据分析和自动化交易。

  • by Harshcreator
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Harshcreator/trading_bot_mcp

使用说明

使用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 -停止自动模式

部署

铁路(建议免费乘坐)

  1. 推送到GitHub
  2. 将Railway连接到您的仓库
  3. 添加环境变量
  4. 自动部署

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

风险提示

⚠️ 此软件仅用于教育目的。 交易加密货币涉及重大风险。永远不要用你输不起的钱交易。始终先使用测试网。

许可证

国际学生中心