This commit is contained in:
薇薇安 2026-01-15 22:17:55 +08:00
parent 62710a5720
commit 30bb8d84c0
3 changed files with 14 additions and 11 deletions

View File

@ -116,9 +116,10 @@ async def get_recommendations(
recommender = TradeRecommender(client, scanner, risk_manager) recommender = TradeRecommender(client, scanner, risk_manager)
# 生成推荐会自动保存到Redis # 生成推荐会自动保存到Redis
# 降低信号强度阈值以获取更多推荐(推荐系统可以更宽松)
recommendations = await recommender.generate_recommendations( recommendations = await recommender.generate_recommendations(
min_signal_strength=min_signal_strength, min_signal_strength=max(3, min_signal_strength - 2), # 降低2个等级以获取更多推荐
max_recommendations=limit, max_recommendations=max(limit, 30), # 至少生成30个推荐
add_to_cache=True, add_to_cache=True,
min_quality_score=0.0 min_quality_score=0.0
) )
@ -520,9 +521,10 @@ async def generate_recommendations(
recommender = TradeRecommender(client, scanner, risk_manager) recommender = TradeRecommender(client, scanner, risk_manager)
# 生成推荐增量添加到Redis缓存 # 生成推荐增量添加到Redis缓存
# 降低信号强度阈值以获取更多推荐(推荐系统可以更宽松)
recommendations = await recommender.generate_recommendations( recommendations = await recommender.generate_recommendations(
min_signal_strength=min_signal_strength, min_signal_strength=max(3, min_signal_strength - 2), # 降低2个等级以获取更多推荐
max_recommendations=max_recommendations, max_recommendations=max(max_recommendations, 30), # 至少生成30个推荐
add_to_cache=True, # 添加到Redis缓存 add_to_cache=True, # 添加到Redis缓存
min_quality_score=0.0 # 不过滤,保留所有推荐 min_quality_score=0.0 # 不过滤,保留所有推荐
) )

View File

@ -166,7 +166,7 @@ def _get_trading_config():
'MIN_POSITION_PERCENT': 0.01, 'MIN_POSITION_PERCENT': 0.01,
'MIN_MARGIN_USDT': 0.5, # 最小保证金要求USDT避免手续费侵蚀收益 'MIN_MARGIN_USDT': 0.5, # 最小保证金要求USDT避免手续费侵蚀收益
'MIN_CHANGE_PERCENT': 2.0, 'MIN_CHANGE_PERCENT': 2.0,
'TOP_N_SYMBOLS': 10, # 每次扫描后处理的交易对数量 'TOP_N_SYMBOLS': 30, # 每次扫描后处理的交易对数量增加到30以获取更多推荐
'MAX_SCAN_SYMBOLS': 500, # 扫描的最大交易对数量0表示扫描所有 'MAX_SCAN_SYMBOLS': 500, # 扫描的最大交易对数量0表示扫描所有
'STOP_LOSS_PERCENT': 0.03, 'STOP_LOSS_PERCENT': 0.03,
'TAKE_PROFIT_PERCENT': 0.05, 'TAKE_PROFIT_PERCENT': 0.05,
@ -177,7 +177,7 @@ def _get_trading_config():
'ENTRY_INTERVAL': '15m', 'ENTRY_INTERVAL': '15m',
'MIN_VOLUME_24H': 10000000, 'MIN_VOLUME_24H': 10000000,
'MIN_VOLATILITY': 0.02, 'MIN_VOLATILITY': 0.02,
'MIN_SIGNAL_STRENGTH': 7, # 提升至7以提高入场质量减少假信号 'MIN_SIGNAL_STRENGTH': 5, # 降低至5以获取更多推荐推荐系统使用实际交易仍可设置更高阈值
'LEVERAGE': 10, # 基础杠杆倍数 'LEVERAGE': 10, # 基础杠杆倍数
'USE_DYNAMIC_LEVERAGE': True, # 是否启用动态杠杆(根据信号强度调整) 'USE_DYNAMIC_LEVERAGE': True, # 是否启用动态杠杆(根据信号强度调整)
'MAX_LEVERAGE': 20, # 最大杠杆倍数(动态杠杆上限) 'MAX_LEVERAGE': 20, # 最大杠杆倍数(动态杠杆上限)

View File

@ -124,8 +124,8 @@ class TradeRecommender:
symbol = symbol_info['symbol'] symbol = symbol_info['symbol']
current_price = symbol_info['price'] current_price = symbol_info['price']
# 4. 分析交易信号 # 4. 分析交易信号传入min_signal_strength参数
trade_signal = await self._analyze_trade_signal(symbol_info) trade_signal = await self._analyze_trade_signal(symbol_info, min_signal_strength=min_signal_strength)
# 5. 如果信号强度足够,生成推荐 # 5. 如果信号强度足够,生成推荐
if trade_signal['should_trade'] and trade_signal['strength'] >= min_signal_strength: if trade_signal['should_trade'] and trade_signal['strength'] >= min_signal_strength:
@ -217,7 +217,7 @@ class TradeRecommender:
logger.info(f"生成了 {len(new_recommendations)} 个新推荐,总计 {len(final_recommendations)} 个推荐(包含缓存)") logger.info(f"生成了 {len(new_recommendations)} 个新推荐,总计 {len(final_recommendations)} 个推荐(包含缓存)")
return final_recommendations return final_recommendations
async def _analyze_trade_signal(self, symbol_info: Dict) -> Dict: async def _analyze_trade_signal(self, symbol_info: Dict, min_signal_strength: int = None) -> Dict:
""" """
分析交易信号复用策略模块的逻辑 分析交易信号复用策略模块的逻辑
@ -315,8 +315,9 @@ class TradeRecommender:
signal_strength += 2 signal_strength += 2
reasons.append("4H周期共振确认") reasons.append("4H周期共振确认")
# 判断是否应该交易 # 判断是否应该交易使用传入的参数如果没有则使用config中的值
min_signal_strength = config.TRADING_CONFIG.get('MIN_SIGNAL_STRENGTH', 7) if min_signal_strength is None:
min_signal_strength = config.TRADING_CONFIG.get('MIN_SIGNAL_STRENGTH', 7)
should_trade = signal_strength >= min_signal_strength should_trade = signal_strength >= min_signal_strength
# 禁止逆4H趋势交易 # 禁止逆4H趋势交易