首页 / 交易学院 / MQL5 中判断趋势的 6 种方法:从 SMA 到 Heiken Ashi
MQL5 中判断趋势的 6 种方法:从 SMA 到 Heiken Ashi
📈

MQL5 中判断趋势的 6 种方法:从 SMA 到 Heiken Ashi

交易策略 难度 · 进阶 2013 11 分钟阅读
趋势判断指标组合MQL5

为什么不直接用现成指标判断趋势

“现在是涨是跌”是几乎所有策略的起点,但每个现成指标给出的信号都带着自己的滞后与噪声。理解六种基础判断方法的内部逻辑,你才能在策略里组合它们、过滤假信号,而不是盲信一个指标。本文以 EURUSD 日线为例,把六种方法拆开讲清。

六种方法一览

各自的判断条件代码

下面是把六种方法落到 MQL5 判断条件的核心片段,都返回 1(涨)/-1(跌)/0(不明):

// 单一 SMA
if(_price[_shift] > SimpleMA(_shift, MAPeriod, _price)) trend=1;
else if(_price[_shift] < SimpleMA(_shift, MAPeriod, _price)) trend=-1;

// 三条 SMA 扇形
if(ma3>ma2 && ma2>ma1) trend=1; else if(ma3<ma2 && ma2<ma1) trend=-1;

// ZigZag 峰谷(道氏)
if(Hi[0]>Hi[1] && Lo[0]>Lo[1]) trend=1; else if(Hi[0]<Hi[1] && Lo[0]<Lo[1]) trend=-1;

// ADX
if(ADX[0]<ADXTrendLevel) return(0);
if(PlusDI[0]>MinusDI[0]) trend=1; else if(PlusDI[0]<MinusDI[0]) trend=-1;

// NRTR
if(Support[0]>0 && Resistance[0]==0) trend=1; else if(Resistance[0]>0 && Support[0]==0) trend=-1;

优缺点与适用周期

通用规律:图表周期越小噪声越大,周期越长趋势越稳。单一 SMA 最简单但假信号多;三条扇形减少了假信号但更滞后;峰谷适合历史分析,实时极点会重绘,实战几乎无用;ADX 能评估趋势强度、过滤弱市;NRTR 转折明确但参数需优化;Heiken Ashi 直观但会重绘,必须搭配其他信号。测试显示,把单 SMA 换成三条扇形后,交易次数减半、亏损从 28% 降到 12%,错误信号明显减少。

组合多种方法提高胜率

✦ 最实用的两套组合
1) 扇形 + ADX 过滤:仅在 ADX>20 时允许开仓,直接砍掉“反弹”类假信号,适合实盘。2) 多 MA 扇形替代单 MA:减少交易次数和逆势单。Heiken Ashi 因重绘,只适合作为辅助确认,绝不可单独做 EA 信号。EA 通用结构:等新柱开盘(tick_volume==1)才交易,趋势反转或不明才平仓。

工程实现要点

无论哪种方法,都需要用 iCustom 或内置 iMA/iADX/iEnvelopes 拿句柄,再用 CopyBuffer 取缓冲值。注意指标缓冲区的索引:ADX 指标 0 号是 ADX 主线、1 号 +DI、2 号 -DI;NRTR 的 0 号是支撑、1 号是阻力。取错索引会得到完全相反的信号。

常见问题

没有银弹。最稳的组合是“三条均线扇形 + ADX 强度过滤”:扇形定方向,ADX>20 砍掉弱市假信号。单 SMA 太糙,ZigZag 实时会重绘,都不建议单独用。
Heiken Ashi 会改写前一两柱的收盘价,导致历史回测里看起来很准、实盘却反复反转。它只能作为辅助确认,必须搭配不重绘的趋势过滤器。
ADX 指标返回三个缓冲:0=ADX 主线(趋势强度),1=+DI,2=-DI。判断方向用 +DI 与 -DI 的大小,判断“有没有趋势”用 ADX 主线是否超过阈值。取错索引会把强度和方向混为一谈。