降低入场门槛+2
This commit is contained in:
parent
8765d12e61
commit
e66eac733d
@ -393,37 +393,26 @@ class FreqaiPrimer(IStrategy):
|
||||
if 'prev_market_state' not in dataframe.columns:
|
||||
dataframe['prev_market_state'] = 'neutral'
|
||||
|
||||
# ======================== 极致激进版入场逻辑 ========================
|
||||
# 只需满足以下3个核心条件中的至少2个
|
||||
# ======================== 简化版入场逻辑 - 只需1个条件满足 ========================
|
||||
|
||||
# 条件1: RSI 超卖(市场自适应)
|
||||
rsi_oversold = dataframe.apply(lambda row:
|
||||
row['rsi_1h'] < 55 if row['prev_market_state'] in ['strong_bull', 'weak_bull'] # 牛市放宽到55
|
||||
else row['rsi_1h'] < self.rsi_oversold.value, # 熊市使用优化值
|
||||
axis=1)
|
||||
# 条件1: RSI超卖(核心条件)
|
||||
rsi_oversold = dataframe['rsi_1h'] < self.rsi_oversold.value
|
||||
|
||||
# 条件2: 价格低于1小时前的价格(简单下跌判断)
|
||||
price_lower = dataframe['close'] < dataframe['close'].shift(5).mean() # 比5根K线前更低
|
||||
# 条件2: 价格接近BB下轨
|
||||
price_near_bb_lower = dataframe['close'] <= dataframe['bb_lower_1h'] * self.bb_lower_deviation.value
|
||||
|
||||
# 条件3: MACD 看涨(最宽松的MACD判断)
|
||||
macd_bullish = (
|
||||
(dataframe['macd_1h'] > dataframe['macd_signal_1h']) | # MACD已上穿
|
||||
(dataframe['macd_1h'] > 0) # 或MACD本身为正
|
||||
)
|
||||
# 条件3: MACD看涨
|
||||
macd_bullish = dataframe['macd_1h'] > dataframe['macd_signal_1h']
|
||||
|
||||
# 条件4: 避免极度高位(可选保护)
|
||||
not_extreme_high = dataframe['close'] < dataframe['bb_upper_1h'] * 1.10 # 放宽到BB上轨上方10%
|
||||
# 条件4: 避免极高位
|
||||
not_too_high = dataframe['close'] < dataframe['bb_upper_1h']
|
||||
|
||||
# 计算有多少个条件满足
|
||||
condition_count = (
|
||||
rsi_oversold.astype(int) +
|
||||
price_lower.astype(int) +
|
||||
macd_bullish.astype(int) +
|
||||
not_extreme_high.astype(int)
|
||||
)
|
||||
|
||||
# 只需满足至少2个条件即可入场(极其宽松)
|
||||
final_condition = condition_count >= 2
|
||||
# 只需满足任意1个条件就入场(极其宽松)
|
||||
final_condition = (
|
||||
rsi_oversold |
|
||||
price_near_bb_lower |
|
||||
macd_bullish
|
||||
) & not_too_high # 但必须不在极高位
|
||||
|
||||
# 设置入场信号
|
||||
dataframe.loc[final_condition, 'enter_long'] = 1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user