一个基于负资金费率套利策略的币安合约自动化交易机器人,采用多指标融合分析,支持24/7不间断自动交易。
这是一个专为币安合约市场设计的智能交易机器人,主要利用负资金费率进行套利交易。机器人采用多指标综合分析,包括资金费率、MACD、多空比和成交量等,实现全自动化的开仓和平仓操作。
- 🎯 负资金费率套利: 专注于负资金费率机会,获取资金费用收益
- 🔄 全自动交易: 自动扫描、开仓、平仓,无需人工干预
- 📊 多指标分析: 结合MACD、多空比、成交量等多个指标
- 🛡️ 风险控制: 智能止损、黑名单、杠杆控制等安全机制
- 📈 实时监控: 完整的账户和持仓监控系统
- 🔧 灵活配置: 支持环境变量和命令行参数配置
- 🚀 后台运行: 支持nohup后台运行,SSH断开后继续工作
✅ 资金费率 < -0.1%(负资金费率)
✅ 24小时交易量 > 6000万 USDT
✅ MACD日级慢线 > 0(日线趋势向上)
✅ 多空比 < 1(空头占优势)
✅ 24小时涨跌幅 > 0(当日上涨)
✅ 资金费率结算时间为1小时(高频结算)
✅ 剔除资金费率为0的合约
📈 当持仓合约不符合开仓条件时自动平仓:
• 资金费率 ≥ -0.1%(负资金费率减弱或转正)
• 24小时涨跌幅 ≤ 0(转为下跌)
• 资金费率结算时间不再是1小时
⏰ 独立监控线程每5分钟检查一次持仓
🔄 自动平仓,无需人工干预
- 负资金费率套利: 当资金费率为负时,做多可以获得资金费用收益
- 多指标筛选: 确保选择的标的具有良好的技术面和市场结构
- 风险控制: 通过杠杆限制、黑名单等机制控制风险
- 动态监控: 实时监控资金费率变化,及时平仓
- ✅ 负资金费率扫描和筛选
- ✅ 多指标技术分析(MACD、多空比、成交量)
- ✅ 自动开仓和平仓
- ✅ 动态杠杆和保证金管理
- ✅ 黑名单过滤功能
- ✅ 实时账户信息查询
- ✅ 持仓和订单监控
- ✅ 批量保证金模式设置
- ✅ 交易历史记录查看
- ✅ 详细日志记录
- ✅ 进程状态监控
- ✅ 实时性能数据
- ✅ 异常告警和处理
- Python 3.8+
- 币安合约账户
- API密钥(需要合约交易权限)
git clone https://github.com/your-username/binance-ai-bot.git
cd binance-ai-botpip3 install -r requirements.txt创建 .env 文件:
# 币安API配置(必需)
BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_api_secret_here
# 交易参数(可选)
TRADE_AMOUNT=100
LEVERAGE=2
MONITOR_INTERVAL=300
POSITION_CHECK_INTERVAL=300
# 黑名单设置(可选)
BLACKLIST_SYMBOLS=LUNAUSDT,USTCUSDT
# 测试环境(可选)
USE_TESTNET=false# 首次使用前必须设置为全仓模式
python3 setup_margin_modes.py# 方式一:使用启动脚本(推荐)
./start_bot.sh
# 方式二:直接运行
python3 auto_trading_bot.py| 变量名 | 默认值 | 说明 |
|---|---|---|
BINANCE_API_KEY |
- | 币安API密钥(必需) |
BINANCE_API_SECRET |
- | 币安API密钥(必需) |
TRADE_AMOUNT |
100 | 每次交易金额(USDT) |
LEVERAGE |
2 | 杠杆倍数 |
MONITOR_INTERVAL |
300 | 监控间隔(秒) |
POSITION_CHECK_INTERVAL |
300 | 持仓检查间隔(秒) |
BLACKLIST_SYMBOLS |
- | 黑名单交易对(逗号分隔) |
USE_TESTNET |
false | 是否使用测试网 |
python3 auto_trading_bot.py --help
可选参数:
--amount AMOUNT 每次交易金额(USDT,默认100)
--leverage LEVERAGE 杠杆倍数(默认2)
--interval INTERVAL 监控间隔(秒,默认300)
--position-check-interval INTERVAL
持仓检查间隔(秒,默认300)
--testnet 使用测试网# 启动机器人
./start_bot.sh
# 检查运行状态
./check_bot.sh
# 停止机器人
./stop_bot.sh# 使用默认参数
python3 auto_trading_bot.py
# 自定义参数
python3 auto_trading_bot.py --amount 50 --leverage 5# 使用nohup后台运行
nohup python3 run_auto_trading.py > trading.log 2>&1 &# 查看账户信息
python3 main.py
# 调试持仓检查
python3 debug_position_check.pybinancebot-long-lewis/
├── main.py # 核心API和交易逻辑
├── auto_trading_bot.py # 交互式启动脚本
├── run_auto_trading.py # 后台运行脚本
├── setup_margin_modes.py # 保证金模式设置工具
├── debug_position_check.py # 持仓检查调试工具
├── start_bot.sh # 启动脚本
├── stop_bot.sh # 停止脚本
├── check_bot.sh # 状态检查脚本
├── requirements.txt # 依赖列表
├── .env # 环境变量配置
└── logs/ # 日志目录
├── bot.pid # 进程ID文件
└── trading_bot_*.log # 交易日志
# 查看实时日志
tail -f logs/trading_bot_*.log
# 检查进程状态
./check_bot.sh
# 查看系统进程
ps aux | grep python3日志文件包含以下信息:
- 交易信号和决策过程
- 开仓和平仓记录
- 账户余额变化
- 错误和异常信息
- 性能统计数据
# 查看账户摘要
python3 main.py
# 获取持仓信息
python3 -c "from main import BinanceAccountMonitor; m = BinanceAccountMonitor(); m.print_positions()"from main import BinanceFuturesAPI
# 初始化API
api = BinanceFuturesAPI()
# 获取账户信息
account = api.get_account_info()
positions = api.get_positions()
balance = api.get_balance()
# 交易操作
api.place_order(symbol='BTCUSDT', side='BUY', order_type='MARKET', quoteOrderQty=100)
api.close_position('BTCUSDT')
api.set_leverage('BTCUSDT', 5)
# 市场数据
funding_rates = api.get_funding_rates()
klines = api.get_klines('BTCUSDT', '1d')from main import AutoTradingBot
# 初始化交易机器人
bot = AutoTradingBot()
# 设置交易参数
bot.trade_amount = 100
bot.leverage = 5
# 启动监控
bot.start_monitoring()- 📊 市场风险: 合约交易存在价格波动风险
- 💰 杠杆风险: 杠杆交易会放大盈亏
- 🔄 资金费率风险: 资金费率可能快速变化
- 📉 技术风险: 指标失效或网络问题
- 小额测试: 首次使用建议小额测试
- 合理杠杆: 不要使用过高杠杆倍数
- 监控止损: 定期检查持仓和账户状态
- 备用方案: 准备手动止损方案
- 资金管理: 不要投入全部资金
本项目仅供学习和研究使用,不构成投资建议。使用者需要承担所有交易风险,作者不对任何损失负责。
-
API连接失败
# 检查API密钥配置 cat .env | grep BINANCE_API # 测试API连接 python3 -c "from main import BinanceFuturesAPI; api = BinanceFuturesAPI(); print(api.get_account_info())"
-
保证金模式错误
# 重新设置保证金模式 python3 setup_margin_modes.py -
机器人启动失败
# 查看详细日志 tail -50 logs/trading_bot_*.log # 检查进程状态 ./check_bot.sh
-
权限问题
# 添加执行权限 chmod +x *.sh
# 测试API连接
python3 -c "from main import BinanceFuturesAPI; api = BinanceFuturesAPI(); print('API连接成功')"
# 检查黑名单配置
python3 -c "from main import AutoTradingBot; bot = AutoTradingBot(); bot.debug_blacklist()"
# 查看资金费率
python3 -c "from main import BinanceFuturesAPI; api = BinanceFuturesAPI(); api.debug_funding_rates()"