custom_exit_price签名修复
This commit is contained in:
parent
17e99c7ac8
commit
cfbbf11820
@ -931,10 +931,11 @@ class FreqaiPrimer(IStrategy):
|
||||
adjusted_rate = proposed_rate * (1 - 0.0015)
|
||||
self.strategy_log(f"[{pair}] 自定义买入价:{adjusted_rate:.6f}(原价:{proposed_rate:.6f})")
|
||||
return adjusted_rate
|
||||
def custom_exit_price(self, pair: str, trade: Trade | None, current_time: datetime, proposed_rate: float,
|
||||
entry_tag: str | None, side: str, **kwargs) -> float:
|
||||
def custom_exit_price(self, pair: str, trade: Trade, current_time: datetime, proposed_rate: float,
|
||||
current_profit: float, exit_tag: str | None, **kwargs) -> float:
|
||||
"""自定义出场价格:向上浮动 0.15%"""
|
||||
adjusted_rate = proposed_rate * (1 + 0.0015)
|
||||
self.strategy_log(f"[{pair}] 自定义买入价:{adjusted_rate:.6f}(原价:{proposed_rate:.6f})")
|
||||
self.strategy_log(f"[{pair}] 自定义卖出价:{adjusted_rate:.6f}(原价:{proposed_rate:.6f},利润:{current_profit:.2%})")
|
||||
return adjusted_rate
|
||||
|
||||
def confirm_trade_exit(
|
||||
|
||||
70
outputs/filted.log
Normal file
70
outputs/filted.log
Normal file
@ -0,0 +1,70 @@
|
||||
2026-01-07 09:25:24,336 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 91321.300000 | vs 5K高点: -0.13% | vs EMA5: +0.00% | 布林位置: 0.64 | RSI: 51.0 | MACD: down | 市场: strong_bull | ML概率: 0.28
|
||||
2026-01-07 09:25:24,337 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 91313.600000 | vs 5K高点: -0.14% | vs EMA5: +0.00% | 布林位置: 0.63 | RSI: 51.0 | MACD: down | 市场: strong_bull | ML概率: 0.29
|
||||
2026-01-07 09:25:24,338 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 91415.200000 | vs 5K高点: -0.05% | vs EMA5: +0.00% | 布林位置: 0.71 | RSI: 51.0 | MACD: down | 市场: strong_bull | ML概率: 0.28
|
||||
2026-01-07 09:25:24,338 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 91537.100000 | vs 5K高点: -0.60% | vs EMA5: +0.00% | 布林位置: 0.81 | RSI: 51.0 | MACD: down | 市场: strong_bull | ML概率: 0.28
|
||||
2026-01-07 09:25:24,339 - freqaiprimer - INFO - [入场诊断] BTC/USDT | 价格: 91939.700000 | vs 5K高点: -0.17% | vs EMA5: +0.00% | 布林位置: 1.04 | RSI: 69.5 | MACD: up | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:24,608 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.865000 | vs 5K高点: -0.37% | vs EMA5: +0.00% | 布林位置: 0.67 | RSI: 50.0 | MACD: down | 市场: strong_bull | ML概率: 0.54
|
||||
2026-01-07 09:25:24,608 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.865000 | vs 5K高点: -0.37% | vs EMA5: +0.00% | 布林位置: 0.67 | RSI: 50.0 | MACD: down | 市场: strong_bull | ML概率: 0.49
|
||||
2026-01-07 09:25:24,609 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.869000 | vs 5K高点: -0.16% | vs EMA5: +0.00% | 布林位置: 0.81 | RSI: 50.0 | MACD: down | 市场: strong_bull | ML概率: 0.49
|
||||
2026-01-07 09:25:24,609 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.865000 | vs 5K高点: -0.27% | vs EMA5: +0.00% | 布林位置: 0.67 | RSI: 50.0 | MACD: down | 市场: strong_bull | ML概率: 0.51
|
||||
2026-01-07 09:25:24,610 - freqaiprimer - INFO - [入场诊断] TON/USDT | 价格: 1.873000 | vs 5K高点: -0.16% | vs EMA5: +0.00% | 布林位置: 0.93 | RSI: 56.0 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:24,873 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 2.140000 | vs 5K高点: -0.19% | vs EMA5: +0.00% | 布林位置: 0.45 | RSI: 49.3 | MACD: down | 市场: strong_bull | ML概率: 0.12
|
||||
2026-01-07 09:25:24,874 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 2.140000 | vs 5K高点: -0.05% | vs EMA5: +0.00% | 布林位置: 0.45 | RSI: 49.3 | MACD: down | 市场: strong_bull | ML概率: 0.11
|
||||
2026-01-07 09:25:24,875 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 2.141000 | vs 5K高点: -0.14% | vs EMA5: +0.00% | 布林位置: 0.47 | RSI: 49.3 | MACD: down | 市场: strong_bull | ML概率: 0.09
|
||||
2026-01-07 09:25:24,875 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 2.144000 | vs 5K高点: -0.60% | vs EMA5: +0.00% | 布林位置: 0.54 | RSI: 49.3 | MACD: down | 市场: strong_bull | ML概率: -0.01
|
||||
2026-01-07 09:25:24,876 - freqaiprimer - INFO - [入场诊断] DOT/USDT | 价格: 2.152000 | vs 5K高点: -0.23% | vs EMA5: +0.00% | 布林位置: 0.70 | RSI: 56.5 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:25,145 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 2.091900 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: 0.74 | RSI: 59.8 | MACD: down | 市场: strong_bull | ML概率: 0.11
|
||||
2026-01-07 09:25:25,146 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 2.091500 | vs 5K高点: -0.08% | vs EMA5: +0.00% | 布林位置: 0.74 | RSI: 59.8 | MACD: down | 市场: strong_bull | ML概率: 0.16
|
||||
2026-01-07 09:25:25,146 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 2.090400 | vs 5K高点: -0.13% | vs EMA5: +0.00% | 布林位置: 0.73 | RSI: 59.8 | MACD: down | 市场: strong_bull | ML概率: 0.15
|
||||
2026-01-07 09:25:25,147 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 2.090700 | vs 5K高点: -0.43% | vs EMA5: +0.00% | 布林位置: 0.73 | RSI: 59.8 | MACD: down | 市场: strong_bull | ML概率: 0.11
|
||||
2026-01-07 09:25:25,147 - freqaiprimer - INFO - [入场诊断] XRP/USDT | 价格: 2.096400 | vs 5K高点: -0.16% | vs EMA5: +0.00% | 布林位置: 0.75 | RSI: 65.7 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:25,404 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 133.870000 | vs 5K高点: -0.37% | vs EMA5: +0.00% | 布林位置: 0.47 | RSI: 45.7 | MACD: down | 市场: strong_bull | ML概率: 0.26
|
||||
2026-01-07 09:25:25,405 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 134.030000 | vs 5K高点: -0.13% | vs EMA5: +0.00% | 布林位置: 0.52 | RSI: 45.7 | MACD: down | 市场: strong_bull | ML概率: 0.19
|
||||
2026-01-07 09:25:25,406 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 134.010000 | vs 5K高点: -0.13% | vs EMA5: +0.00% | 布林位置: 0.52 | RSI: 45.7 | MACD: down | 市场: strong_bull | ML概率: 0.23
|
||||
2026-01-07 09:25:25,407 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 133.920000 | vs 5K高点: -0.20% | vs EMA5: +0.00% | 布林位置: 0.48 | RSI: 45.7 | MACD: down | 市场: strong_bull | ML概率: 0.31
|
||||
2026-01-07 09:25:25,407 - freqaiprimer - INFO - [入场诊断] SOL/USDT | 价格: 134.100000 | vs 5K高点: -0.55% | vs EMA5: +0.00% | 布林位置: 0.55 | RSI: 45.7 | MACD: down | 市场: strong_bull | ML概率: 0.07
|
||||
2026-01-07 09:25:25,666 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.149310 | vs 5K高点: -0.27% | vs EMA5: +0.00% | 布林位置: 0.52 | RSI: 36.2 | MACD: down | 市场: strong_bull | ML概率: 0.06
|
||||
2026-01-07 09:25:25,667 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.149360 | vs 5K高点: -0.21% | vs EMA5: +0.00% | 布林位置: 0.52 | RSI: 36.2 | MACD: down | 市场: strong_bull | ML概率: 0.04
|
||||
2026-01-07 09:25:25,667 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.149340 | vs 5K高点: -0.23% | vs EMA5: +0.00% | 布林位置: 0.52 | RSI: 36.2 | MACD: down | 市场: strong_bull | ML概率: 0.08
|
||||
2026-01-07 09:25:25,668 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.149500 | vs 5K高点: -0.61% | vs EMA5: +0.00% | 布林位置: 0.54 | RSI: 36.2 | MACD: down | 市场: strong_bull | ML概率: 0.03
|
||||
2026-01-07 09:25:25,668 - freqaiprimer - INFO - [入场诊断] DOGE/USDT | 价格: 0.150160 | vs 5K高点: -0.17% | vs EMA5: +0.00% | 布林位置: 0.57 | RSI: 50.4 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:25,936 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.082490 | vs 5K高点: -0.18% | vs EMA5: +0.00% | 布林位置: 0.16 | RSI: 46.8 | MACD: down | 市场: strong_bull | ML概率: 0.14
|
||||
2026-01-07 09:25:25,937 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.082570 | vs 5K高点: -0.08% | vs EMA5: +0.00% | 布林位置: 0.19 | RSI: 46.8 | MACD: down | 市场: strong_bull | ML概率: 0.14
|
||||
2026-01-07 09:25:25,938 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.082560 | vs 5K高点: -0.15% | vs EMA5: +0.00% | 布林位置: 0.18 | RSI: 46.8 | MACD: down | 市场: strong_bull | ML概率: 0.17
|
||||
2026-01-07 09:25:25,938 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.082650 | vs 5K高点: -0.72% | vs EMA5: +0.00% | 布林位置: 0.21 | RSI: 46.8 | MACD: down | 市场: strong_bull | ML概率: 0.08
|
||||
2026-01-07 09:25:25,939 - freqaiprimer - INFO - [入场诊断] WCT/USDT | 价格: 0.083060 | vs 5K高点: -0.23% | vs EMA5: +0.00% | 布林位置: 0.32 | RSI: 56.1 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:26,221 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.393000 | vs 5K高点: -0.20% | vs EMA5: +0.00% | 布林位置: 0.54 | RSI: 54.7 | MACD: down | 市场: strong_bull | ML概率: 0.31
|
||||
2026-01-07 09:25:26,222 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.402000 | vs 5K高点: -0.13% | vs EMA5: +0.00% | 布林位置: 0.59 | RSI: 54.7 | MACD: down | 市场: strong_bull | ML概率: 0.32
|
||||
2026-01-07 09:25:26,223 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.409000 | vs 5K高点: -0.22% | vs EMA5: +0.00% | 布林位置: 0.63 | RSI: 54.7 | MACD: down | 市场: strong_bull | ML概率: 0.34
|
||||
2026-01-07 09:25:26,223 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.421000 | vs 5K高点: -0.29% | vs EMA5: +0.00% | 布林位置: 0.70 | RSI: 54.7 | MACD: down | 市场: strong_bull | ML概率: 0.36
|
||||
2026-01-07 09:25:26,224 - freqaiprimer - INFO - [入场诊断] TRUMP/USDT | 价格: 5.425000 | vs 5K高点: -0.22% | vs EMA5: +0.00% | 布林位置: 0.72 | RSI: 53.9 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:26,481 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.691100 | vs 5K高点: -0.19% | vs EMA5: +0.00% | 布林位置: 0.49 | RSI: 49.1 | MACD: down | 市场: strong_bull | ML概率: 0.33
|
||||
2026-01-07 09:25:26,482 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.691400 | vs 5K高点: -0.17% | vs EMA5: +0.00% | 布林位置: 0.49 | RSI: 49.1 | MACD: down | 市场: strong_bull | ML概率: 0.34
|
||||
2026-01-07 09:25:26,482 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.691200 | vs 5K高点: -0.18% | vs EMA5: +0.00% | 布林位置: 0.49 | RSI: 49.1 | MACD: down | 市场: strong_bull | ML概率: 0.39
|
||||
2026-01-07 09:25:26,483 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.694000 | vs 5K高点: -0.51% | vs EMA5: +0.00% | 布林位置: 0.53 | RSI: 49.1 | MACD: down | 市场: strong_bull | ML概率: 0.14
|
||||
2026-01-07 09:25:26,483 - freqaiprimer - INFO - [入场诊断] SUI/USDT | 价格: 1.701500 | vs 5K高点: -0.06% | vs EMA5: +0.00% | 布林位置: 0.61 | RSI: 56.8 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:26,740 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000007 | vs 5K高点: -0.41% | vs EMA5: +0.00% | 布林位置: 0.91 | RSI: 76.4 | MACD: up | 市场: strong_bull | ML概率: 0.06
|
||||
2026-01-07 09:25:26,741 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000007 | vs 5K高点: -0.33% | vs EMA5: +0.00% | 布林位置: 0.92 | RSI: 76.4 | MACD: up | 市场: strong_bull | ML概率: 0.15
|
||||
2026-01-07 09:25:26,742 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000007 | vs 5K高点: -0.09% | vs EMA5: +0.00% | 布林位置: 0.93 | RSI: 76.4 | MACD: up | 市场: strong_bull | ML概率: 0.08
|
||||
2026-01-07 09:25:26,742 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000007 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: 0.94 | RSI: 76.4 | MACD: up | 市场: strong_bull | ML概率: 0.13
|
||||
2026-01-07 09:25:26,743 - freqaiprimer - INFO - [入场诊断] PEPE/USDT | 价格: 0.000007 | vs 5K高点: -0.16% | vs EMA5: +0.00% | 布林位置: 0.93 | RSI: 76.4 | MACD: up | 市场: strong_bull | ML概率: 0.14
|
||||
2026-01-07 09:25:26,998 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 21.870000 | vs 5K高点: -0.41% | vs EMA5: +0.00% | 布林位置: 0.42 | RSI: 55.1 | MACD: down | 市场: strong_bull | ML概率: 0.04
|
||||
2026-01-07 09:25:26,999 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 21.870000 | vs 5K高点: -0.41% | vs EMA5: +0.00% | 布林位置: 0.42 | RSI: 55.1 | MACD: down | 市场: strong_bull | ML概率: 0.03
|
||||
2026-01-07 09:25:27,000 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 21.870000 | vs 5K高点: -0.32% | vs EMA5: +0.00% | 布林位置: 0.42 | RSI: 55.1 | MACD: down | 市场: strong_bull | ML概率: 0.03
|
||||
2026-01-07 09:25:27,000 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 21.930000 | vs 5K高点: -0.72% | vs EMA5: +0.00% | 布林位置: 0.50 | RSI: 55.1 | MACD: down | 市场: strong_bull | ML概率: -0.06
|
||||
2026-01-07 09:25:27,001 - freqaiprimer - INFO - [入场诊断] TRB/USDT | 价格: 22.050000 | vs 5K高点: -0.18% | vs EMA5: +0.00% | 布林位置: 0.66 | RSI: 63.1 | MACD: down | 市场: strong_bull | ML概率: 0.00
|
||||
2026-01-07 09:25:27,259 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.657800 | vs 5K高点: -0.60% | vs EMA5: +0.00% | 布林位置: 0.73 | RSI: 54.7 | MACD: up | 市场: strong_bull | ML概率: 0.50
|
||||
2026-01-07 09:25:27,260 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.657800 | vs 5K高点: -0.44% | vs EMA5: +0.00% | 布林位置: 0.73 | RSI: 54.7 | MACD: up | 市场: strong_bull | ML概率: 0.48
|
||||
2026-01-07 09:25:27,261 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.658400 | vs 5K高点: -0.24% | vs EMA5: +0.00% | 布林位置: 0.77 | RSI: 54.7 | MACD: up | 市场: strong_bull | ML概率: 0.47
|
||||
2026-01-07 09:25:27,261 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.659300 | vs 5K高点: +0.00% | vs EMA5: +0.00% | 布林位置: 0.81 | RSI: 54.7 | MACD: up | 市场: strong_bull | ML概率: 0.45
|
||||
2026-01-07 09:25:27,262 - freqaiprimer - INFO - [入场诊断] MASK/USDT | 价格: 0.659300 | vs 5K高点: -0.03% | vs EMA5: +0.00% | 布林位置: 0.81 | RSI: 54.7 | MACD: up | 市场: strong_bull | ML概率: 0.43
|
||||
2026-01-07 09:25:27,538 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.826000 | vs 5K高点: -0.34% | vs EMA5: +0.00% | 布林位置: -0.03 | RSI: 43.6 | MACD: down | 市场: weak_bull | ML概率: 0.65
|
||||
2026-01-07 09:25:27,539 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.834000 | vs 5K高点: -0.15% | vs EMA5: +0.00% | 布林位置: 0.02 | RSI: 43.6 | MACD: down | 市场: weak_bull | ML概率: 0.57
|
||||
2026-01-07 09:25:27,539 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.837000 | vs 5K高点: -0.10% | vs EMA5: +0.00% | 布林位置: 0.04 | RSI: 43.6 | MACD: down | 市场: weak_bull | ML概率: 0.58
|
||||
2026-01-07 09:25:27,540 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.838000 | vs 5K高点: -0.32% | vs EMA5: +0.00% | 布林位置: 0.05 | RSI: 43.6 | MACD: down | 市场: weak_bull | ML概率: 0.59
|
||||
2026-01-07 09:25:27,541 - freqaiprimer - INFO - [入场诊断] UNI/USDT | 价格: 5.851000 | vs 5K高点: -0.70% | vs EMA5: +0.00% | 布林位置: 0.13 | RSI: 43.6 | MACD: down | 市场: weak_bull | ML概率: 0.55
|
||||
2026-01-07 09:25:27,797 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.541700 | vs 5K高点: -0.24% | vs EMA5: +0.00% | 布林位置: -0.12 | RSI: 28.3 | MACD: down | 市场: weak_bull | ML概率: 0.39
|
||||
2026-01-07 09:25:27,798 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.542000 | vs 5K高点: -0.40% | vs EMA5: +0.00% | 布林位置: -0.10 | RSI: 28.3 | MACD: down | 市场: weak_bull | ML概率: 0.41
|
||||
2026-01-07 09:25:27,799 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.543300 | vs 5K高点: -0.17% | vs EMA5: +0.00% | 布林位置: -0.03 | RSI: 28.3 | MACD: down | 市场: weak_bull | ML概率: 0.37
|
||||
2026-01-07 09:25:27,799 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.543000 | vs 5K高点: -0.49% | vs EMA5: +0.00% | 布林位置: -0.04 | RSI: 28.3 | MACD: down | 市场: weak_bull | ML概率: 0.38
|
||||
2026-01-07 09:25:27,800 - freqaiprimer - INFO - [入场诊断] KAITO/USDT | 价格: 0.544500 | vs 5K高点: -0.22% | vs EMA5: +0.00% | 布林位置: 0.09 | RSI: 35.2 | MACD: down | 市场: weak_bull | ML概率: 0.00
|
||||
193
tools/analyze_entry_diagnostics.py
Normal file
193
tools/analyze_entry_diagnostics.py
Normal file
@ -0,0 +1,193 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
入场诊断统计分析脚本
|
||||
分析回测日志中的入场诊断数据,生成统计报告
|
||||
"""
|
||||
import re
|
||||
import sys
|
||||
from collections import defaultdict
|
||||
|
||||
def parse_log_file(log_file):
|
||||
"""解析日志文件,提取入场诊断数据"""
|
||||
entries = []
|
||||
|
||||
with open(log_file, 'r', encoding='utf-8') as f:
|
||||
for line in f:
|
||||
if '[入场诊断]' not in line:
|
||||
continue
|
||||
|
||||
entry = {}
|
||||
|
||||
# 提取币对
|
||||
pair_match = re.search(r'\[入场诊断\]\s+(\S+)\s+\|', line)
|
||||
if pair_match:
|
||||
entry['pair'] = pair_match.group(1)
|
||||
|
||||
# 提取价格
|
||||
price_match = re.search(r'价格:\s+([0-9.]+)', line)
|
||||
if price_match:
|
||||
entry['price'] = float(price_match.group(1))
|
||||
|
||||
# 提取 vs 5K高点
|
||||
high_match = re.search(r'vs 5K高点:\s+([+-]?[0-9.]+)%', line)
|
||||
if high_match:
|
||||
entry['vs_5k_high'] = float(high_match.group(1))
|
||||
|
||||
# 提取 vs EMA5
|
||||
ema_match = re.search(r'vs EMA5:\s+([+-]?[0-9.]+)%', line)
|
||||
if ema_match:
|
||||
entry['vs_ema5'] = float(ema_match.group(1))
|
||||
|
||||
# 提取布林位置
|
||||
bb_match = re.search(r'布林位置:\s+([0-9.-]+)', line)
|
||||
if bb_match:
|
||||
entry['bb_position'] = float(bb_match.group(1))
|
||||
|
||||
# 提取 RSI
|
||||
rsi_match = re.search(r'RSI:\s+([0-9.]+)', line)
|
||||
if rsi_match:
|
||||
entry['rsi'] = float(rsi_match.group(1))
|
||||
|
||||
# 提取 MACD
|
||||
macd_match = re.search(r'MACD:\s+(\w+)', line)
|
||||
if macd_match:
|
||||
entry['macd'] = macd_match.group(1)
|
||||
|
||||
# 提取市场状态
|
||||
market_match = re.search(r'市场:\s+(\w+)', line)
|
||||
if market_match:
|
||||
entry['market_state'] = market_match.group(1)
|
||||
|
||||
# 提取 ML概率
|
||||
ml_match = re.search(r'ML概率:\s+([0-9.-]+)', line)
|
||||
if ml_match:
|
||||
entry['ml_prob'] = float(ml_match.group(1))
|
||||
|
||||
if entry:
|
||||
entries.append(entry)
|
||||
|
||||
return entries
|
||||
|
||||
def analyze_entries(entries):
|
||||
"""分析入场数据,生成统计报告"""
|
||||
if not entries:
|
||||
print("❌ 没有找到入场诊断数据")
|
||||
return
|
||||
|
||||
total = len(entries)
|
||||
|
||||
# 统计各项指标
|
||||
bb_over_1 = sum(1 for e in entries if e.get('bb_position', 0) > 1.0)
|
||||
bb_over_0_8 = sum(1 for e in entries if e.get('bb_position', 0) > 0.8)
|
||||
|
||||
rsi_over_70 = sum(1 for e in entries if e.get('rsi', 0) > 70)
|
||||
rsi_over_60 = sum(1 for e in entries if e.get('rsi', 0) > 60)
|
||||
|
||||
high_positive = sum(1 for e in entries if e.get('vs_5k_high', -1) > 0)
|
||||
high_near_zero = sum(1 for e in entries if -0.1 <= e.get('vs_5k_high', -1) <= 0)
|
||||
|
||||
ml_zero = sum(1 for e in entries if e.get('ml_prob', -1) == 0.0)
|
||||
ml_very_low = sum(1 for e in entries if 0 < e.get('ml_prob', -1) < 0.2)
|
||||
ml_low = sum(1 for e in entries if 0.2 <= e.get('ml_prob', -1) < 0.5)
|
||||
ml_medium = sum(1 for e in entries if 0.5 <= e.get('ml_prob', -1) < 0.7)
|
||||
ml_high = sum(1 for e in entries if e.get('ml_prob', -1) >= 0.7)
|
||||
|
||||
macd_up = sum(1 for e in entries if e.get('macd') == 'up')
|
||||
macd_down = sum(1 for e in entries if e.get('macd') == 'down')
|
||||
|
||||
# 市场状态统计
|
||||
market_states = defaultdict(int)
|
||||
for e in entries:
|
||||
if 'market_state' in e:
|
||||
market_states[e['market_state']] += 1
|
||||
|
||||
# 币对统计
|
||||
pair_counts = defaultdict(int)
|
||||
for e in entries:
|
||||
if 'pair' in e:
|
||||
pair_counts[e['pair']] += 1
|
||||
|
||||
# 打印报告
|
||||
print("=" * 80)
|
||||
print(f"📊 入场诊断统计报告(共 {total} 条候选入场)")
|
||||
print("=" * 80)
|
||||
|
||||
print("\n【1. 布林位置分布】")
|
||||
print(f" 布林位置 > 1.0 (布林上轨之上): {bb_over_1:3d}/{total} ({bb_over_1*100//total:2d}%)")
|
||||
print(f" 布林位置 > 0.8 (接近上轨): {bb_over_0_8:3d}/{total} ({bb_over_0_8*100//total:2d}%)")
|
||||
print(f" 布林位置 ≤ 0.8 (相对安全): {total-bb_over_0_8:3d}/{total} ({(total-bb_over_0_8)*100//total:2d}%)")
|
||||
if bb_over_1 > total * 0.1:
|
||||
print(f" ⚠️ 警告:{bb_over_1*100//total}% 的入场在布林上轨之上(追高风险)")
|
||||
|
||||
print("\n【2. RSI 超买分布】")
|
||||
print(f" RSI > 70 (严重超买): {rsi_over_70:3d}/{total} ({rsi_over_70*100//total:2d}%)")
|
||||
print(f" RSI > 60 (轻度超买): {rsi_over_60:3d}/{total} ({rsi_over_60*100//total:2d}%)")
|
||||
print(f" RSI ≤ 60 (正常/超卖): {total-rsi_over_60:3d}/{total} ({(total-rsi_over_60)*100//total:2d}%)")
|
||||
if rsi_over_70 > total * 0.2:
|
||||
print(f" ⚠️ 警告:{rsi_over_70*100//total}% 的入场 RSI 超过 70(超买风险)")
|
||||
|
||||
print("\n【3. 短期高点位置】")
|
||||
print(f" vs 5K高点 > 0 (买在高位): {high_positive:3d}/{total} ({high_positive*100//total:2d}%)")
|
||||
print(f" vs 5K高点 [-0.1%, 0] (接近): {high_near_zero:3d}/{total} ({high_near_zero*100//total:2d}%)")
|
||||
print(f" vs 5K高点 < -0.1% (回调后): {total-high_positive-high_near_zero:3d}/{total} ({(total-high_positive-high_near_zero)*100//total:2d}%)")
|
||||
if high_positive > total * 0.05:
|
||||
print(f" ⚠️ 警告:{high_positive*100//total}% 的入场买在短期高点之上")
|
||||
|
||||
print("\n【4. ML 置信度分布】")
|
||||
print(f" ML 概率 = 0.00 (完全不看好): {ml_zero:3d}/{total} ({ml_zero*100//total:2d}%)")
|
||||
print(f" ML 概率 (0, 0.2) (极低): {ml_very_low:3d}/{total} ({ml_very_low*100//total:2d}%)")
|
||||
print(f" ML 概率 [0.2, 0.5) (低): {ml_low:3d}/{total} ({ml_low*100//total:2d}%)")
|
||||
print(f" ML 概率 [0.5, 0.7) (中): {ml_medium:3d}/{total} ({ml_medium*100//total:2d}%)")
|
||||
print(f" ML 概率 >= 0.7 (高): {ml_high:3d}/{total} ({ml_high*100//total:2d}%)")
|
||||
print(f" ML 概率 < 0.5 小计: {ml_zero+ml_very_low+ml_low:3d}/{total} ({(ml_zero+ml_very_low+ml_low)*100//total:2d}%)")
|
||||
if ml_zero + ml_very_low + ml_low > total * 0.7:
|
||||
print(f" ⚠️ 警告:{(ml_zero+ml_very_low+ml_low)*100//total}% 的候选入场 ML 置信度 < 0.5")
|
||||
|
||||
print("\n【5. MACD 趋势】")
|
||||
print(f" MACD 上升 (up): {macd_up:3d}/{total} ({macd_up*100//total:2d}%)")
|
||||
print(f" MACD 下降 (down): {macd_down:3d}/{total} ({macd_down*100//total:2d}%)")
|
||||
|
||||
print("\n【6. 市场状态分布】")
|
||||
for state, count in sorted(market_states.items(), key=lambda x: -x[1]):
|
||||
print(f" {state:15s}: {count:3d}/{total} ({count*100//total:2d}%)")
|
||||
|
||||
print("\n【7. 币对分布(Top 10)】")
|
||||
for pair, count in sorted(pair_counts.items(), key=lambda x: -x[1])[:10]:
|
||||
print(f" {pair:15s}: {count:3d}/{total} ({count*100//total:2d}%)")
|
||||
|
||||
print("\n" + "=" * 80)
|
||||
print("💡 建议:")
|
||||
|
||||
if bb_over_1 > total * 0.1:
|
||||
print(f" • 建议添加布林位置过滤:bb_position <= 0.8")
|
||||
|
||||
if rsi_over_70 > total * 0.2:
|
||||
print(f" • 建议添加 RSI 过滤:rsi <= 65 或 70")
|
||||
|
||||
if high_positive > total * 0.05:
|
||||
print(f" • 建议添加短期高点过滤:vs_5k_high <= 0")
|
||||
|
||||
if ml_zero + ml_very_low + ml_low > total * 0.7:
|
||||
print(f" • ML 审核官可能阈值过低,建议提高 ml_entry_signal_threshold")
|
||||
|
||||
print("=" * 80)
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 2:
|
||||
print("用法: python analyze_entry_diagnostics.py <日志文件路径>")
|
||||
print("示例: python analyze_entry_diagnostics.py outputs/filted.log")
|
||||
sys.exit(1)
|
||||
|
||||
log_file = sys.argv[1]
|
||||
|
||||
try:
|
||||
entries = parse_log_file(log_file)
|
||||
analyze_entries(entries)
|
||||
except FileNotFoundError:
|
||||
print(f"❌ 错误:找不到文件 {log_file}")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"❌ 错误:{e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
sys.exit(1)
|
||||
Loading…
x
Reference in New Issue
Block a user