交易中不同类型移动平均线的比较
导言
在外汇市场中移动平均线 (MA) 是最受欢迎的技术指标之一。我们的目的是研究各种 MA, 并在平等条件下比较交易的入场和离场。
我们来研究七种类型的移动平均线: 移动平均线, 自适应移动平均线, 双重指数移动平均线, 分形自适应移动平均线, 三重指数移动平均线, 可变指数动态平均线, 和尼克·洛普克移动平均线。
移动平均线的类型
本节包含一些简述和公式来计算有关的移动平均线。
移动平均线技术指标
移动平均线 是最广泛的技术指标之一。它描述了品种在给定时间周期的价格平均值。MA 指标存在各种的变体:
简单移动平均线 (SMA);
指数移动平均线 (EMA);
平滑移动平均线 (SMMA);
线性加权移动平均线 (LWMA)。
以下, 我们给出移动平均指标的每个变体的计算公式:

我们来研究价格图表上显示的不同移动平均指标变体。图例 1 展示的是按收盘价计算, 周期为 12 的移动平均线指标的变体。

如图所示, 简单移动平均线在横盘时稍微波动, 这可能会产生假的交易信号。平滑移动平均线, 形如其名, 它看起来更平滑。指数移动平均线和线性加权移动平均线在横盘时的行为有点类似。在趋势行情期间, 线性加权移动平均线相较其余线更接近价格, 与 SMMA 和 EMA 相反, 它不依赖以前的数值。
基于指数均线 (EMA) 的技术指标
指数移动平均线 (EMA) 是其它一些技术指标的基础。

指标与普通 EMA 的区别
我们将上述研究的指标与普通的 EMA 进行比较。图例 2 表明:
自适应移动平均线 (周期 - 12, 快速 EMA — 2, 慢速 EMA — 30, 偏移 — 0)
双重指数移动平均线 (周期 - 12, 偏移 - 0)
分形自适应移动平均线 (周期 - 12, 偏移 - 0)
指数移动平均线 (周期 - 12, 偏移 - 0)
三重指数移动平均线 (周期 - 12, 偏移 - 0)
可变指数动态平均线 (CMO 周期 — 12, EMA 周期 — 12, 偏移 — 0)
尼克·洛普克移动平均线 (平均方法 — SMA, 平滑深度 — 3, 平滑参数 — 15 (对于 SMA 未使用), Kf — 1, 快速 — 12, 锋锐 — 2, 垂直和水平偏移 — 0)。
所有的指标都是以收盘价格为基础制定的。

如图例 2 所示, 与普通 EMA 相比, DEMA 和 TEMA 更准确地跟随价格走势; 然而, 它们在横盘时的波动可能会给出假的交易信号。其余的指标 (FRAMA, AMA, VIDYA, NRMA) 在横盘时几乎没有摆动, 对小幅价格变化没有反应。在趋势中, 几乎所有的指标表现相若, TEMA 和 FRAMA 在趋势方向变化时反应更迅速。
各类移动平均线的比较
我们在交易策略里以等同的入场和离场条件比较上面研究的技术指标。
交易策略规范
为了测试指标, 选择了一个具有明显入场和离场条件的简单策略。
入场条件:
初步买入信号: 指标线与阳线实体交叉。进而, 如果指标的当前数值与前一个数值之间的差值超过了指定 Growth 因子 (指标增长), 则买入交易开单。
初步卖出信号: 指标线与阴线实体交叉。进而, 如果指标的前一个数值与当前数值之间的差值超过了指定 Growth 因子 (指标下跌), 则卖出交易开单。
离场条件:
一旦触及止盈位或止损位;
若是买入交易开单, 指标线与阴线实体交叉;
若是卖出交易开单, 指标线与阳线实体交叉;
图例 3, 4 展示了策略交易的例子。


