stockrsi 85分以上阻止开多
This commit is contained in:
parent
8c0b6669d8
commit
d25a5809d2
@ -190,7 +190,10 @@ class FreqaiPrimer(IStrategy):
|
||||
dataframe["volume_mean_20"] = dataframe["volume"].rolling(20).mean()
|
||||
dataframe["volume_std_20"] = dataframe["volume"].rolling(20).std()
|
||||
dataframe["volume_z_score"] = (dataframe["volume"] - dataframe["volume_mean_20"]) / dataframe["volume_std_20"]
|
||||
|
||||
# 计算 STOCHRSI
|
||||
dataframe['stochrsi_k'], dataframe['stochrsi_d'] = stochrsi(dataframe['close'], length=14, k=3, d=3, fillna=True)
|
||||
# 计算 MASTCHRIS3 (假设为 STOCHRSI K 的 3 周期 SMA)
|
||||
dataframe['mastchris3'] = sma(dataframe['stochrsi_k'], length=3)
|
||||
# 数据清理
|
||||
for col in ["ema200", "bb_upperband", "bb_middleband", "bb_lowerband", "rsi", "volume_z_score", "&-price_value_divergence", "price_value_divergence"]:
|
||||
dataframe[col] = dataframe[col].replace([np.inf, -np.inf], 0).ffill().fillna(0)
|
||||
@ -547,6 +550,14 @@ class FreqaiPrimer(IStrategy):
|
||||
logger.error(f"[{pair}] Invalid rate value: {rate} (type: {type(rate)}). Skipping trade entry.")
|
||||
return False
|
||||
|
||||
# 获取当前数据
|
||||
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
|
||||
last_candle = dataframe.iloc[-1]
|
||||
|
||||
# 检查 STOCHRSI K 和 MASTCHRIS3 是否均 > 85
|
||||
if last_candle['stochrsi_k'] > 85 and last_candle['mastchris3'] > 85:
|
||||
return False # 阻止开多
|
||||
|
||||
market_trend_score = self.get_market_trend(dataframe=DataFrame, metadata={'pair': pair})
|
||||
cooldown_period_minutes = self.COOLDOWN_PERIOD_MINUTES.value if market_trend_score > 50 else self.COOLDOWN_PERIOD_MINUTES.value // 2
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user