首页 / 交易学院 / 小布知识库 / MQL5 向导新版本:模块组合式 EA 生成架构
MQL5 向导新版本:模块组合式 EA 生成架构
🧙

MQL5 向导新版本:模块组合式 EA 生成架构

EA 开发实战 难度 · 入门 2013 9 分钟阅读
MQL5向导EA生成信号模块资金管理MetaTrader 5

MQL5 Wizard(build 439 起)让不懂 MQL5 的人也能拼出可交易 EA:它把 EA 拆成信号、跟踪、资金三模块,你只填参数。新版最大升级在“信号”层——引入投票机制,能把多个指标/多个品种/多个周期的信号融合成一个带强度的决策。本文讲清新架构与决策数学,并带你走完生成流程。

一、EA 的三模块结构

向导生成的 EA 永远由三块组成:交易信号模块(决定买/卖)、仓位跟踪模块(跟踪止损兑现利润)、风险与资金管理模块(定手数)。标准库里每组都有现成类,你不必从零写,只需选模块、填参数。老版痛点是‘换个算法就得写个新类’,新版用投票机制化解。

二、新信号概念:顾问与投票

新版里,任何信号(派生自 CExpertSignal)都是基于若干‘顾问’(advisor)的预测——顾问也是信号,可嵌套,每信号最多 64 个顾问。每个顾问对价格方向‘投票’,带 0~1.0 权重(Weight 参数)。信号汇总所有顾问的加权预测,给出 -100~+100 的结果:符号是方向,绝对值是强度。

妙处:一个信号能跨品种、跨周期收信息。比如某顾问看 EURJPY H4,另一看本图 M10,一起参与本 EA 的决策。

三、决策机制:情形权重 + 门槛

每个信号内含若干‘市场情形’(价格+指标的组合),每种情形有权重 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 个信号模块并行,复杂度靠投票自然消化。

五、向导四步走

双击信号 Name 字段可把参数从优化中排除,只留 Weight 参与优化——能大幅缩短优化时间。

六、优化:用时间过滤器再榨收益

生成 EA 后丢进策略测试器优化。进阶玩法:用 IntradayTimeFilter 的‘Bad hours’参数(24 位掩码,每位对应一小时)优化出‘不该交易的时间’。从 0 到 2^24-1 扫一遍,命中 11665415 → 二进制显示 0/1/2/17/20/21/23 点为不佳时段。加时间过滤后历史绩效明显改善。

提醒:自动找出的‘市场情形’并非永远有效,时间过滤能显著改善历史回测,但样本外仍需复核,别把过拟合当圣杯。
再强调一次:向导优化扫出的‘最佳权重/最佳时段’是历史拟合结果。上线前务必做样本外验证或前推测试,确认不是过拟合噪音。历史好≠未来好,这是用 Wizard 最容易踩的坑。

七、小结

新版 MQL5 Wizard 把‘拼 EA’变成‘配信号+设门槛’:三模块结构不变,信号层引入顾问投票(最多 64 个、可跨品种跨周期),用 ThresholdOpen/Close 把‘强度’翻译成‘开平仓’。向导四步生成代码,再靠时间过滤器等优化榨收益。不懂编程也能做出结构合理的 EA——但要警惕过拟合,历史好不等于未来好。

常见问题

每个信号由若干‘顾问’组成(最多 64 个,顾问也是信号可嵌套),每个顾问对价格方向投票并带 0~1.0 权重。信号汇总所有顾问的加权预测,给出 -100~+100 的结果:符号是方向、绝对值是强度。EA 再设 ThresholdOpen/Close 门槛,强度超门槛才开/平仓。
交易信号模块(决定买卖)、仓位跟踪模块(跟踪止损兑现利润)、风险与资金管理模块(定手数)。标准库每组都有现成类,你只需选模块填参数,不必从零写 MQL5。
能。每个信号模块可单独设 Symbol 和 TimeFrame,因此可同时挂本图 M10 的 EMA、H1 的 EMA、甚至 EURJPY H4 的随机指标,一起参与当前 EA 的投票决策,最多 64 个信号并行。
丢进策略测试器优化权重与门槛;进阶用 IntradayTimeFilter 的 Bad hours(24 位掩码)扫描‘不该交易的时间’,从历史里抠出更佳时段。但注意自动找出的情形未必样本外有效,需复核防过拟合。