优化亏损交易策略

This commit is contained in:
薇薇安 2026-02-03 11:26:46 +08:00
parent cc6750fa47
commit 040473d4d3
2 changed files with 36 additions and 14 deletions

View File

@ -425,14 +425,24 @@ class MarketScanner:
if ema20 and ema50:
if current_price > ema20 > ema50: # 上升趋势
if trend_4h in ('up', 'neutral', None):
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
if direction is None:
direction = 'BUY'
# 冲突检查
if direction == 'SELL':
signal_strength = 0
direction = None
else:
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
if direction is None:
direction = 'BUY'
elif current_price < ema20 < ema50: # 下降趋势
if trend_4h in ('down', 'neutral', None):
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
if direction is None:
direction = 'SELL'
# 冲突检查
if direction == 'BUY':
signal_strength = 0
direction = None
else:
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
if direction is None:
direction = 'SELL'
# 价格与EMA20关系
if ema20:

View File

@ -440,10 +440,16 @@ class TradingStrategy:
if trend_4h in ('up', 'neutral'):
# OPTIMIZATION: 添加 RSI 过滤
if rsi is None or rsi < 70:
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
reasons.append("EMA20上穿EMA50上升趋势")
if direction is None:
direction = 'BUY'
# 冲突检查:如果已有方向且与当前不符,则是严重冲突
if direction == 'SELL':
reasons.append("❌ 信号冲突MACD看空但EMA看多")
signal_strength = 0
direction = None
else:
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
reasons.append("EMA20上穿EMA50上升趋势")
if direction is None:
direction = 'BUY'
else:
reasons.append(f"1H均线向上但4H趋势相反({trend_4h}),禁止逆势")
elif current_price < ema20 < ema50: # 下降趋势
@ -451,10 +457,16 @@ class TradingStrategy:
if trend_4h in ('down', 'neutral'):
# OPTIMIZATION: 添加 RSI 过滤
if rsi is None or rsi > 30:
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
reasons.append("EMA20下穿EMA50下降趋势")
if direction is None:
direction = 'SELL'
# 冲突检查:如果已有方向且与当前不符,则是严重冲突
if direction == 'BUY':
reasons.append("❌ 信号冲突MACD看多但EMA看空")
signal_strength = 0
direction = None
else:
signal_strength += TREND_SIGNAL_WEIGHTS['ema_cross']
reasons.append("EMA20下穿EMA50下降趋势")
if direction is None:
direction = 'SELL'
else:
reasons.append(f"1H均线向下但4H趋势相反({trend_4h}),禁止逆势")