mirror of
https://github.com/silencesdg/mt5_python_ea_suite.git
synced 2026-08-06 15:37:55 +00:00
add ml
This commit is contained in:
@@ -5,7 +5,8 @@ INITIAL_CAPITAL = 20000 # 初始资金
|
||||
SPREAD = 32 # 点差(点数),买卖合起来的总共点差成本
|
||||
|
||||
# 时间配置
|
||||
TIMEFRAME = 1# M1 (1分钟图) - MT5常量值
|
||||
from mt5_constants import TIMEFRAME_M1
|
||||
TIMEFRAME = TIMEFRAME_M1 # 1分钟K线 - 使用MT5标准常量
|
||||
|
||||
# 回测时间范围 (格式: "YYYY-MM-DD")
|
||||
# 注意:这些日期需要确保在MT5服务器上有可用数据
|
||||
@@ -24,14 +25,20 @@ USE_DATE_RANGE = False # 设置为False可强制使用数据量模式
|
||||
BACKTEST_COUNT = 30000 # 回测数据量
|
||||
OPTIMIZER_COUNT = 15000 # 优化器数据量
|
||||
|
||||
# 性能与调试配置 --- 优化器模式下,需要True 实盘模式下False,可以保证重启程序保持持仓的最大盈利记录,便于计算回撤
|
||||
# True: 使用内存变量存储持仓峰值数据,优化器模式下更快且能避免文件冲突
|
||||
# False: 使用 position_peaks.json 文件存储,适合需要持久化的单进程实盘模式
|
||||
USE_MEMORY_FOR_PEAK_DATA = True
|
||||
|
||||
|
||||
RISK_CONFIG_CONST = {
|
||||
'enable_time_based_exit': True
|
||||
}
|
||||
|
||||
# 资金分配配置
|
||||
CAPITAL_ALLOCATION = {
|
||||
"long_pct": 0.7, # 多头持仓分配资金比例
|
||||
"short_pct": 0.3, # 空头持仓分配资金比例
|
||||
"long_pct": 0.5, # 多头持仓分配资金比例
|
||||
"short_pct": 0.5, # 空头持仓分配资金比例
|
||||
}
|
||||
|
||||
# 模拟交易特定配置 (用于dry_run模式)
|
||||
@@ -55,8 +62,8 @@ BACKTEST_CONFIG = {
|
||||
REALTIME_CONFIG = {
|
||||
"update_interval": 5, # 更新间隔(秒)
|
||||
"daily_reset_time": "00:00", # 每日重置时间
|
||||
"max_long_positions": 3, # 最大多头持仓数(增加为3个)
|
||||
"max_short_positions": 3, # 最大空头持仓数(增加为3个)
|
||||
"max_long_positions": 1, # 最大多头持仓数(增加为3个)
|
||||
"max_short_positions": 1, # 最大空头持仓数(增加为3个)
|
||||
"min_trade_interval": 0, # 最小交易间隔(分钟),0表示无限制
|
||||
"enable_auto_trading": True, # 是否启用自动交易
|
||||
"dry_run": False, # 是否为模拟运行(不实际下单)
|
||||
@@ -106,20 +113,20 @@ GENETIC_OPTIMIZER_CONFIG = {
|
||||
# 信号阈值配置
|
||||
SIGNAL_THRESHOLDS = {
|
||||
"buy_threshold": 1.5, # 买入信号阈值 (优化后)
|
||||
"sell_threshold": -0.87 # 卖出信号阈值 (优化后)
|
||||
"sell_threshold": -1.5 # 卖出信号阈值 (优化后)
|
||||
}
|
||||
|
||||
|
||||
# 风险管理参数
|
||||
RISK_CONFIG = {
|
||||
"stop_loss_pct": -0.01, # 固定止损:亏损1% (优化后)
|
||||
"stop_loss_pct": -0.0005, # 固定止损:亏损0.1% (优化后)
|
||||
"profit_retracement_pct": 0.1, # 利润回撤10%止盈 (优化后)
|
||||
"min_profit_for_trailing": 0.01, # 追踪止损激活阈值:利润0.1% (降低阈值以激活追踪止损)
|
||||
"min_profit_for_trailing": 0.001, # 追踪止损激活阈值:利润0.1% (降低阈值以激活追踪止损)
|
||||
"take_profit_pct": 0.001, # 固定止盈:盈利0.1% (优化后)
|
||||
"max_position_size": 1, # 最大仓位100%
|
||||
"max_daily_loss": -0.3, # 最大日亏损30%
|
||||
"max_holding_minutes": 140, # 持仓超过140分钟 (优化后)
|
||||
"min_profit_for_time_exit": 0.01, # 且盈利未达到0.1%则平仓 (优化后)
|
||||
"min_profit_for_time_exit": 0.001, # 且盈利未达到0.1%则平仓 (优化后)
|
||||
}
|
||||
|
||||
# 市场状态分析参数
|
||||
@@ -216,7 +223,7 @@ TREND_THRESHOLDS = {
|
||||
}
|
||||
|
||||
|
||||
# 动态权重配置(经过优化器优化的最佳权重)
|
||||
# 策略权重配置
|
||||
DEFAULT_WEIGHTS = {
|
||||
"ma_cross": 0.44428771408324463,
|
||||
"rsi": 1.6518277343219148,
|
||||
@@ -230,50 +237,6 @@ DEFAULT_WEIGHTS = {
|
||||
"wave_theory": 0.7354173414675755,
|
||||
}
|
||||
|
||||
# 市场状态策略权重配置
|
||||
MARKET_STATE_WEIGHTS = {
|
||||
"uptrend": {
|
||||
"ma_cross": 1.50,
|
||||
"momentum_breakout": 1.20,
|
||||
"turtle": 0.25,
|
||||
"macd": 0.35,
|
||||
"daily_breakout": 1.50,
|
||||
"rsi": 1.00,
|
||||
"bollinger": 1.00,
|
||||
"kdj": 0.40,
|
||||
"mean_reversion": 0.80,
|
||||
"wave_theory": 0.20
|
||||
},
|
||||
"downtrend": {
|
||||
"ma_cross": 1.50,
|
||||
"momentum_breakout": 1.20,
|
||||
"turtle": 0.25,
|
||||
"macd": 0.35,
|
||||
"daily_breakout": 1.50,
|
||||
"rsi": 1.00,
|
||||
"bollinger": 1.00,
|
||||
"kdj": 0.40,
|
||||
"mean_reversion": 0.80,
|
||||
"wave_theory": 0.20
|
||||
},
|
||||
"ranging": {
|
||||
"rsi": 1.60,
|
||||
"bollinger": 1.70,
|
||||
"mean_reversion": 1.50,
|
||||
"kdj": 1.00,
|
||||
"wave_theory": 0.50,
|
||||
"ma_cross": 0.70,
|
||||
"macd": 0.20,
|
||||
"turtle": 0.10,
|
||||
"momentum_breakout": 0.50,
|
||||
"daily_breakout": 0.90
|
||||
},
|
||||
"none": DEFAULT_WEIGHTS
|
||||
}
|
||||
|
||||
# 市场趋势置信度阈值配置
|
||||
CONFIDENCE_THRESHOLDS = {
|
||||
"high_confidence": 0.941049792261965, # 高置信度阈值
|
||||
"medium_confidence": 0.8881796011658835, # 中等置信度阈值
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user