可在 MetaTrader 5 终端导航器中找到类似移动平均线智能交易系统的交易策略。
创建智能交易系统
我们来为上述指定交易策略编写智能交易系统。智能交易系统中实现了在以下技术指标之间进行选择的功能: MA (简单, 指数, 平滑, 线性加权)等方法), DEMA, TEMA, FRAMA, AMA, VIDYA, NRMA。所选指标将在图表上绘制。此外,, 我们还可以指定指标的输入参数, 设置止盈和止损的大小, 交易手数的大小, 指标增长系数 (Growth 因子) 的数值。
我们只在一根新柱线开盘时, 而非每个分笔报价, 检查入场和离场的条件。首先检查是否有持仓 (为此目的, 智能交易系统中提供了 SelectPosition 函数)。如果没有这样的持仓, 我们检查入场条件 (CheckForOpen 函数), 如果有持仓的话 - 我们检查离场条件 (CheckForClose 函数)。
完整的智能交易系统代码附加在文章之后 (文件 MultiMovingAverageExpert.mq5)。我们只研究入场和离场条件的实现。入场条件的检查在 CheckForOpen 函数中实现如下:
数组 rt[] 保留价格的历史数据
数组 ma[] 保留指标值。
rt[0].close, rt[0].open — 是前一个收盘价/开盘价的数值
ma[0] — 是指标的前值
ma[1] — 指标的当前值。
GFactor — 是指标的增长系数。
Variable 信号进一步用于形成买入或卖出交易请求。
离场条件的检查 在 CheckForClose 函数中实现如下:
智能交易系统的测试和性能
测试智能交易系统所用货币对 EURUSD, GBPUSD, USDJPY, USDCAD, AUDUSD, 时间帧为 H1。止盈 — 80 点, 止损 — 50 点, 交易量手数为 0.1, 本金 - 10,000 USD, 测试模式 - 所有分笔报价, 杠杆 1:100, 5-位小数报价, 服务器: MetaQuotes-Demo。
测试执行区间从 2016,01.01 至 2017.09.09。
为每个指标优化了周期 (变化范围 - 5 - 50, pace 1) 和参数 Growth 因子 (变化范围 0,0001 — 0,0001, 增量 0,001)。
为可变指数动态平均线优化了 EMA 周期 (作为指标计算周期) 和 CMO 振荡器周期 (变化范围 - 5 — 50, 增量 1)。
为尼克·洛普克移动平均线的 Fact 参数进行了优化, 其决定了指标计算的周期。
指标值按收盘价格计算, 无水平和垂直偏移。一些指标有其它参数:

货币对 EURUSD 的测试结果
货币对 EURUSD (总计净利润最大的变体) 的测试结果列于下表:

根据测试结果可以得出以下结论:
总净利润和恢复因子最大的指标 - 三重指数移动平均线, 但它的其它指数并不是最高的, 而双重指数移动平均线和尼克·洛普克移动平均线则表现出较好的结果。
盈利因子、恢复因子、锋锐比率以及最大净值和余额回撤指数最差的是自适应移动平均线。
为了更加生动地比较测试结果, 我们将总净利润、盈利因子、锋锐比率、恢复因子、余额和净值回撤最大值等指数按以下公式常规化:

此处:
nValue — 从 0 到 1 区间内的常规化参数值,
Value - 当前参数值,
MaxValue — 最大参数值,
MinValue - 最小参数值。
结果列于表格内 (最佳结果为黄色, 最差为红色):

在表格的最后一列, 当指标的余额和净值回撤最大值汇总时, 数值取负号 (回撤最小则策略最佳)。因此, 三重指数移动平均线, 尼克·洛普克移动平均线和双重指数移动平均线 (以黄色表示) 在所有参考策略中展示出最佳结果。TEMA, NRMA 和 DEMA 的测试结果如图例 5-10 所示。






图例 5, 7, 9 展示的 TEMA 余额 (净值) 图表比 NRMA 和 DEMA 更稳定; 尽管它有轻微的回撤。在 NRMA 的余额 (净值) 图表中, 我们观察到最近 3 个月的交易中利润上涨, DEMA 图表从 2016 年 12 月开始利润增长 (轻微回撤)。
货币对 GBPUSD 的测试结果
在表中提供了货币对 GBPUSD 的测试结果:

常规化的结果在表中表示 (最好的结果为黄色, 最差的为红色):

如表中所示, 可变指数动态平均线最好, 尼克·洛普克移动平均线和简单方法移动平均线的结果也相当好。VIDYA, NRMA 和 SMA 的测试结果如图例 11-16 所示。






图例 11-16 展示的 VIDYA, NRMA 和 SMA 看起来有些相同, 在交易开始时观察到略有回撤; 进而, 图表增长, VIDYA 的交易数量大于 NRMA 和 SMA。VIDYA 获利交易的百分比超过 NRMA 和 SMA。
货币对 USDJPY 的测试结果
在表中提供了货币对 USDJPY 的测试结果:

常规化的结果在表中表示 (最好的结果为黄色, 最差的为红色):

如表所示, 可变指数动态平均线, 以及均化方法为简单和线性加权的移动平均线具有最好的结果。VIDYA 的总净利润, 利润率, 锋锐比率指数均超过 SMMA 和 LWMA, 但 SMMA 和 LWMA 的余额和净值回撤最少。VIDYA, SMMA 和 LWMA 的测试结果显示在图例 17-22 中。






图例 17-22 所示, 尽管交易的盈利百分比比较低, 但各项指数表现出较高的净利润。这与货币对 USDJPY 具有高波动性的事实有关。
货币对 USDCAD 的测试结果
货币对 USDCAD 的测试结果在下表中提供:

常规化的结果在表中表示 (最好的结果为黄色, 最差的为红色):

如表所示, 自适应移动平均线, 简单方法移动平均线和可变指数动态平均线具有最好的指数。自适应移动平均线展示了利润因子, 恢复因子和锋锐比率的最佳指数, 以及最小的余额和净值回撤。可变指数动态平均线的净利润总额最大, 其它指数并不是最高的。AMA, SMA 和 VIDYA 的测试结果如图例 23-28 所示。






图例 23-28 展示出 AMA 的交易量最低, 盈利交易的比例最高。SMA 和 VIDYA 利润最高是出于交易数量较大, 而盈利交易的数量超过亏损。没有在 AMA, SMA 和 VIDYA 的图表上观察到大幅回撤。
货币对 AUDUSD 的测试结果
货币对 AUDUSD 的测试结果在下表中提供:

常规化的结果在表中表示 (最好的结果为黄色, 最差的为红色):

如表所示, 可变指数动态平均线, 以及均化方法为指数和平滑的移动平均线具有最佳指数。VIDYA 展示出总净利润, 利润因子, 恢复因子和锋锐比率的最佳指数。EMA 和 SMMA 具有几乎相等的指数和相等的交易量。VIDYA, EMA 和 SMMA 的测试结果如图例 29-34 所示。






图例 29-34 所示, VIDYA, EMA 和 SMMA 的余额 (净值) 图表大致相同, VIDYA 的盈利交易数量高于 EMA 和 SMMA。货币对 AUDUSD 波动性较低, 这可解释所得到的结果。
在货币对 EURUSD, GBPUSD, USDJPY, USDCAD, AUDUSD 的测试结果基础上可以得出以下结论:
对于具有较高 (GBPUSD, USDJPY) 和较低 (AUDUSD) 波动性的货币对, 可变指数动态平均线展示出最佳结果
在货币对 USDCAD 上自适应移动平均线展示出最佳结果, 不过在货币对 EURUSD 上则展示出较差结果
在货币对 EURUSD 上三重指数移动平均线展示出最佳结果
对于货币对 GBPUSD, USDJPY, USDCAD, AUDUSD 分形自适应移动平均线展示出最差结果
公平的结果则是由可变均化周期的标准移动平均线指标来展现。
结束语
我们研究了不同的移动平均线 (MA (简单, 指数, 平滑, 线性加权), DEMA, TEMA, FRAMA, AMA, VIDYA, NRMA), 描述了每个 MA, 的计算过程。在同等入场和离场交易条件下对移动平均线进行了比较和优化。
根据得到的结果可以得出以下结论:
通过优化任何所研究的移动平均线参数, 可得到盈利的策略;
大部分移动均线是 EMA 指标的变体;
基于 EMA 的移动平均线的主要优势在于横盘时减少假信号, 且对于趋势的变化反应更快;
可变指数动态平均线展示了最假的结果, 它既可用于波动性较高/较低的货币对, 也可用于平均波动性的货币对。
本文研究了四个技术指标 (AMA, FRAMA, VIDYA, NRMA), 它们与 EMA 的不同之处在于平滑因子的计算方法。可能对于某个人来说, 这会成为激发更具效力的全新 EMA 指标变体的诱因。