放宽入场门槛
This commit is contained in:
parent
a8784ac5ce
commit
eb426096e3
@ -168,29 +168,29 @@ class FreqaiPrimer(IStrategy):
|
||||
return dataframe
|
||||
|
||||
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
|
||||
# 做多条件(放宽以达到每月150单)
|
||||
# 1. 价格接近3m布林带下轨(3%偏差)
|
||||
close_to_bb_lower = (dataframe['close'] <= dataframe['bb_lower_3m'] * 1.03)
|
||||
# 做多条件(放宽以增加入场信号)
|
||||
# 1. 价格接近3m布林带下轨(放宽到5%偏差)
|
||||
close_to_bb_lower = (dataframe['close'] <= dataframe['bb_lower_3m'] * 1.05)
|
||||
|
||||
# 2. 多时间框架RSI处于超卖区域
|
||||
rsi_oversold = (dataframe['rsi_3m'] < self.rsi_oversold) & \
|
||||
# 2. 至少一个时间框架RSI处于超卖区域
|
||||
rsi_oversold = (dataframe['rsi_3m'] < self.rsi_oversold) | \
|
||||
(dataframe['rsi_15m'] < self.rsi_oversold)
|
||||
|
||||
# 3. 1小时趋势向上
|
||||
trend_1h = dataframe['trend_1h']
|
||||
# 3. 1小时趋势向上或横盘
|
||||
trend_1h = dataframe['trend_1h'] | (dataframe['market_state'] == 'neutral')
|
||||
|
||||
# 4. 成交量高于平均水平
|
||||
volume_condition = dataframe['volume'] > dataframe['volume_ma']
|
||||
# 4. 成交量至少达到平均水平的80%
|
||||
volume_condition = dataframe['volume'] > dataframe['volume_ma'] * 0.8
|
||||
|
||||
# 5. 看涨吞没形态或极低RSI
|
||||
special_condition = dataframe['bullish_engulfing'] | (dataframe['rsi_3m'] < self.rsi_oversold - 5)
|
||||
# 5. 看涨吞没形态或RSI接近超卖
|
||||
special_condition = dataframe['bullish_engulfing'] | (dataframe['rsi_3m'] < self.rsi_oversold + 3)
|
||||
|
||||
# 检查剧烈拉升情况 - 如果检测到剧烈拉升,则不产生入场信号
|
||||
pair = metadata['pair']
|
||||
is_unstable_region, _ = self.detect_h1_rapid_rise(pair, dataframe, metadata)
|
||||
|
||||
# 熊牛得分检查:当得分低于60时禁止入场
|
||||
market_score_condition = dataframe['market_score'] >= 60
|
||||
# 熊牛得分检查:当得分低于55时禁止入场(放宽门槛)
|
||||
market_score_condition = dataframe['market_score'] >= 55
|
||||
|
||||
# 合并所有条件,并且确保不在不稳固区域且市场状态良好
|
||||
final_condition = close_to_bb_lower & rsi_oversold & trend_1h & volume_condition & special_condition & (~is_unstable_region) & market_score_condition
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user