基于动量设计交易系统:从定义到蓝图的基础铺垫(基础篇)
(1/3)· 很多交易者只看方向却忽略趋势强弱,本文用 MQL5 把动量拆解成可编码的第一步
用动量搭一套可跑的 MT5 交易逻辑
动量系统的核心,是用价格近期变化速度判断趋势延续或反转倾向。在 MT5 里,最朴素的做法是取 N 根 K 线的收盘价差值,差值持续为正且放大,代表上涨动量可能在累积。 这篇 2022 年 5 月发布的文章在站内有 2851 次查看、6 条讨论,说明动量类策略在零售交易者里仍有稳定关注度。但外汇与贵金属杠杆高,动量衰竭时反向扫损概率不低,任何信号都只能当作概率偏好而非确定性。 真正能落地的第一步,不是写完整 EA,而是先在图表上把动量曲线画出来,肉眼看它和价格背离出现的频率。当你能说出「欧元兑美元 1 小时图里,动量顶背离后 20 根内回调概率偏高」,再谈自动化。
◍ 为什么动量值得单独拎出来做系统
判断行情方向只是第一步,真正影响交易质量的是你知道这个方向靠不靠谱、能不能延续。趋势强弱势的识别工具很多,但动量(Momentum)最直接——它量的是价格推进的速度,速度掉下来,趋势延续的概率就跟着掉。 这篇文章不聊虚的,只做一件事:把动量在 MQL5 里写成一个能跑、能出信号的简单交易系统。系列会拆成动量定义、策略、系统蓝图、代码实现几块,本篇先讲清楚动机和开发环境怎么备好。 写代码用 MetaTrader 5 自带的 MetaQuotes 语言编辑器(MQL5 IDE)。启动 MT5 后按 F4 是最快的开法;也可以走顶部「工具」菜单点开,或点终端里的 IDE 按钮。三种路径开的都是同一个窗口,选你顺手的就行。 外汇和贵金属杠杆高、回撤快,任何系统上线前必须用模拟账户跑过。适合我的参数和逻辑,未必贴合你的交易风格,实盘前先验证信号在你常做的品种上是否稳定。
「动量到底在量什么」
动量在交易里不是玄学,它本质是衡量价格变化的速度。算法把当前价格与 N 周期前的价格做比较,得到两者之间的变化率,借此反映趋势的加速度,而不只是方向。 先确认行情类型再谈动量才有意义:上行趋势表现为更高的低点和高点,主导力在买方;下行趋势是更低的高点和低点,卖方主导;横盘则是无明确推进方向的买卖平衡区。外汇与贵金属这类高杠杆品种,横盘破位往往伴随动量突增,风险敞口会快速放大。 动量指标属于领先型振荡器,可能在价格转向前就先变向。它的两个先天短板得记牢:一是算法无上下界,数值可无限延伸,不利于横向跨品种比较;二是它只抓取周期端点的价格,错失了两次采样之间的所有波动细节。 计算动量常用两种手法,默认周期多取 14。减法版本最直白——取当前周期收盘价减去 N 周期前收盘价,差值正负即为动量方向,绝对值大小对应速度。
用 14 周期差看零轴穿越
动量指标的核心算法很直接:取当期收盘价减去 n 个周期前的收盘价,默认 n = 14。算出来的值围绕零轴上下摆动,上穿零轴代表短期价格相对两周前走强,下穿则偏弱。 拿一段日线收盘价序列验证:第1天10、第2天12、第3天15……一直到第14天17、第15天15。按定义,第15天动量 = 第15天收盘(15) − 第14天前即第1天收盘(10) = 5。注意这里 n=14 时,「前14周期」指的是第1天,不是第14天。 很多新手会误把「前14周期」理解成上一行的第14天,导致动量曲线整体错位一根 K 线。在 MT5 里把 Period 设为14后,可用 iMomentum 取缓冲值比对,零轴之上为正动量,之下为负动量,外汇与贵金属波动大,错位会直接扭曲反转信号,属高风险误用。