一个基于 Binance Futures API 的交易机器人,可以获取交易所信息并提供智能交易建议。
- ✅ 获取 Binance 期货交易所实时价格数据
- ✅ 支持单个或多个交易对分析
- ✅ 多种技术指标分析(SMA、EMA、RSI)
- ✅ 智能交易信号生成(买入/卖出/持有)
- ✅ 置信度评估
- ✅ 持续监控模式
- ✅ 无需 API 密钥即可获取价格和建议(仅查询功能)
.
├── binance_client.py # Binance API 客户端
├── trading_strategy.py # 交易策略模块
├── trading_bot.py # 交易机器人主类
├── example.py # 使用示例
├── requirements.txt # Python 依赖
├── .gitignore # Git 忽略文件
└── README.md # 项目文档
git clone <your-github-repo-url>
cd 0gtask3demopip install -r requirements.txt# 运行主程序
python trading_bot.py
# 或运行交互式示例
python example.pyfrom trading_bot import TradingBot
# 创建交易机器人实例(不需要API密钥即可获取价格和建议)
bot = TradingBot()
# 获取单个交易对的价格
price_info = bot.get_price("BTCUSDT")
print(f"BTCUSDT 价格: ${float(price_info['price']):,.2f}")
# 获取交易建议
suggestion = bot.get_trading_suggestion("BTCUSDT")
bot.print_suggestion(suggestion)from trading_bot import TradingBot
bot = TradingBot()
symbols = ["BTCUSDT", "ETHUSDT", "BNBUSDT"]
results = bot.analyze_multiple_symbols(symbols)
for result in results:
bot.print_suggestion(result)from trading_bot import TradingBot
bot = TradingBot()
symbols = ["BTCUSDT", "ETHUSDT"]
bot.run_continuous_monitoring(symbols, interval=300) # 每5分钟更新Binance API 客户端,用于获取交易所数据。
主要方法:
get_ticker_price(symbol): 获取单个交易对价格get_all_ticker_prices(): 获取所有交易对价格get_klines(symbol, interval, limit): 获取K线数据get_24h_ticker(symbol): 获取24小时统计
交易策略分析模块。
主要方法:
analyze_symbol(symbol): 分析单个交易对calculate_sma(prices, window): 计算简单移动平均calculate_ema(prices, window): 计算指数移动平均calculate_rsi(prices, period): 计算RSI指标generate_signal(...): 生成交易信号
交易机器人主类,整合API和策略。
主要方法:
get_price(symbol): 获取价格get_trading_suggestion(symbol): 获取交易建议analyze_multiple_symbols(symbols): 分析多个交易对print_suggestion(suggestion): 格式化打印建议run_continuous_monitoring(symbols, interval): 持续监控
本机器人使用以下技术指标生成交易建议:
-
移动平均线 (SMA)
- 短期SMA (5周期) vs 长期SMA (20周期)
- 金叉/死叉信号
-
指数移动平均线 (EMA)
- 短期EMA (12周期) vs 长期EMA (26周期)
- 趋势判断
-
相对强弱指标 (RSI)
- RSI < 30: 超卖,买入信号
- RSI > 70: 超买,卖出信号
- RSI 40-60: 中性区间
-
价格动量
- 24小时价格变化百分比
- 趋势强度判断
信号生成逻辑:
- 多个指标综合判断
- 置信度基于信号一致性
- 最终信号:BUY / SELL / HOLD
============================================================
交易对: BTCUSDT
当前价格: $43,250.5000
交易信号: 🟢 BUY
置信度: 75%
24小时涨跌: 2.35%
24小时交易量: 1,234,567,890
技术指标:
- 短期SMA: 43,100.2500
- 长期SMA: 42,800.5000
- 短期EMA: 43,150.7500
- 长期EMA: 42,850.2500
- RSI: 45.32
分析理由:
短期均线(43100.25)高于长期均线(42800.50); 短期EMA(43150.75)高于长期EMA(42850.25); RSI(45.32)处于中性区间; 24小时涨幅2.35%,显示强劲上涨趋势
============================================================
- 仅供学习参考:本机器人提供的交易建议仅供参考,不构成投资建议
- 风险提示:加密货币交易存在高风险,请谨慎操作
- API限制:请注意 Binance API 的请求频率限制
- 测试环境:建议先在测试环境中验证策略
- API密钥:如需执行实际交易,需要配置 Binance API 密钥(本代码仅提供查询功能)
- Python 3.7+
- requests: HTTP 请求库
- numpy: 数值计算
- pandas: 数据处理(可选)
本机器人使用以下 Binance Futures API 端点:
GET /fapi/v1/ticker/price- 获取价格GET /fapi/v1/ticker/24hr- 获取24小时统计GET /fapi/v1/klines- 获取K线数据
欢迎提交 Issue 和 Pull Request!
MIT License
Created for 0gtask3demo project
免责声明:本软件仅供教育和研究目的。使用本软件进行实际交易的风险由用户自行承担。作者不对任何交易损失负责。