Crypto Trading Agents
多Agent加密货币量化交易系统 | TradingAgents + Binance
系统架构
TradingAgents 多Agent框架
├── Technical Analyst (技术分析:RSI/MACD/Bollinger/ATR)
├── News Analyst (消息分析:市场新闻/宏观经济)
├── Sentiment Analyst (情绪分析:社交媒体情绪)
├── Fundamentals Analyst (基本面分析)
├── Bull/Bear Researcher (多空辩论)
└── Portfolio Manager (组合管理,生成交易信号)
↓
Binance Trader
├── 市价/限价下单
├── 止损/止盈
└── 仓位/挂单查询
↓
Binance 现货市场
环境要求
- - Python 3.10+
- uv (推荐) 或 pip
- Binance API Key(现货权限即可,不需要合约)
- 网络连接(Binance API 访问)
快速安装
bash
克隆项目
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
创建虚拟环境
uv venv .venv --python 3.12
source .venv/bin/activate
安装核心依赖
pip install .
安装 CCXT(用于 Binance 对接)
uv pip install ccxt
可选:安装加密货币技术指标增强
uv pip install pandas numpy
环境变量配置
在项目根目录创建 .env 文件:
bash
cp .env.example .env
编辑 .env,填入:
bash
─── LLM API(TradingAgents 多Agent分析用)───
OPENAI
APIKEY=sk-... # OpenAI GPT
或
GOOGLE
APIKEY=... # Google Gemini
或
ANTHROPIC
APIKEY=... # Anthropic Claude
─── Binance API(交易执行用)───
BINANCE
APIKEY=your
apikey
BINANCE
APISECRET=your
apisecret
─── 可选 ───
BINANCE_TESTNET=true # true = 使用测试网(不花真钱)
使用方法
方法一:Python API(推荐,开发用)
python
import tradingagents as ta
─── 1. 多Agent分析 ───────────────────────────
analyst = ta.CryptoAnalyst()
result = analyst.analyze(BTC/USDT, date=2026-03-24)
analyst.print_report(result)
─── 2. Binance 交易执行 ─────────────────────
trader = ta.BinanceTrader()
查询账户
print(trader.status(BTC/USDT))
市价买入
print(trader.buy_market(BTC/USDT, amount=0.01))
限价买入
print(trader.buy_limit(BTC/USDT, amount=0.01, price=60000.0))
设置止损
print(trader.set
stoploss(BTC/USDT, amount=0.01, stop_price=55000.0))
─── 3. 直接调用数据接口 ──────────────────────
from tradingagents.dataflows.binance
data import getbinance_ticker
from tradingagents.dataflows.crypto
indicators import getcrypto_indicators
实时行情(无需 API Key)
print(get
binanceticker(BTC/USDT))
技术指标(无需 API Key)
print(get
cryptoindicators(BTC/USDT, period=1d, lookback=60))
方法二:命令行(快速操作)
bash
source .venv/bin/activate
分析(不需要 API Key)
python -m tradingagents.crypto_trading --symbol BTC/USDT --action analyze
python -m tradingagents.crypto_trading --symbol ETH/USDT --action analyze
账户状态
python -m tradingagents.crypto_trading --symbol BTC/USDT --action status
市价交易(需要 API Key)
python -m tradingagents.crypto_trading --symbol BTC/USDT --action trade --side buy --amount 0.01
限价交易
python -m tradingagents.crypto_trading --symbol BTC/USDT --action trade --side buy --amount 0.01 --price 60000
测试网交易
python -m tradingagents.crypto_trading --symbol BTC/USDT --action trade --side buy --amount 0.01 --testnet
方法三:直接使用 Binance Executor
python
from tradingagents.execution.binance_executor import (
executemarketorder,
executelimitorder,
executestoploss,
getopenorders,
get_position,
)
查持仓
print(get_position(BTC/USDT))
市价单
print(execute
marketorder(BTC/USDT, buy, 0.01))
限价单
print(execute
limitorder(BTC/USDT, buy, 0.01, 60000.0))
止损单
print(execute
stoploss(BTC/USDT, sell, 0.01, 55000.0))
主要模块
| 模块 | 说明 |
|---|
| tradingagents.cryptotrading | 主入口,CryptoAnalyst + BinanceTrader |
| tradingagents.dataflows.binancedata |
Binance 数据源(K线/行情/订单簿) |
| tradingagents.dataflows.crypto_indicators | 技术指标(RSI/MACD/Bollinger/ATR) |
| tradingagents.agents.utils.binance_tools | LangChain Tools,注入多Agent |
| tradingagents.execution.binance_executor | 交易执行(市价/限价/止损) |
微信通知集成
系统内置 WeChatNotifier,当配置了企业微信 Webhook 后,所有交易活动自动推送:
bash
export WECHATWEBHOOKURL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXX
发送内容:
- - 📡 交易信号:方向、价格、置信度、原因
- 📗 订单执行:买入/卖出、价格、数量、订单ID
- ❌ 错误报警:操作失败时即时通知
- 📊 账户状态:持仓、盈亏、挂单数
自动交易工作流
定时任务(Cron)
│
▼
AutoTradingSession.run(BTC/USDT)
│
├── CryptoAnalyst.analyze() ← 多Agent分析 + 微信推送信号
│
├── signal = 解析 agent_decision ← 信号解析(买入/卖出/观望)
│
├── trader.buy_market() ← 自动执行(可选)
│
├── trader.setstoploss() ← 自动设止损
│
└── WeChatNotifier 推送结果 ← 微信通知
命令行一键自动交易 + 微信通知
bash
source .venv/bin/activate
自动分析 + 推送信号到微信(不交易)
python -m tradingagents.crypto_trading --symbol BTC/USDT --action analyze --notify
自动交易 + 微信通知
python -m tradingagents.crypto_trading --symbol BTC/USDT --action auto \
--auto-trade --amount 0.01 --stop-loss 0.05 --notify --testnet
手动交易 + 微信通知
python -m tradingagents.crypto_trading --symbol BTC/USDT --action trade \
--side buy --amount 0.01 --notify
Python API(带微信通知)
python
import tradingagents as ta
初始化(会自动读取 WECHATWEBHOOKURL 环境变量)
notifier = ta.WeChatNotifier()
session = ta.AutoTradingSession(
auto_trade=False, # True = 自动执行交易
notify=True,
testnet=True,
)
运行:分析 → 信号 → 微信推送 →(可选)自动交易
result = session.run(BTC/USDT, buy
amount=0.01, stoploss_pct=0.05)
单独使用通知器
notifier.notify_signal(BTC/USDT, 买入, 65000.0, 高, RSI超卖 + MACD金叉)
notifier.notify_trade(BTC/USDT, buy, 0.01, 65000.0, 123456, 已执行)
附:完整交易策略 Pine Script
scripts/hourlycontrarianstrategy.pine — 完整版策略(291行),包含:
- - MA60 多周期方向评分系统(4H + 日线)
- 顺势信号(回踩MA60 / 回踩