MQL5 向导新版本:模块组合式 EA 生成架构
MQL5 Wizard(build 439 起)让不懂 MQL5 的人也能拼出可交易 EA:它把 EA 拆成信号、跟踪、资金三模块,你只填参数。新版最大升级在“信号”层——引入投票机制,能把多个指标/多个品种/多个周期的信号融合成一个带强度的决策。本文讲清新架构与决策数学,并带你走完生成流程。
一、EA 的三模块结构
向导生成的 EA 永远由三块组成:交易信号模块(决定买/卖)、仓位跟踪模块(跟踪止损兑现利润)、风险与资金管理模块(定手数)。标准库里每组都有现成类,你不必从零写,只需选模块、填参数。老版痛点是‘换个算法就得写个新类’,新版用投票机制化解。
二、新信号概念:顾问与投票
新版里,任何信号(派生自 CExpertSignal)都是基于若干‘顾问’(advisor)的预测——顾问也是信号,可嵌套,每信号最多 64 个顾问。每个顾问对价格方向‘投票’,带 0~1.0 权重(Weight 参数)。信号汇总所有顾问的加权预测,给出 -100~+100 的结果:符号是方向,绝对值是强度。
三、决策机制:情形权重 + 门槛
每个信号内含若干‘市场情形’(价格+指标的组合),每种情形有权重 1~100(越强越重要),并给出某方向预测。信号挑出最强适用情形,结合各顾问加权投票,算出 -100~+100 的预测强度。EA 设两个门槛:ThresholdOpen(开仓阈值)、ThresholdClose(平仓阈值),范围 0~100。强度超门槛才动手。
// 例:MA 信号权重0.4 + 随机动量权重0.8,ThresholdOpen=20 // 选项1: MA预测+100(权0.4)->+40; 动量预测-80(权0.8)->-64; 均值=(40-64)/2=-12 // 强度12 < 20 门槛 -> 不开仓 // 选项2: MA预测+10(权0.4)->+4; 动量预测-80(权0.8)->-64; 均值=(4-64)/2=-30 // 强度30 >= 20 门槛 -> 开空仓
四、组合跨品种跨周期信号
向导里每个信号可单独设 Symbol/TimeFrame。示例 EA 同时挂:EMA(EURUSD,M10)、Stochastic(EURUSD,M10)、EMA(EURUSD,H1)、Stochastic(EURJPY,H4)、IntradayTimeFilter(按时段/星期过滤)。最多 64 个信号模块并行,复杂度靠投票自然消化。
五、向导四步走
- 步骤1 一般属性:Name/Author、Symbol、TimeFrame(建议显式设,别用 current 以免错图乱跑)
- 步骤2 选信号模块:标准库有 20+ 现成信号(MA、MACD、RSI、随机、抛物线…),逐个配 Weight,其余参数可锁出优化
- 步骤3 选仓位跟踪(跟踪止损)模块
- 步骤4 选资金与风险管理模块(固定手数/百分比等)
六、优化:用时间过滤器再榨收益
生成 EA 后丢进策略测试器优化。进阶玩法:用 IntradayTimeFilter 的‘Bad hours’参数(24 位掩码,每位对应一小时)优化出‘不该交易的时间’。从 0 到 2^24-1 扫一遍,命中 11665415 → 二进制显示 0/1/2/17/20/21/23 点为不佳时段。加时间过滤后历史绩效明显改善。
七、小结
新版 MQL5 Wizard 把‘拼 EA’变成‘配信号+设门槛’:三模块结构不变,信号层引入顾问投票(最多 64 个、可跨品种跨周期),用 ThresholdOpen/Close 把‘强度’翻译成‘开平仓’。向导四步生成代码,再靠时间过滤器等优化榨收益。不懂编程也能做出结构合理的 EA——但要警惕过拟合,历史好不等于未来好。