diff --git a/config.py b/config.py index 70b1933..bab2ac2 100644 --- a/config.py +++ b/config.py @@ -142,14 +142,14 @@ SIGNAL_THRESHOLDS = { # 风险管理参数(优化器结果 2026-05-10,5万根M1数据) RISK_CONFIG = { - # ★ 以下百分比均为保证金%(开仓成本%),非金价涨跌%、非账户% - # risk_leverage 控制计算杠杆:设100则0.01手按$47保证金算% - # 例:亏损$25 / 保证金$47 = -53%,而不是 $25/账户$1682=-1.5% - "risk_leverage": 100, # 计算杠杆(实际杠杆不变,仅影响%基准) - "stop_loss_pct": -0.50, # -50% 保证金(亏一半保证金就平) + # ★ 以下百分比均为保证金%(开仓成本%),非金价涨跌% + # 杠杆统一 2000x:0.01手保证金≈$2.33 + # -50%保证金 = -$1.17 ≈ 1.2点(很紧,但2000x下正常) + "risk_leverage": 0, # 0=自动读MT5杠杆(2000x) + "stop_loss_pct": -0.50, # -50% 保证金 "profit_retracement_pct": 0.35, # 35% 保证金(拖尾回撤容忍) "min_profit_for_trailing": 0.70, # +70% 保证金后激活拖尾 - "take_profit_pct": 1.00, # +100% 保证金(赚一倍保证金就平) + "take_profit_pct": 1.00, # +100% 保证金 "max_daily_loss": -0.3, "max_holding_minutes": 133, "min_profit_for_time_exit": 0.010, diff --git a/config_backups/config_20260515_020001.py b/config_backups/config_20260515_020001.py new file mode 100644 index 0000000..70b1933 --- /dev/null +++ b/config_backups/config_20260515_020001.py @@ -0,0 +1,297 @@ +# MT5 代理服务配置 +SERVER_HOST = "0.0.0.0" +SERVER_PORT = 5555 + +# 远端客户端配置(迁移到其他电脑时填写 MT5 机器的 IP) +REMOTE_SERVER_HOST = "192.168.1.5" +REMOTE_SERVER_PORT = 5555 + +# 数据提供者模式: "remote" (远程HTTP API) / "local" (本机MT5) +DATA_PROVIDER_MODE = "remote" + +# 交易配置 +SYMBOL = "XAUUSDz" +INITIAL_CAPITAL = 2054 # 初始资金(5月12日 实盘余额 $2054.23) + +# 时间配置 +TIMEFRAME = 1# M1 (1分钟图) - MT5常量值 + +# 回测时间范围 (格式: "YYYY-MM-DD") +BACKTEST_START_DATE = "2025-05-01" +BACKTEST_END_DATE = "2025-08-01" + +# 优化器时间范围 (格式: "YYYY-MM-DD") +OPTIMIZER_START_DATE = "2025-04-01" +OPTIMIZER_END_DATE = "2025-05-01" + +# 安全设置:如果日期获取失败,自动回退到数据量模式 +USE_DATE_RANGE = False # 设置为False可强制使用数据量模式 + +# 兼容性配置 (如果日期配置不可用,则使用数据量) +BACKTEST_COUNT = 30000 # 回测数据量 +OPTIMIZER_COUNT = 50000 # 优化器数据量 + +RISK_CONFIG_CONST = { + 'enable_time_based_exit': False # 关闭超时平仓,让止盈/止损/跟踪止损接管 +} + +# 资金分配配置 +CAPITAL_ALLOCATION = { + "long_pct": 0.7, # 多头持仓分配资金比例 + "short_pct": 0.3, # 空头持仓分配资金比例 +} + +# 模拟交易特定配置 (用于dry_run模式) +SIMULATION_CONFIG = { + "leverage": 100, # 模拟杠杆 + "contract_size": 1, # XAUUSD的合约大小 + "volume_step": 0.01, # 交易手数步长 + "volume_min": 0.01, # 最小交易手数 + "volume_max": 100.0, # 最大交易手数 + "spread": 16, # 点差(点数) +} + +# 回测配置 +BACKTEST_CONFIG = { + "trade_direction": "both", # 交易方向: "long"(只做多), "short"(只做空), "both"(多空都支持) + "spread": 16, # 点差(点数) +} + + +# 实时交易配置 +REALTIME_CONFIG = { + "update_interval": 5, # 更新间隔(秒) + "daily_reset_time": "00:00", # 每日重置时间 + "max_long_positions": 1, # 同方向只持一单,避免重复开仓 + "max_short_positions": 1, # 同方向只持一单 + "min_trade_interval": 0, # 最小交易间隔(分钟),0表示无限制 + "enable_auto_trading": True, # 是否启用自动交易 + "dry_run": False, # 是否为模拟运行(不实际下单) + "logging_level": "DEBUG", # 日志级别 + "trade_direction": "both", # 交易方向: "long"(只做多), "short"(只做空), "both"(多空都支持) +} + +# 对冲配置(信号对冲 + 回撤锁仓) +HEDGE_CONFIG = { + # ── 信号对冲 ── + "signal_hedge_enabled": True, # 启用信号对冲 + "signal_hedge_threshold": 2.0, # 加权信号绝对值超此值触发对冲 + "signal_hedge_ratio": 0.5, # 对冲手数比例 (0.5=半仓对冲) + "signal_unhedge_threshold": 1.0, # 信号回到此值以下解锁 + + # ── 回撤锁仓 ── + "drawdown_hedge_enabled": True, # 启用回撤锁仓 + "drawdown_hedge_pct": -0.003, # 浮亏超-0.3%触发锁仓 + "drawdown_hedge_ratio": 1.0, # 锁仓比例 (1.0=全额锁仓) + + # ── 对冲单止盈 ── + "hedge_take_profit_pct": 0.005, # 对冲单自身盈利0.5%止盈 + + # ── 锁仓管理 ── + "lock_net_profit_pct": 0.0, # 锁仓组合净盈利>0→双平离场 + + # ── 风控限制 ── + "max_hedges_per_day": 5, # 每日最多对冲5次 +} + + +# 数据获取配置 +DATA_CONFIG = { + "m1_bars_count": 5000, # 1分钟K线数据获取数量 +} + + +# 遗传算法优化器配置 +GENETIC_OPTIMIZER_CONFIG = { + # 算法参数 + "population_size": 50, # 种群大小 + "generations": 10, # 进化代数 + "crossover_probability": 0.7, # 交叉概率 + "mutation_probability": 0.3, # 变异概率 + + # 选择算法参数 + "tournament_size": 3, # 锦标赛选择大小 + + # 变异算法参数 + "mutation_mu": 0, # 变异均值 + "mutation_sigma": 0.1, # 变异标准差 + "mutation_indpb": 0.1, # 变异概率(每个基因) + + # 并行处理 + "enable_multiprocessing": True, # 启用多进程 + "processes": None, # 进程数,None表示自动检测 + + # 输出控制 + "verbose": True, # 详细输出 + "save_generation_info": True, # 保存代数信息 +} + + +''' +此处上面的是固定的参数,可手动调整 +-------------------------------------------------------- +此处下面所有参数,都将进入优化器进行优化 +''' + +# 信号阈值配置(优化器结果 2026-05-10,5万根M1数据) +SIGNAL_THRESHOLDS = { + "buy_threshold": 1.0315663601353515, + "sell_threshold": -2.312867704316165 +} + + +# 风险管理参数(优化器结果 2026-05-10,5万根M1数据) +RISK_CONFIG = { + # ★ 以下百分比均为保证金%(开仓成本%),非金价涨跌%、非账户% + # risk_leverage 控制计算杠杆:设100则0.01手按$47保证金算% + # 例:亏损$25 / 保证金$47 = -53%,而不是 $25/账户$1682=-1.5% + "risk_leverage": 100, # 计算杠杆(实际杠杆不变,仅影响%基准) + "stop_loss_pct": -0.50, # -50% 保证金(亏一半保证金就平) + "profit_retracement_pct": 0.35, # 35% 保证金(拖尾回撤容忍) + "min_profit_for_trailing": 0.70, # +70% 保证金后激活拖尾 + "take_profit_pct": 1.00, # +100% 保证金(赚一倍保证金就平) + "max_daily_loss": -0.3, + "max_holding_minutes": 133, + "min_profit_for_time_exit": 0.010, + "cooldown_bars": 30, + # ★ 硬止损倍率:MT5 服务器端 SL/TP = 软止损 × 倍率(兜底,仅 EA 挂掉时触发) + "hard_sl_multiplier": 1.5, # 硬 SL = 软 SL × 1.5(-1.5%→-2.25%账户) + "hard_tp_multiplier": 1.3, # 硬 TP = 软 TP × 1.3(+3.0%→+3.9%账户) +} + +# 市场状态分析参数 +MARKET_STATE_CONFIG = { + "trend_period": 83, + "retracement_tolerance": 0.15567164907853615, + "volume_period": 29, + "volume_ma_period": 23 +} + +# 策略参数配置(优化器结果 2026-05-10,5万根M1数据) +STRATEGY_CONFIG = { + "ma_cross": { + "short_window": 13, + "long_window": 17 + }, + "rsi": { + "period": 30, + "overbought": 68, + "oversold": 32 + }, + "bollinger": { + "period": 20, + "std_dev": 2.4663422649047333 + }, + "macd": { + "fast_ema": 14, + "slow_ema": 24, + "signal_period": 9 + }, + "mean_reversion": { + "period": 29, + "std_dev": 2.149 + }, + "momentum_breakout": { + "period": 15, + "momentum_period": 13 + }, + "kdj": { + "period": 21 + }, + "turtle": { + "period": 42 + }, + "daily_breakout": { + "bars_count": 2008 + }, + "wave_theory": { + "ema_short": 3, + "ema_medium": 11, + "ema_long": 46, + "wave_period": 11, + "range_period": 35, + "adx_period": 20, + "momentum_period": 10, + "range_threshold": 0.01, + "adx_threshold": 21 + } +} + +# 市场趋势判断权重配置 +TREND_INDICATOR_WEIGHTS = { + "price_breakout": 0.1504199442999585, + "volume_confirmation": 0.12782205952949638, + "momentum oscillator": 0.3677, + "moving_average": 0.4092273363154768 +} + +# 趋势判断阈值 +TREND_THRESHOLDS = { + "strong_trend": 0.7940886082643032, + "weak_trend": 0.4565953163045441, + "volume_spike": 2.7329673335105396, + "oversold": 32, + "overbought": 68 +} + + +# 动态权重配置(优化器结果 2026-05-10,5万根M1数据) +DEFAULT_WEIGHTS = { + "ma_cross": 0.32048324544087786, + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "mean_reversion": 1.1649306516234597, + "momentum_breakout": 0.8769099086178171, + "macd": 0.748930985323352, + "kdj": 1.4647470623067596, + "turtle": 1.637931136008917, + "daily_breakout": 1.478598649389487, + "wave_theory": 0.818283180489803 +} + +# 市场状态策略权重配置 +MARKET_STATE_WEIGHTS = { + "uptrend": { + "ma_cross": 0.32048324544087786, + "momentum_breakout": 0.8769099086178171, + "turtle": 1.637931136008917, + "macd": 0.748930985323352, + "daily_breakout": 1.478598649389487, + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "kdj": 1.4647470623067596, + "mean_reversion": 1.1649306516234597, + "wave_theory": 0.818283180489803 + }, + "downtrend": { + "ma_cross": 0.32048324544087786, + "momentum_breakout": 0.8769099086178171, + "turtle": 1.637931136008917, + "macd": 0.748930985323352, + "daily_breakout": 1.478598649389487, + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "kdj": 1.4647470623067596, + "mean_reversion": 1.1649306516234597, + "wave_theory": 0.818283180489803 + }, + "ranging": { + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "mean_reversion": 1.1649306516234597, + "kdj": 1.4647470623067596, + "wave_theory": 0.818283180489803, + "ma_cross": 0.32048324544087786, + "macd": 0.748930985323352, + "turtle": 1.637931136008917, + "momentum_breakout": 0.8769099086178171, + "daily_breakout": 1.478598649389487 + }, + "none": DEFAULT_WEIGHTS +} + +# 市场趋势置信度阈值配置 +CONFIDENCE_THRESHOLDS = { + "high_confidence": 0.6813641209473742, + "medium_confidence": 0.6336441706563001 +} diff --git a/config_backups/config_20260515_080001.py b/config_backups/config_20260515_080001.py new file mode 100644 index 0000000..70b1933 --- /dev/null +++ b/config_backups/config_20260515_080001.py @@ -0,0 +1,297 @@ +# MT5 代理服务配置 +SERVER_HOST = "0.0.0.0" +SERVER_PORT = 5555 + +# 远端客户端配置(迁移到其他电脑时填写 MT5 机器的 IP) +REMOTE_SERVER_HOST = "192.168.1.5" +REMOTE_SERVER_PORT = 5555 + +# 数据提供者模式: "remote" (远程HTTP API) / "local" (本机MT5) +DATA_PROVIDER_MODE = "remote" + +# 交易配置 +SYMBOL = "XAUUSDz" +INITIAL_CAPITAL = 2054 # 初始资金(5月12日 实盘余额 $2054.23) + +# 时间配置 +TIMEFRAME = 1# M1 (1分钟图) - MT5常量值 + +# 回测时间范围 (格式: "YYYY-MM-DD") +BACKTEST_START_DATE = "2025-05-01" +BACKTEST_END_DATE = "2025-08-01" + +# 优化器时间范围 (格式: "YYYY-MM-DD") +OPTIMIZER_START_DATE = "2025-04-01" +OPTIMIZER_END_DATE = "2025-05-01" + +# 安全设置:如果日期获取失败,自动回退到数据量模式 +USE_DATE_RANGE = False # 设置为False可强制使用数据量模式 + +# 兼容性配置 (如果日期配置不可用,则使用数据量) +BACKTEST_COUNT = 30000 # 回测数据量 +OPTIMIZER_COUNT = 50000 # 优化器数据量 + +RISK_CONFIG_CONST = { + 'enable_time_based_exit': False # 关闭超时平仓,让止盈/止损/跟踪止损接管 +} + +# 资金分配配置 +CAPITAL_ALLOCATION = { + "long_pct": 0.7, # 多头持仓分配资金比例 + "short_pct": 0.3, # 空头持仓分配资金比例 +} + +# 模拟交易特定配置 (用于dry_run模式) +SIMULATION_CONFIG = { + "leverage": 100, # 模拟杠杆 + "contract_size": 1, # XAUUSD的合约大小 + "volume_step": 0.01, # 交易手数步长 + "volume_min": 0.01, # 最小交易手数 + "volume_max": 100.0, # 最大交易手数 + "spread": 16, # 点差(点数) +} + +# 回测配置 +BACKTEST_CONFIG = { + "trade_direction": "both", # 交易方向: "long"(只做多), "short"(只做空), "both"(多空都支持) + "spread": 16, # 点差(点数) +} + + +# 实时交易配置 +REALTIME_CONFIG = { + "update_interval": 5, # 更新间隔(秒) + "daily_reset_time": "00:00", # 每日重置时间 + "max_long_positions": 1, # 同方向只持一单,避免重复开仓 + "max_short_positions": 1, # 同方向只持一单 + "min_trade_interval": 0, # 最小交易间隔(分钟),0表示无限制 + "enable_auto_trading": True, # 是否启用自动交易 + "dry_run": False, # 是否为模拟运行(不实际下单) + "logging_level": "DEBUG", # 日志级别 + "trade_direction": "both", # 交易方向: "long"(只做多), "short"(只做空), "both"(多空都支持) +} + +# 对冲配置(信号对冲 + 回撤锁仓) +HEDGE_CONFIG = { + # ── 信号对冲 ── + "signal_hedge_enabled": True, # 启用信号对冲 + "signal_hedge_threshold": 2.0, # 加权信号绝对值超此值触发对冲 + "signal_hedge_ratio": 0.5, # 对冲手数比例 (0.5=半仓对冲) + "signal_unhedge_threshold": 1.0, # 信号回到此值以下解锁 + + # ── 回撤锁仓 ── + "drawdown_hedge_enabled": True, # 启用回撤锁仓 + "drawdown_hedge_pct": -0.003, # 浮亏超-0.3%触发锁仓 + "drawdown_hedge_ratio": 1.0, # 锁仓比例 (1.0=全额锁仓) + + # ── 对冲单止盈 ── + "hedge_take_profit_pct": 0.005, # 对冲单自身盈利0.5%止盈 + + # ── 锁仓管理 ── + "lock_net_profit_pct": 0.0, # 锁仓组合净盈利>0→双平离场 + + # ── 风控限制 ── + "max_hedges_per_day": 5, # 每日最多对冲5次 +} + + +# 数据获取配置 +DATA_CONFIG = { + "m1_bars_count": 5000, # 1分钟K线数据获取数量 +} + + +# 遗传算法优化器配置 +GENETIC_OPTIMIZER_CONFIG = { + # 算法参数 + "population_size": 50, # 种群大小 + "generations": 10, # 进化代数 + "crossover_probability": 0.7, # 交叉概率 + "mutation_probability": 0.3, # 变异概率 + + # 选择算法参数 + "tournament_size": 3, # 锦标赛选择大小 + + # 变异算法参数 + "mutation_mu": 0, # 变异均值 + "mutation_sigma": 0.1, # 变异标准差 + "mutation_indpb": 0.1, # 变异概率(每个基因) + + # 并行处理 + "enable_multiprocessing": True, # 启用多进程 + "processes": None, # 进程数,None表示自动检测 + + # 输出控制 + "verbose": True, # 详细输出 + "save_generation_info": True, # 保存代数信息 +} + + +''' +此处上面的是固定的参数,可手动调整 +-------------------------------------------------------- +此处下面所有参数,都将进入优化器进行优化 +''' + +# 信号阈值配置(优化器结果 2026-05-10,5万根M1数据) +SIGNAL_THRESHOLDS = { + "buy_threshold": 1.0315663601353515, + "sell_threshold": -2.312867704316165 +} + + +# 风险管理参数(优化器结果 2026-05-10,5万根M1数据) +RISK_CONFIG = { + # ★ 以下百分比均为保证金%(开仓成本%),非金价涨跌%、非账户% + # risk_leverage 控制计算杠杆:设100则0.01手按$47保证金算% + # 例:亏损$25 / 保证金$47 = -53%,而不是 $25/账户$1682=-1.5% + "risk_leverage": 100, # 计算杠杆(实际杠杆不变,仅影响%基准) + "stop_loss_pct": -0.50, # -50% 保证金(亏一半保证金就平) + "profit_retracement_pct": 0.35, # 35% 保证金(拖尾回撤容忍) + "min_profit_for_trailing": 0.70, # +70% 保证金后激活拖尾 + "take_profit_pct": 1.00, # +100% 保证金(赚一倍保证金就平) + "max_daily_loss": -0.3, + "max_holding_minutes": 133, + "min_profit_for_time_exit": 0.010, + "cooldown_bars": 30, + # ★ 硬止损倍率:MT5 服务器端 SL/TP = 软止损 × 倍率(兜底,仅 EA 挂掉时触发) + "hard_sl_multiplier": 1.5, # 硬 SL = 软 SL × 1.5(-1.5%→-2.25%账户) + "hard_tp_multiplier": 1.3, # 硬 TP = 软 TP × 1.3(+3.0%→+3.9%账户) +} + +# 市场状态分析参数 +MARKET_STATE_CONFIG = { + "trend_period": 83, + "retracement_tolerance": 0.15567164907853615, + "volume_period": 29, + "volume_ma_period": 23 +} + +# 策略参数配置(优化器结果 2026-05-10,5万根M1数据) +STRATEGY_CONFIG = { + "ma_cross": { + "short_window": 13, + "long_window": 17 + }, + "rsi": { + "period": 30, + "overbought": 68, + "oversold": 32 + }, + "bollinger": { + "period": 20, + "std_dev": 2.4663422649047333 + }, + "macd": { + "fast_ema": 14, + "slow_ema": 24, + "signal_period": 9 + }, + "mean_reversion": { + "period": 29, + "std_dev": 2.149 + }, + "momentum_breakout": { + "period": 15, + "momentum_period": 13 + }, + "kdj": { + "period": 21 + }, + "turtle": { + "period": 42 + }, + "daily_breakout": { + "bars_count": 2008 + }, + "wave_theory": { + "ema_short": 3, + "ema_medium": 11, + "ema_long": 46, + "wave_period": 11, + "range_period": 35, + "adx_period": 20, + "momentum_period": 10, + "range_threshold": 0.01, + "adx_threshold": 21 + } +} + +# 市场趋势判断权重配置 +TREND_INDICATOR_WEIGHTS = { + "price_breakout": 0.1504199442999585, + "volume_confirmation": 0.12782205952949638, + "momentum oscillator": 0.3677, + "moving_average": 0.4092273363154768 +} + +# 趋势判断阈值 +TREND_THRESHOLDS = { + "strong_trend": 0.7940886082643032, + "weak_trend": 0.4565953163045441, + "volume_spike": 2.7329673335105396, + "oversold": 32, + "overbought": 68 +} + + +# 动态权重配置(优化器结果 2026-05-10,5万根M1数据) +DEFAULT_WEIGHTS = { + "ma_cross": 0.32048324544087786, + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "mean_reversion": 1.1649306516234597, + "momentum_breakout": 0.8769099086178171, + "macd": 0.748930985323352, + "kdj": 1.4647470623067596, + "turtle": 1.637931136008917, + "daily_breakout": 1.478598649389487, + "wave_theory": 0.818283180489803 +} + +# 市场状态策略权重配置 +MARKET_STATE_WEIGHTS = { + "uptrend": { + "ma_cross": 0.32048324544087786, + "momentum_breakout": 0.8769099086178171, + "turtle": 1.637931136008917, + "macd": 0.748930985323352, + "daily_breakout": 1.478598649389487, + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "kdj": 1.4647470623067596, + "mean_reversion": 1.1649306516234597, + "wave_theory": 0.818283180489803 + }, + "downtrend": { + "ma_cross": 0.32048324544087786, + "momentum_breakout": 0.8769099086178171, + "turtle": 1.637931136008917, + "macd": 0.748930985323352, + "daily_breakout": 1.478598649389487, + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "kdj": 1.4647470623067596, + "mean_reversion": 1.1649306516234597, + "wave_theory": 0.818283180489803 + }, + "ranging": { + "rsi": 1.906009222972592, + "bollinger": 0.9232444456662969, + "mean_reversion": 1.1649306516234597, + "kdj": 1.4647470623067596, + "wave_theory": 0.818283180489803, + "ma_cross": 0.32048324544087786, + "macd": 0.748930985323352, + "turtle": 1.637931136008917, + "momentum_breakout": 0.8769099086178171, + "daily_breakout": 1.478598649389487 + }, + "none": DEFAULT_WEIGHTS +} + +# 市场趋势置信度阈值配置 +CONFIDENCE_THRESHOLDS = { + "high_confidence": 0.6813641209473742, + "medium_confidence": 0.6336441706563001 +} diff --git a/optimization_report_20260514_221508.txt b/optimization_report_20260514_221508.txt new file mode 100644 index 0000000..c809317 --- /dev/null +++ b/optimization_report_20260514_221508.txt @@ -0,0 +1,68 @@ +优化完成时间: 2026-05-14 22:15:08.950831 +最佳适应度: 3.33 + +最佳参数: + ma_cross_short_window: 11 + ma_cross_long_window: 55 + rsi_period: 11 + rsi_overbought: 65 + rsi_oversold: 29 + bollinger_period: 16 + bollinger_std_dev: 2.9083950058906556 + macd_fast_ema: 10 + macd_slow_ema: 28 + macd_signal_period: 6 + mean_reversion_period: 16 + mean_reversion_std_dev: 2.613625025971498 + momentum_breakout_period: 19 + momentum_breakout_momentum_period: 13 + kdj_period: 14 + turtle_period: 48 + wave_ema_short: 6 + wave_ema_medium: 19 + wave_ema_long: 30 + wave_period: 16 + wave_range_period: 31 + wave_adx_period: 18 + wave_momentum_period: 15 + wave_range_threshold: 0.005908254817195013 + wave_adx_threshold: 16 + daily_breakout_bars_count: 1098 + buy_threshold: 2.0857111182729855 + sell_threshold: -0.926629776569452 + stop_loss_pct: -0.960321914380855 + profit_retracement_pct: 0.33348957702356175 + min_profit_for_trailing: 0.5223934231928938 + take_profit_pct: 2.94949488457209 + max_holding_minutes: 71 + min_profit_for_time_exit: 0.15342156350262756 + weight_MACrossStrategy: 1.1033608422527825 + weight_RSIStrategy: 0.8568676545891594 + weight_BollingerStrategy: 1.1670658498913125 + weight_MeanReversionStrategy: 0.7239928874272219 + weight_MomentumBreakoutStrategy: 1.994651555978322 + weight_MACDStrategy: 0.27666348978171174 + weight_KDJStrategy: 0.987031669779262 + weight_TurtleStrategy: 1.3089542157420992 + weight_DailyBreakoutStrategy: 1.7222058193333316 + weight_WaveTheoryStrategy: 0.3056826386965221 + market_trend_period: 40 + market_retracement_tolerance: 0.41683174574518567 + market_volume_period: 37 + market_volume_ma_period: 24 + trend_price_breakout_weight: 0.12541108246078286 + trend_volume_confirmation_weight: 0.2526477146026147 + trend_momentum_oscillator_weight: 0.4984485520960388 + trend_moving_average_weight: 0.3116457380396548 + trend_strong_threshold: 0.6667733642542173 + trend_weak_threshold: 0.3061035903843855 + trend_volume_spike: 2.1197670382877396 + trend_oversold: 33 + trend_overbought: 79 + confidence_high: 0.7997910444574157 + confidence_medium: 0.6703055290278226 + +代数统计: + 代数 1: 最佳=3.62, 平均=-0.68 + 代数 2: 最佳=3.62, 平均=1.34 + 代数 3: 最佳=3.33, 平均=1.94 diff --git a/scripts/cron_optimize.sh b/scripts/cron_optimize.sh new file mode 100755 index 0000000..1d5513c --- /dev/null +++ b/scripts/cron_optimize.sh @@ -0,0 +1,5 @@ +#!/bin/bash +# cron 环境修复:设置正确的 PYTHONPATH 后运行优化器 +export PYTHONPATH="/home/songkl/.hermes/profiles/bot1/home/.local/lib/python3.13/site-packages:$PYTHONPATH" +cd /home/songkl/mt5_python_ea_suite +exec /usr/bin/python3 scripts/daily_optimize.py "$@"