移除调价代码+;20分钟内不下单

This commit is contained in:
zhangkun9038@dingtalk.com 2026-01-15 19:57:49 +08:00
parent f121b7cb79
commit d4e4cfc603

View File

@ -45,6 +45,9 @@ class FreqaiPrimer(IStrategy):
# 入场间隔控制:记录每个交易对最近一次入场的时间
# 格式: {pair: datetime}
self._last_entry_time = {}
# 冷启动保护:记录策略启动时间
self._strategy_start_time = datetime.datetime.now()
def strategy_log(self, message: str, level: str = "info") -> None:
@ -604,7 +607,7 @@ class FreqaiPrimer(IStrategy):
# 设置出场价格上浮1.25%(使用乘法避免除零风险)
# Freqtrade 会优先使用 exit_price 列作为限价单价格
final_exit_condition = dataframe['exit_long'] == 1
dataframe.loc[final_exit_condition, 'exit_price'] = dataframe.loc[final_exit_condition, 'close'] * 1.0125
#dataframe.loc[final_exit_condition, 'exit_price'] = dataframe.loc[final_exit_condition, 'close'] * 1.0125
# 增强调试信息
#self.strategy_log(f"[{metadata['pair']}] 出场条件检查:")
@ -758,7 +761,7 @@ class FreqaiPrimer(IStrategy):
# 设置入场价格下调1.67%(使用乘法避免除零风险)
final_condition_updated = dataframe['enter_long'] == 1
dataframe.loc[final_condition_updated, 'enter_price'] = dataframe.loc[final_condition_updated, 'close'] * 0.9833
#dataframe.loc[final_condition_updated, 'enter_price'] = dataframe.loc[final_condition_updated, 'close'] * 0.9833
# 增强调试信息
# 确保ema_trend_filter是Series类型才能调用sum()
@ -876,6 +879,17 @@ class FreqaiPrimer(IStrategy):
此处实现剧烈拉升检查和入场间隔控制逻辑
"""
self.strategy_log(f"[{pair}] confirm_trade_entry 被调用 - 价格: {rate:.8f}, 时间: {current_time}")
# 冷启动保护程序启动后前20分钟内不允许入场
if hasattr(self, "_strategy_start_time"):
warmup_minutes = 20
elapsed_minutes = (current_time - self._strategy_start_time).total_seconds() / 60.0
if elapsed_minutes < warmup_minutes:
self.strategy_log(
f"[{pair}] 策略启动未满 {warmup_minutes} 分钟(已运行 {elapsed_minutes:.1f} 分钟),跳过本次入场信号"
)
return False
# 默认允许交易
allow_trade = True