本指南说明如何将增强评分系统整合到现有的 get_trading_signal_*.py 文件中。
- 旧逻辑: RSI > 70 → 直接扣分
- 新逻辑: RSI > 70 + MACD金叉 + 均线多头 + 放量 → 识别为强势股,不扣分
- 综合评估 MACD + 均线 + 成交量 + 布林带
- 组合信号权重更高
- 根据市场状态动态调整权重
- 区分"真超买"和"强势突破"
在文件开头的导入区域添加:
# 导入动态权重计算器
from dynamic_signal_weights import DynamicWeightCalculator
# 导入增强评分模块
from enhanced_scoring_module import calculate_enhanced_buy_score原代码 (大约在第300-450行):
# 🔥 买入信号评分系统(加入成交量判断)
buy_score = 0
warnings = []
reasons = []
# 🚫 MACD死叉 = 直接拒绝买入!
if macd < macd_signal:
buy_score = -100
warnings.append(f"⚠️ MACD死叉,趋势转弱,不应买入!")
else:
# 技术指标评分 (使用动态权重)
if rsi < 30:
buy_score += buy_weights['rsi_oversold']
reasons.append(f"RSI超卖 ({rsi:.1f} < 30)")
# ... 更多评分逻辑 ...替换为:
# 🔥 增强版买入信号评分系统
buy_score, signal_override, reasons, warnings, buy_metadata = calculate_enhanced_buy_score(
rsi=rsi,
macd=macd,
macd_signal=macd_signal,
sma_10=sma_10,
sma_30=sma_30,
current_price=current_price,
bb_upper=bb_upper,
bb_lower=bb_lower,
volume_ratio=volume_ratio,
ai_action=action_value,
buy_weights=buy_weights
)
# signal_override 可以用来覆盖原始信号(如果需要)
# buy_metadata 包含额外的诊断信息在输出部分添加增强评分的元数据:
print(f" AI 模型强度: {strength:.2f} / 1.00")
print(f" 技术指标评分: {buy_score:.0f} / 100")
print(f" 综合建议强度: {adjusted_buy_strength:.2f}")
# 新增: 显示增强评分元数据
if buy_metadata.get('is_strong_stock'):
print(f" 🌟 强势股识别: 是 (强度: {buy_metadata['strong_strength']})")
print(f" 📊 多头组合评分: {buy_metadata['combo_score']:.0f}/100")参考文件: test_enhanced_integration.py
该文件展示了:
- 如何调用增强评分函数
- 新旧系统的对比
- 实际案例测试结果
更新文件后,运行交易信号生成器验证:
python get_trading_signal_6209.py检查输出中是否包含:
- ✨ "识别到强势股模式" (如果符合条件)
- 📈 "识别到强力多头组合" (如果符合条件)
- 改进的买入/卖出理由列表
- RSI: 77.5 (超买)
- MACD: 金叉 + 正值
- 均线: 多头
- 量比: 1.49x
- 预期: 识别为强势股,不因RSI超买扣分
- RSI: 75 (超买)
- MACD: 死叉
- 均线: 空头
- 量比: 0.6x
- 预期: 识别为真超买,拒绝买入
需要更新的文件列表 (22个):
- get_trading_signal_1519.py
- get_trading_signal_2317.py
- get_trading_signal_2330.py
- get_trading_signal_2337.py
- get_trading_signal_2344.py
- get_trading_signal_2408.py
- get_trading_signal_3017.py
- get_trading_signal_3711.py
- get_trading_signal_3715.py
- get_trading_signal_4938.py
- get_trading_signal_6209.py ⭐ (示例文件)
- get_trading_signal_6269.py
- get_trading_signal_6443.py
- get_trading_signal_6515.py
- get_trading_signal_6770.py
- get_trading_signal_6805.py
- get_trading_signal_8131.py
- get_trading_signal_8210.py
- get_trading_signal_aapl.py
- get_trading_signal_avgo.py
- get_trading_signal_goog.py
- get_trading_signal_mu.py
- get_trading_signal_nvda.py
- 备份: 更新前先备份原文件
- 测试: 更新后运行一次确认无错误
- 渐进: 可以先更新1-2个文件测试效果
- 批量: 确认效果后可使用
batch_update_signals.py批量更新
ModuleNotFoundError: No module named 'enhanced_scoring_module'
解决: 确保 enhanced_scoring_module.py 在同一目录
TypeError: calculate_enhanced_buy_score() missing required argument
解决: 检查所有必需参数是否都传入了
如有问题,参考:
test_enhanced_integration.py- 对比测试enhanced_scoring_module.py- 模块源代码batch_update_signals.py- 批量更新脚本
最后更新: 2025-12-25