自动构造支撑和阻力线·综合运用
给信号加两道可选滤波器
在 MT5 写 EA 时,裸信号容易被噪音触发。这段代码把 WPR 和 MA 做成开关式滤波器,默认都关,由你按需打开。 input bool Use_wpr=false; 这一行声明威廉指标滤波开关,默认不启用,避免在未调参时误杀信号。input bool Use_ma=false; 同理,均线滤波也先关着,留给你在趋势市里再开。 input int sbar=1; 决定信号取自哪根柱:0 是当下未收线柱,1 是已收盘柱。实盘用 1 能躲掉不少盘中假突破,回测里改 0 可看实时触发逻辑。 打开 MT5 的 MQEditor,把这三行贴进输入参数区,编译后到 EA 属性里切换 Use_wpr / Use_ma,就能对比带滤波与不带滤波的成交密度。
class="kw">input class="type">bool Use_wpr=false; class=class="str">"cmt">// 使用 WPR 作为滤波器 class="kw">input class="type">bool Use_ma=false; class=class="str">"cmt">// 使用 MA 作为滤波器 class="kw">input class="type">int sbar=class="num">1; class=class="str">"cmt">// 信号柱线 class="num">0-当前, class="num">1-已收盘
◍ 之字折线与过滤器的实盘调参结果
前七个参数我按经验直接锁死, 没再动; 真正需要拧的是之字折线, 默认 _ExtDepth=12、_ExtDeviation=5、_ExtBackstep=3 在多数货币对上偏敏感, 跑下来噪音太多。优化后统一落到 _ExtDepth=24、_ExtDeviation=55、_ExtBackstep=9, 这组值在后续跨品种回测里最稳。 过滤器只挂了 MACD, 不同品种开关效果差很大: GBPCHF、AUDCAD、EURGBP、EURCHF 开 MACD 过滤后盈利因子明显抬升, 而 EURUSD、USDCHF、AUDUSD 关掉反而更好。说明过滤器不是万能开关, 得按品种脾气分开试。 平仓逻辑上, 亏损单全靠反向信号砍, 没设硬止损; 盈利单用盈亏平衡(BE)加止盈锁利润。2017 年 0.1 手、每方向开单上限提到 10 的测试里, NZDUSD 用自价位模式、BE=25、止盈=0 跑出 270.50 盈利、最大回撤 2.37%, 而 GBPUSD 同模式止盈 100、BE=0 仅 102.1 盈利且盈利交易占比掉到 52.92%。外汇与贵金属杠杆高, 这类回测结果只代表历史样本, 实盘参数漂移的概率不低, 开 MT5 用策略测试器按表逐项复跑更靠谱。
「每个品种都要单独调参」
前面两节把自动画支撑阻力线和 EA 过滤逻辑讲完了,落到实盘前有一点必须认清:13 个金融产品跑完参数优化,没有一组通用设置能通吃。 回测里有个现象值得记一下——同样用回滚逻辑,某些货币对盈利表现明显弱于突破逻辑,说明品种性格差异不是噪声,是真实存在的结构。 外汇和贵金属杠杆高、跳空频繁,直接挂实盘前务必在 MT5 策略测试器里对自己关心的符号单独寻优,别信「一套参数跑全场」。 附带的两个文件 TrendlinesEA.mq5(46.6 KB)和 Trendlines.mq5(30.78 KB)就是验证入口,下载丢进 MT5 跑一遍,比看任何说明都实在。