每两个入场信号之间必须间隔至少20分钟
This commit is contained in:
parent
c97ee5a087
commit
d27d76811e
@ -32,6 +32,8 @@ class FreqaiPrimer(IStrategy):
|
||||
super().__init__(config) # 调用父类的初始化方法并传递config
|
||||
# 存储从配置文件加载的默认值
|
||||
self._trailing_stop_positive_default = 0.004 # 降低默认值以更容易触发跟踪止盈
|
||||
# 记录每个交易对最近一次实际允许入场的时间,用于入场间隔控制
|
||||
self._last_entry_time_by_pair = {}
|
||||
|
||||
@property
|
||||
def protections(self):
|
||||
@ -506,6 +508,23 @@ class FreqaiPrimer(IStrategy):
|
||||
if is_unstable_region:
|
||||
#logger.info(f"[{pair}] 由于检测到剧烈拉升,取消入场交易")
|
||||
allow_trade = False
|
||||
|
||||
# ==================== 入场间隔控制:每个交易对至少间隔 20 分钟 ====================
|
||||
if allow_trade:
|
||||
min_interval = datetime.timedelta(minutes=20)
|
||||
# 初始化缓存字典(防御性,避免属性不存在)
|
||||
if not hasattr(self, "_last_entry_time_by_pair"):
|
||||
self._last_entry_time_by_pair = {}
|
||||
last_time = self._last_entry_time_by_pair.get(pair)
|
||||
if last_time is not None and (current_time - last_time) < min_interval:
|
||||
logger.info(
|
||||
f"[{pair}] 距离上次入场仅 {(current_time - last_time).total_seconds() / 60:.1f} 分钟,"
|
||||
f"未达到 {min_interval.total_seconds() / 60:.0f} 分钟间隔,拒绝本次入场"
|
||||
)
|
||||
allow_trade = False
|
||||
else:
|
||||
# 只有本次允许入场时,才更新最近入场时间
|
||||
self._last_entry_time_by_pair[pair] = current_time
|
||||
|
||||
# 如果没有阻止因素,允许交易
|
||||
return allow_trade
|
||||
|
||||
146
results/backtest_ai6_0.log
Normal file
146
results/backtest_ai6_0.log
Normal file
@ -0,0 +1,146 @@
|
||||
2025-12-18 05:16:15,141 - freqaiprimer - INFO - [BTC/USDT] 极端出场: 总=3, 暴涨=0, 瀑布=3
|
||||
2025-12-18 05:16:15,279 - freqaiprimer - INFO - [TON/USDT] 入场统计: 传统=3963, ML通过=366, 环境允许=2614, 最终=4
|
||||
2025-12-18 05:16:15,281 - freqaiprimer - INFO - [TON/USDT] 极端出场: 总=18, 暴涨=0, 瀑布=18
|
||||
2025-12-18 05:16:15,407 - freqaiprimer - INFO - [DOT/USDT] 极端出场: 总=16, 暴涨=0, 瀑布=16
|
||||
2025-12-18 05:16:15,533 - freqaiprimer - INFO - [XRP/USDT] 极端出场: 总=20, 暴涨=0, 瀑布=20
|
||||
2025-12-18 05:16:15,656 - freqaiprimer - INFO - [OKB/USDT] 极端出场: 总=36, 暴涨=0, 瀑布=36
|
||||
2025-12-18 05:16:15,780 - freqaiprimer - INFO - [SOL/USDT] 极端出场: 总=20, 暴涨=0, 瀑布=20
|
||||
2025-12-18 05:16:15,902 - freqaiprimer - INFO - [DOGE/USDT] 入场统计: 传统=4033, ML通过=275, 环境允许=898, 最终=10
|
||||
2025-12-18 05:16:15,903 - freqaiprimer - INFO - [DOGE/USDT] 极端出场: 总=14, 暴涨=0, 瀑布=14
|
||||
2025-12-18 05:16:16,028 - freqaiprimer - INFO - [WCT/USDT] 极端出场: 总=28, 暴涨=0, 瀑布=28
|
||||
2025-12-18 05:16:16,152 - freqaiprimer - INFO - [TRUMP/USDT] 入场统计: 传统=4516, ML通过=426, 环境允许=5092, 最终=193
|
||||
2025-12-18 05:16:16,154 - freqaiprimer - INFO - [TRUMP/USDT] 极端出场: 总=1, 暴涨=0, 瀑布=1
|
||||
2025-12-18 05:16:16,281 - freqaiprimer - INFO - [SUI/USDT] 极端出场: 总=20, 暴涨=0, 瀑布=20
|
||||
2025-12-18 05:16:16,405 - freqaiprimer - INFO - [PEPE/USDT] 入场统计: 传统=4126, ML通过=253, 环境允许=493, 最终=1
|
||||
2025-12-18 05:16:16,407 - freqaiprimer - INFO - [PEPE/USDT] 极端出场: 总=20, 暴涨=0, 瀑布=20
|
||||
2025-12-18 05:16:16,532 - freqaiprimer - INFO - [TRB/USDT] 极端出场: 总=13, 暴涨=2, 瀑布=11
|
||||
2025-12-18 05:16:16,656 - freqaiprimer - INFO - [MASK/USDT] 入场统计: 传统=4068, ML通过=162, 环境允许=1845, 最终=26
|
||||
2025-12-18 05:16:16,657 - freqaiprimer - INFO - [MASK/USDT] 极端出场: 总=22, 暴涨=1, 瀑布=21
|
||||
2025-12-18 05:16:16,783 - freqaiprimer - INFO - [UNI/USDT] 极端出场: 总=8, 暴涨=0, 瀑布=8
|
||||
2025-12-18 05:16:16,906 - freqaiprimer - INFO - [KAITO/USDT] 极端出场: 总=17, 暴涨=0, 瀑布=17
|
||||
2025-12-18 05:16:16,954 - freqaiprimer - INFO - 计算波动系数EMA完成 TRUMP/USDT: 最终系数=1.0000 (历史数据不足,使用当前值)
|
||||
2025-12-18 05:16:17,077 - freqaiprimer - INFO - 计算波动系数EMA完成 MASK/USDT: 最终系数=1.0000 (历史数据不足,使用当前值)
|
||||
2025-12-18 05:16:17,332 - freqaiprimer - INFO - 计算波动系数EMA完成 TON/USDT: 最终系数=1.0000 (历史数据不足,使用当前值)
|
||||
2025-12-18 05:16:17,522 - freqaiprimer - INFO - 计算波动系数EMA完成 DOGE/USDT: 最终系数=1.0000 (历史数据不足,使用当前值)
|
||||
2025-12-18 05:16:17,529 - freqaiprimer - INFO - 计算波动系数EMA完成 PEPE/USDT: 最终系数=1.0000 (历史数据不足,使用当前值)
|
||||
2025-12-18 05:16:18,014 - freqtrade.misc - INFO - dumping json to "/freqtrade/user_data/backtest_results/backtest-result-2025-12-18_05-16-18.meta.json"
|
||||
Result for strategy FreqaiPrimer
|
||||
BACKTESTING REPORT
|
||||
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ MASK/USDT │ 2 │ 3.35 │ 23.468 │ 1.17 │ 15:10:00 │ 2 0 0 100 │
|
||||
│ TRUMP/USDT │ 2 │ 2.12 │ 14.868 │ 0.74 │ 1 day, 1:06:00 │ 2 0 0 100 │
|
||||
│ DOGE/USDT │ 1 │ 3.23 │ 11.305 │ 0.57 │ 8:36:00 │ 1 0 0 100 │
|
||||
│ BTC/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ DOT/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ XRP/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ OKB/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ SOL/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ WCT/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ SUI/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ TRB/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ UNI/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ KAITO/USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
|
||||
│ TON/USDT │ 1 │ -1.77 │ -6.201 │ -0.31 │ 1 day, 21:42:00 │ 0 0 1 0 │
|
||||
│ PEPE/USDT │ 1 │ -2.02 │ -7.069 │ -0.35 │ 23:18:00 │ 0 0 1 0 │
|
||||
│ TOTAL │ 7 │ 1.48 │ 36.371 │ 1.82 │ 22:36:00 │ 5 0 2 71.4 │
|
||||
└────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘
|
||||
LEFT OPEN TRADES REPORT
|
||||
┏━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ TON/USDT │ 1 │ -1.77 │ -6.201 │ -0.31 │ 1 day, 21:42:00 │ 0 0 1 0 │
|
||||
│ PEPE/USDT │ 1 │ -2.02 │ -7.069 │ -0.35 │ 23:18:00 │ 0 0 1 0 │
|
||||
│ TOTAL │ 2 │ -1.89 │ -13.270 │ -0.66 │ 1 day, 10:30:00 │ 0 0 2 0 │
|
||||
└───────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘
|
||||
ENTER TAG STATS
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ OTHER │ 7 │ 1.48 │ 36.371 │ 1.82 │ 22:36:00 │ 5 0 2 71.4 │
|
||||
│ TOTAL │ 7 │ 1.48 │ 36.371 │ 1.82 │ 22:36:00 │ 5 0 2 71.4 │
|
||||
└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
|
||||
EXIT REASON STATS
|
||||
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ trailing_stop_loss │ 4 │ 3.32 │ 46.529 │ 2.33 │ 10:08:00 │ 4 0 0 100 │
|
||||
│ custom_exit │ 1 │ 0.89 │ 3.112 │ 0.16 │ 2 days, 0:36:00 │ 1 0 0 100 │
|
||||
│ force_exit │ 2 │ -1.89 │ -13.270 │ -0.66 │ 1 day, 10:30:00 │ 0 0 2 0 │
|
||||
│ TOTAL │ 7 │ 1.48 │ 36.371 │ 1.82 │ 22:36:00 │ 5 0 2 71.4 │
|
||||
└────────────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘
|
||||
MIXED TAG STATS
|
||||
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ │ trailing_stop_loss │ 4 │ 3.32 │ 46.529 │ 2.33 │ 10:08:00 │ 4 0 0 100 │
|
||||
│ │ custom_exit │ 1 │ 0.89 │ 3.112 │ 0.16 │ 2 days, 0:36:00 │ 1 0 0 100 │
|
||||
│ │ force_exit │ 2 │ -1.89 │ -13.270 │ -0.66 │ 1 day, 10:30:00 │ 0 0 2 0 │
|
||||
│ TOTAL │ │ 7 │ 1.48 │ 36.371 │ 1.82 │ 22:36:00 │ 5 0 2 71.4 │
|
||||
└───────────┴────────────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘
|
||||
DAY BREAKDOWN
|
||||
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Day ┃ Trades ┃ Tot Profit USDT ┃ Profit Factor ┃ Win Draw Loss Win% ┃
|
||||
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ 09/11/2025 │ 1 │ 11.874 │ 0.0 │ 1 0 0 100 │
|
||||
│ 10/11/2025 │ 2 │ 14.868 │ 0.0 │ 2 0 0 100 │
|
||||
│ 11/11/2025 │ 4 │ 9.63 │ 1.73 │ 2 0 2 50.0 │
|
||||
└────────────┴────────┴─────────────────┴───────────────┴────────────────────────┘
|
||||
SUMMARY METRICS
|
||||
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Metric ┃ Value ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ Backtesting from │ 2025-11-05 16:00:00 │
|
||||
│ Backtesting to │ 2025-11-11 16:00:00 │
|
||||
│ Trading Mode │ Spot │
|
||||
│ Max open trades │ 5 │
|
||||
│ │ │
|
||||
│ Total/Daily Avg Trades │ 7 / 1.17 │
|
||||
│ Starting balance │ 2000 USDT │
|
||||
│ Final balance │ 2036.371 USDT │
|
||||
│ Absolute profit │ 36.371 USDT │
|
||||
│ Total profit % │ 1.82% │
|
||||
│ CAGR % │ 199.32% │
|
||||
│ Sortino │ 266.63 │
|
||||
│ Sharpe │ 14.44 │
|
||||
│ Calmar │ 894.39 │
|
||||
│ SQN │ 1.59 │
|
||||
│ Profit factor │ 3.74 │
|
||||
│ Expectancy (Ratio) │ 5.20 (0.78) │
|
||||
│ Avg. daily profit % │ 0.30% │
|
||||
│ Avg. stake amount │ 350 USDT │
|
||||
│ Total trade volume │ 4944.273 USDT │
|
||||
│ │ │
|
||||
│ Best Pair │ MASK/USDT 1.17% │
|
||||
│ Worst Pair │ PEPE/USDT -0.35% │
|
||||
│ Best trade │ MASK/USDT 3.39% │
|
||||
│ Worst trade │ PEPE/USDT -2.02% │
|
||||
│ Best day │ 14.868 USDT │
|
||||
│ Worst day │ 9.63 USDT │
|
||||
│ Days win/draw/lose │ 3 / 0 / 0 │
|
||||
│ Avg. Duration Winners │ 17:50:00 │
|
||||
│ Avg. Duration Loser │ 1 day, 10:30:00 │
|
||||
│ Max Consecutive Wins / Loss │ 5 / 2 │
|
||||
│ Rejected Entry signals │ 0 │
|
||||
│ Entry/Exit Timeouts │ 0 / 0 │
|
||||
│ │ │
|
||||
│ Min balance │ 2011.874 USDT │
|
||||
│ Max balance │ 2049.641 USDT │
|
||||
│ Max % of account underwater │ 0.65% │
|
||||
│ Absolute Drawdown (Account) │ 0.65% │
|
||||
│ Absolute Drawdown │ 13.27 USDT │
|
||||
│ Drawdown high │ 49.641 USDT │
|
||||
│ Drawdown low │ 36.371 USDT │
|
||||
│ Drawdown Start │ 2025-11-11 01:27:00 │
|
||||
│ Drawdown End │ 2025-11-11 16:00:00 │
|
||||
│ Market change │ 10.64% │
|
||||
└─────────────────────────────┴─────────────────────┘
|
||||
|
||||
Backtested 2025-11-05 16:00:00 -> 2025-11-11 16:00:00 | Max open trades : 5
|
||||
STRATEGY SUMMARY
|
||||
┏━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃
|
||||
┡━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩
|
||||
│ FreqaiPrimer │ 7 │ 1.48 │ 36.371 │ 1.82 │ 22:36:00 │ 5 0 2 71.4 │ 13.27 USDT 0.65% │
|
||||
└──────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴───────────────────┘
|
||||
Loading…
x
Reference in New Issue
Block a user