Skip to content

Arthur19940725/0gtask3demo

Repository files navigation

Binance 交易机器人 (Trading Bot)

一个基于 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             # 项目文档

安装步骤

1. 克隆项目

git clone <your-github-repo-url>
cd 0gtask3demo

2. 安装依赖

pip install -r requirements.txt

3. 运行示例

# 运行主程序
python trading_bot.py

# 或运行交互式示例
python example.py

使用方法

基本使用

from 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分钟更新

API 说明

BinanceClient

Binance API 客户端,用于获取交易所数据。

主要方法:

  • get_ticker_price(symbol): 获取单个交易对价格
  • get_all_ticker_prices(): 获取所有交易对价格
  • get_klines(symbol, interval, limit): 获取K线数据
  • get_24h_ticker(symbol): 获取24小时统计

TradingStrategy

交易策略分析模块。

主要方法:

  • analyze_symbol(symbol): 分析单个交易对
  • calculate_sma(prices, window): 计算简单移动平均
  • calculate_ema(prices, window): 计算指数移动平均
  • calculate_rsi(prices, period): 计算RSI指标
  • generate_signal(...): 生成交易信号

TradingBot

交易机器人主类,整合API和策略。

主要方法:

  • get_price(symbol): 获取价格
  • get_trading_suggestion(symbol): 获取交易建议
  • analyze_multiple_symbols(symbols): 分析多个交易对
  • print_suggestion(suggestion): 格式化打印建议
  • run_continuous_monitoring(symbols, interval): 持续监控

交易策略说明

本机器人使用以下技术指标生成交易建议:

  1. 移动平均线 (SMA)

    • 短期SMA (5周期) vs 长期SMA (20周期)
    • 金叉/死叉信号
  2. 指数移动平均线 (EMA)

    • 短期EMA (12周期) vs 长期EMA (26周期)
    • 趋势判断
  3. 相对强弱指标 (RSI)

    • RSI < 30: 超卖,买入信号
    • RSI > 70: 超买,卖出信号
    • RSI 40-60: 中性区间
  4. 价格动量

    • 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%,显示强劲上涨趋势
============================================================

注意事项

⚠️ 重要提示:

  1. 仅供学习参考:本机器人提供的交易建议仅供参考,不构成投资建议
  2. 风险提示:加密货币交易存在高风险,请谨慎操作
  3. API限制:请注意 Binance API 的请求频率限制
  4. 测试环境:建议先在测试环境中验证策略
  5. API密钥:如需执行实际交易,需要配置 Binance API 密钥(本代码仅提供查询功能)

技术栈

  • Python 3.7+
  • requests: HTTP 请求库
  • numpy: 数值计算
  • pandas: 数据处理(可选)

API 端点

本机器人使用以下 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


免责声明:本软件仅供教育和研究目的。使用本软件进行实际交易的风险由用户自行承担。作者不对任何交易损失负责。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages