Updated the position monitoring logic to handle cases where positions exist on Binance without corresponding stop-loss or take-profit orders. Enhanced logging to provide clearer insights into the status of these positions, ensuring better risk management by avoiding unprotected positions. This change allows for automatic monitoring and order creation based on the presence of SL/TP orders. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| atr_strategy.py | ||
| binance_client.py | ||
| binance_order_event_logger.py | ||
| book_ticker_stream.py | ||
| check_user_data_stream.py | ||
| config.example.py | ||
| config.py | ||
| indicators.py | ||
| kline_stream.py | ||
| listen_key_cache.py | ||
| main.py | ||
| market_regime_detector.py | ||
| market_regime.py | ||
| market_scanner.py | ||
| market_ws_leader.py | ||
| pending_reconcile.py | ||
| position_manager.py | ||
| README.md | ||
| recommendations_main.py | ||
| redis_cache.py | ||
| redis_log_handler.py | ||
| redis_ttl.py | ||
| requirements.txt | ||
| risk_manager.py | ||
| setup.sh | ||
| spot_scanner.py | ||
| STOP_LOSS_AND_TRAILING_ANALYSIS.md | ||
| strategy.py | ||
| summary202601241549.md | ||
| ticker_24h_stream.py | ||
| trade_recommender.py | ||
| trend_4h_cache.py | ||
| user_data_stream.py | ||
| ws_trade_client.py | ||
交易系统 (Trading System)
币安自动交易系统核心模块
目录结构
trading_system/
├── __init__.py
├── main.py # 主程序入口
├── recommendations_main.py # 推荐服务入口(独立进程:只生成推荐,不自动交易)
├── config.py # 配置文件
├── binance_client.py # 币安客户端
├── market_scanner.py # 市场扫描器
├── risk_manager.py # 风险管理
├── position_manager.py # 仓位管理
├── strategy.py # 交易策略
├── indicators.py # 技术指标
└── requirements.txt # 依赖
功能
- 自动市场扫描(1小时主周期)
- 技术指标分析(RSI、MACD、布林带等)
- 高胜率交易策略(均值回归+趋势跟踪)
- 严格风险控制
- 动态止损止盈
- 数据库集成(记录交易数据)
运行
方式1:直接运行(推荐)
cd trading_system
python main.py
推荐服务(独立进程)
推荐用于“普通用户查看”,建议与自动交易拆开启动(避免自动交易等待成交时拖慢推荐生成)。
# 从项目根目录运行
python -m trading_system.recommendations_main
常用环境变量(可选):
RECOMMEND_SCAN_INTERVAL_SEC: 推荐生成间隔(秒),默认 60RECOMMEND_MIN_SIGNAL_STRENGTH: 推荐最小强度,默认 5RECOMMEND_MAX_RECOMMENDATIONS: 单次最大推荐数量,默认 60RECOMMEND_MIN_QUALITY_SCORE: 质量分过滤,默认 0.0RECOMMEND_SCAN_CACHE_NAMESPACE: 扫描缓存命名空间,默认 recommendRECOMMEND_LOG_FILE: 推荐服务日志文件,默认 recommendations_bot.log
方式2:从项目根目录运行
python -m trading_system.main
配置
配置优先从数据库读取,回退到环境变量和默认值。
配置文件:config.py
安装依赖
方式1:使用安装脚本(推荐)
cd trading_system
./setup.sh
方式2:手动创建虚拟环境
# 在项目根目录创建虚拟环境
cd ..
python3 -m venv .venv
# 激活虚拟环境
source .venv/bin/activate # Linux/Mac
# 或 .venv\Scripts\activate # Windows
# 安装依赖
cd trading_system
pip install -r requirements.txt
方式3:使用项目根目录的虚拟环境
如果项目根目录已有虚拟环境(与backend共享):
# 激活虚拟环境
source ../.venv/bin/activate # 从trading_system目录
# 或 source .venv/bin/activate # 从项目根目录
# 安装依赖
pip install -r requirements.txt
注意:现代 Linux 系统(如 Ubuntu 22.04+)不允许直接在系统 Python 中安装包,必须使用虚拟环境。