移动平均线的类型
本节包含一些简述和公式来计算有关的移动平均线。
移动平均线技术指标
移动平均线 是最广泛的技术指标之一。它描述了品种在给定时间周期的价格平均值。MA 指标存在各种的变体:
-
简单移动平均线 (SMA);
-
指数移动平均线 (EMA);
-
平滑移动平均线 (SMMA);
-
线性加权移动平均线 (LWMA)。
以下, 赫兹量化软件给出移动平均指标的每个变体的计算公式:
移动平均指标的变体 | 计算公式 | 注释 |
---|---|---|
简单移动平均线 (SMA) | n 是周期单元数 (例如, 如果在 M15 时间帧的图表中 n=6, 指标计算先前的 1.5 小时)PRICE 是当前价格值, 可以在指标设置中选择以下变体: 最高价, 最低价, 开盘价, 收盘价, 中间价((最高价+最低价)/ 2), 典型价 ((最高价+最低价+收盘价)/3) , 加权收盘价 ((最高价+最低价+收盘价+收盘价)/4), 或前一个指标的数据 | |
指数移动平均线 (EMA) | EMA(i-1) 是以前的数值F 是平滑因子 (所用价格的份额)。系数 F 从 0 到 1 的范围内随机选择, 例如, F=2/(n+1), 其中 n - 是周期单元数。PRICE 是当前的价格数值 | |
平滑移动平均线 | SMMA(i-1) 是以前的数值n 是周期单元数PRICE 是当前的价格数值 | |
线性加权移动平均线 | PRICE 是当前的价格数值n 是周期单元数 |
-
n 是周期单元数 (例如, 如果在 M15 时间帧的图表中 n=6, 指标计算先前的 1.5 小时)
-
PRICE 是当前价格值, 可以在指标设置中选择以下变体: 最高价, 最低价, 开盘价, 收盘价, 中间价((最高价+最低价)/ 2), 典型价 ((最高价+最低价+收盘价)/3) , 加权收盘价 ((最高价+最低价+收盘价+收盘价)/4), 或前一个指标的数据
指数移动平均线 (EMA)a
-
EMA(i-1) 是以前的数值
-
F 是平滑因子 (所用价格的份额)。系数 F 从 0 到 1 的范围内随机选择, 例如, F=2/(n+1), 其中 n - 是周期单元数。
-
PRICE 是当前的价格数值
平滑移动平均线a
-
SMMA(i-1) 是以前的数值
-
n 是周期单元数
-
PRICE 是当前的价格数值
线性加权移动平均线a
-
PRICE 是当前的价格数值
-
n 是周期单元数
赫兹量化软件来研究价格图表上显示的不同移动平均指标变体。图例 1 展示的是按收盘价计算, 周期为 12 的移动平均线指标的变体。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图例 1. 移动平均指标的变体
如图所示, 简单移动平均线在横盘时稍微波动, 这可能会产生假的交易信号。平滑移动平均线, 形如其名, 它看起来更平滑。指数移动平均线和线性加权移动平均线在横盘时的行为有点类似。在趋势行情期间, 线性加权移动平均线相较其余线更接近价格, 与 SMMA 和 EMA 相反, 它不依赖以前的数值。
基于指数均线 (EMA) 的技术指标
指数移动平均线 (EMA) 是其它一些技术指标的基础。
指标 | 描述 | 计算公式 | 计算公式的说明 |
---|---|---|---|
自适应移动平均线 (AMA) | MA 对噪音敏感度低。如果与其余的均线相比, 该指标在判断趋势反转和变化时滞后最小。在价格尖刺时, 它不会产生强烈的波动, 因此不会被称为假的交易信号。 | AMA(i-1) — 是指标的以前数值Price(i) — 是当前的价格数值SSC(i) — 平滑常量 | |
双重指数移动平均线 | 它用来平滑价格或其它指标的数值。 主要优点在于当价格以之字形方式移动时, 没有假信号。与通常的 EMA 相比, 它可在强趋势期间维持位置, 并降低信号的滞后。 | EMA(Price, n, i) — Price 序列周期为 n 的 EMA 当前值。EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) — Price 序列周期为 n 的双重 EMA。 | |
三重指数移动平均线 | 单重、双重和三重指数 MA 的合成。总滞后要远远低于每一个单独的 MA。该指标经常替代传统移动平均线, 应用在平滑价格图表以及其它指标的数值。 | EMA(Price, n, i) — Price 序列周期为 n 的 EMA 当前值。EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) — Price 序列周期为 n 的双重 EMA。EMA3(Price, n, i)=EMA(EMA2(Price, n, i), n, i) — Price 序列周期为 n 的三重 EMA。 | |
分形自适应移动平均线 | 此处的平滑因子是在当前价格序列的分形维数基础上计算得来的。指标优点是跟随强趋势, 并在整理期间, 大幅放缓。 | Price(i) — 是当前的价格数值A(i) — 当前的指数平滑因子 | |
可变指数动态平均线 | 这是一个平均周期依据行情波动动态变化的 EMA。 行情波动由钱德动量振荡 (CMO) 测量。它衡量给定周期 (CMO 周期) 的正、负增量总和之间的比率。CMO 值是 EMA 平滑因子的系数。因此, 指标有两个设置参数: CMO 振荡器周期和 EMA 平滑周期。 | F=2/(n+1) 是平滑因子, n 是周期单元数ABS 是计算变量绝对值的数学函数VIDYA(i-1) — 是指标的以前数值CMO(i) — 是 CMO 振荡器的数组值 | |
尼克·洛普克移动平均线 | 该指标并非标准 赫兹量化软件发布包中的一部分。其主要优点是在横盘时几乎没有波动; 它严格跟踪趋势。 | NRMA(i-1) — 是指标的以前数值Price(i) — 是当前的价格数值F=2/(n+1) 是平滑因子, n 是周期单元数NRratio 是平滑因子的比率 |
-
AMA(i-1) — 是指标的以前数值
-
Price(i) — 是当前的价格数值
-
SSC(i) — 平滑常量
双重指数移动平均线它用来平滑价格或其它指标的数值。 主要优点在于当价格以之字形方式移动时, 没有假信号。与通常的 EMA 相比, 它可在强趋势期间维持位置, 并降低信号的滞后。a
-
EMA(Price, n, i) — Price 序列周期为 n 的 EMA 当前值。
-
EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) — Price 序列周期为 n 的双重 EMA。
三重指数移动平均线单重、双重和三重指数 MA 的合成。总滞后要远远低于每一个单独的 MA。 该指标经常替代传统移动平均线, 应用在平滑价格图表以及其它指标的数值。 a
-
EMA(Price, n, i) — Price 序列周期为 n 的 EMA 当前值。
-
EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) — Price 序列周期为 n 的双重 EMA。
-
EMA3(Price, n, i)=EMA(EMA2(Price, n, i), n, i) — Price 序列周期为 n 的三重 EMA。
分形自适应移动平均线此处的平滑因子是在当前价格序列的分形维数基础上计算得来的。指标优点是跟随强趋势, 并在整理期间, 大幅放缓。a
-
Price(i) — 是当前的价格数值
-
A(i) — 当前的指数平滑因子
可变指数动态平均线这是一个平均周期依据行情波动动态变化的 EMA。 行情波动由钱德动量振荡 (CMO) 测量。它衡量给定周期 (CMO 周期) 的正、负增量总和之间的比率。CMO 值是 EMA 平滑因子的系数。因此, 指标有两个设置参数: CMO 振荡器周期和 EMA 平滑周期。a
-
F=2/(n+1) 是平滑因子, n 是周期单元数
-
ABS 是计算变量绝对值的数学函数
-
VIDYA(i-1) — 是指标的以前数值
-
CMO(i) — 是 CMO 振荡器的数组值
a尼克·洛普克移动平均线该指标并非标准赫兹量化软件发布包中的一部分。其主要优点是在横盘时几乎没有波动; 它严格跟踪趋势。 a
-
NRMA(i-1) — 是指标的以前数值
-
Price(i) — 是当前的价格数值
-
F=2/(n+1) 是平滑因子, n 是周期单元数 NRratio 是平滑因子的比率
指标与普通 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)。
所有的指标都是以收盘价格为基础制定的。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图例 2 基于指数移动平均线 (EMA) 的指标比较
如图例 2 所示, 与普通 EMA 相比, DEMA 和 TEMA 更准确地跟随价格走势; 然而, 它们在横盘时的波动可能会给出假的交易信号。其余的指标 (FRAMA, AMA, VIDYA, NRMA) 在横盘时几乎没有摆动, 对小幅价格变化没有反应。在趋势中, 几乎所有的指标表现相若, TEMA 和 FRAMA 在趋势方向变化时反应更迅速。
各类移动平均线的比较
赫兹量化软件在交易策略里以等同的入场和离场条件比较上面研究的技术指标。
交易策略规范
为了测试指标, 选择了一个具有明显入场和离场条件的简单策略。
入场条件:
-
初步买入信号: 指标线与阳线实体交叉。进而, 如果指标的当前数值与前一个数值之间的差值超过了指定 Growth 因子 (指标增长), 则买入交易开单。
-
初步卖出信号: 指标线与阴线实体交叉。进而, 如果指标的前一个数值与当前数值之间的差值超过了指定 Growth 因子 (指标下跌), 则卖出交易开单。
离场条件:
-
一旦触及止盈位或止损位;
-
若是买入交易开单, 指标线与阴线实体交叉;
-
若是卖出交易开单, 指标线与阳线实体交叉;
图例 3, 4 展示了策略交易的例子。
编辑
添加图片注释,不超过 140 字(可选)
图例 3. 买入交易示例
编辑
添加图片注释,不超过 140 字(可选)
图例 4. 卖出交易示例
可在赫兹量化软件终端导航器中找到类似移动平均线智能交易系统的交易策略。
创建智能交易系统
赫兹量化软件来为上述指定交易策略编写智能交易系统。智能交易系统中实现了在以下技术指标之间进行选择的功能: MA (简单, 指数, 平滑, 线性加权)等方法), DEMA, TEMA, FRAMA, AMA, VIDYA, NRMA。所选指标将在图表上绘制。此外,, 我们还可以指定指标的输入参数, 设置止盈和止损的大小, 交易手数的大小, 指标增长系数 (Growth 因子) 的数值。
赫兹量化软件只在一根新柱线开盘时, 而非每个分笔报价, 检查入场和离场的条件。首先检查是否有持仓 (为此目的, 智能交易系统中提供了 SelectPosition 函数)。如果没有这样的持仓, 我们检查入场条件 (CheckForOpen 函数), 如果有持仓的话 - 我们检查离场条件 (CheckForClose 函数)。
完整的智能交易系统代码附加在文章之后 (文件 MultiMovingAverageExpert.mq5)。我们只研究入场和离场条件的实现。入场条件的检查在 CheckForOpen 函数中实现如下:
if(rt[0].open>ma[0] && rt[0].close<ma[0]) 检查阴线实体的交叉 { if(BuyCross) BuyCross=false; //删除买入先决条件 (如果之前有阳线实体与指标线交叉) SellCross=true; //设置卖出交易先决条件 } else if(rt[0].open<ma[0] && rt[0].close>ma[0]) //检查阳线实体的交叉 { if(SellCross) SellCross=false; //删除买入先决条件 (如果之前有阴线实体与指标线交叉) BuyCross=true; //设置买入交易先决条件 } if(SellCross && ma[0]>ma[1] && ma[0]-ma[1]>GFactor) { signal=ORDER_TYPE_SELL; //如果指标下跌则卖出条件发生 SellCross=false; //删除卖出先决条件 } else if(BuyCross && ma[1]>ma[0] && ma[1]-ma[0]>GFactor) { signal=ORDER_TYPE_BUY; // 如果指标上升则买入条件发生 BuyCross=false; //删除买入先决条件 }
-
数组 rt[] 保留价格的历史数据
-
数组 ma[] 保留指标值。
-
rt[0].close, rt[0].open — 是前一个收盘价/开盘价的数值
-
ma[0] — 是指标的前值
-
ma[1] — 指标的当前值。
-
GFactor — 是指标的增长系数。
-
Variable 信号进一步用于形成买入或卖出交易请求。