学习如何设计不同的移动平均线系统(基础篇)
◍ 动手搭一套移动平均线组合
在 MT5 里做均线系统,核心不是选哪一根均线,而是把不同周期、不同计算方法的均线组合起来观察共振。很多交易者只用一根 MA,容易被噪音反复扫损;把快慢线叠加,能更清楚地看到趋势换挡的位置。 MetaTrader 5 的均线指标支持 SMA、EMA、SMMA、LWMA 四种平滑方式,周期和偏移都能在 iMA 调用时直接指定。下面这段是双均线系统最基础的指标句柄创建方式,跑在 OnInit 里即可。 外汇与贵金属杠杆高、波动剧烈,任何均线组合都只是概率工具,不代表方向必然延续,实盘前请用策略测试器跑至少 3 个月 Tick 数据验证。
class="type">int fastMA = iMA(_Symbol, PERIOD_H1, class="num">10, class="num">0, MODE_EMA, PRICE_CLOSE); class="type">int slowMA = iMA(_Symbol, PERIOD_H1, class="num">30, class="num">0, MODE_SMA, PRICE_CLOSE);
「为什么要把趋势当朋友」
做交易的人大多听过“趋势是您的朋友”,但这句话落到实处,是先能分辨市场处在哪种方向里。价格连续做出更高的低点和更高的高点,就是上升趋势;反过来连续出现更低的高点和更低的低点,是下降趋势;其余摆幅无方向的都归横盘。 上升趋势里买方压过卖方,不管抛压多大都推着价格往上,这种市道叫牛市;下跌趋势里卖方控场,把价格一路往下压,就是熊市。能从走势里看出哪边参与者占支配地位,才算真正认出了趋势。 麻烦出在洗盘和假突破:信号刚触发你下了单,价格却反向走,这种假突破会直接啃掉账户。过滤它们的办法很多,用移动平均线是最直白的一种,本文后面就拆几条均线和交叉的玩法,以及在 MT5 上怎么写成系统。 外汇和贵金属杠杆高、假突破频发,实盘前务必用策略测试器先跑历史数据。本文所有示例以教学为目的,不保证任何结果,任何按文中逻辑开的仓位风险自担,策略上线前都得自己回测和优化。
均线的本质与滞后逻辑
移动平均线做的是一件很朴素的事:取一段固定周期内的价格做平均,把图表上那些短周期的随机毛刺压平。它的输出不是预测,而是把已经发生的价格流,重画成一条更顺眼的轨迹。 它是趋势跟踪工具,因为值完全由价格算出来——价格朝某个方向走,均线就朝同方向弯。但它天生滞后:必须先有 N 根 K 线,第 N 根对应的均线值才算得出来,所以均线永远在价格身后半步。 实战上它能干四件事:给出平均成本参照、顺应市场主要节奏、确认或识别趋势、滤掉噪音和假突破。外汇和贵金属波动大、毛刺多,用均线过滤洗盘信号,可能比裸 K 直接猜突破更稳,但高杠杆下误判趋势同样会快速亏钱。 记住一点:均线给的是「已经平均完的结果」,不是「接下来会怎样」。拿它避假突破可以,拿它当反转信号就得自己加过滤。
◍ 三种均线的算法差异与 MQL5 调用
MT5 里最常用的均线就三类:SMA、WMA、EMA。区别不在画出来的线长得像不像,而在权重分配逻辑——这直接决定了对新价格的敏感程度,外汇和贵金属波动快,选错类型可能信号滞后一到两根 K 线。 SMA 最直白,就是把最近 N 个收盘价加总除以 N。拿 5 天收盘 10、15、20、30、35 举例,SMA=(10+15+20+30+35)/5=22,所有日子权重平等。 WMA 给近期更高权重。同样那 5 个价格,越靠近当前权重系数越大,老数据贡献被压缩,所以对拐头的反应比 SMA 快,但容易在震荡里频繁扭头。 EMA 不丢掉 N 期之前的历史,用平滑系数 K=2/(n+1) 递归。接着上面例子,第 6 天收盘 40,先以 5 天 SMA=22 作昨日 EMA,则 EMA(6)=40×2/6+22×4/6≈34,比 WMA 更平滑且始终带着远端记忆。 在 MQL5 里调具体类型不用自己写公式,iMA 的 ma_method 参数直接指定:MODE_SMA、MODE_LWMA、MODE_EMA。想验证上面数字,挂个脚本把 iMA 算出来和手算对照即可。