本文将介绍一种新的技术交易工具,这是最有用和有意义的工具之一,可以帮助我们更好地交易和了解行情走势。 因为技术指标最有用的特征之一就是它们可以表达价格无法示意的内容,而这将基于每个指标的计算方式,其中一个有用的指标是平均方向指数(ADX)指标。 我们将详尽地学习这个指标,从而能够更好地理解它,并学习如何在简单策略里运用它,因为当我们深入学习一些东西时,我们将能够获得更多的认知,并可更好地运用它。
我们的学习将贯穿以下主题:
贯穿 ADX 定义主题,我们将详细讨论什么是平均方向指数(ADX)指标,及其测量值,以及如何手工计算它,从而加深对其理解,并能够用它获利。 然后,在充分理解该指标及其工作原理后,我们将探讨一个可以在交易中使用的简单策略,这部分会放在 ADX 策略的主题之后。 然后在 ADX 策略蓝图的主题中,我们将学习如何设计蓝图,来帮助我们编写其代码,从而为该策略设计实现交易系统。 然后我们将学习如何运用此策略编写交易系统,这部分会在 ADX 交易系统的主题来实现。
我们将使用 MetaTrader 5 交易平台和 MetaQuotes 语言编辑器,该编辑器内置于 MetaTrader 5 当中,您可以通过以下链接下载它:下载MetaTrader 5平台在全球金融市场进行交易
下载并安装 MetaTrader 5 之后,您会发现它与交易平台的下图相同:
我建议您自己应用本文中的所有内容,因为这能快速拓展您的技能,并令您对这个主题有深刻的理解。 实践是任何发展的关键。 因此,最好尝试应用每个概念,并亲自测试,因为我们将学习如何运用技术工具来设计交易系统,我们将通过 MQL5 编写一些代码来创建智能交易系统或程序,从而帮助我们更好地进行交易。 基本需求还要有一个演示帐户来进行测试和应用,如果您不知道做,可以通过 MetaTrader 5 本身开立演示帐户,方法是在 MetaTrader 5 终端按“文件”选项卡-->开户-->您可以输入经纪商的名称,通过他们开立一个演示帐户,或者选择 “MetaQuotes-->下一步-->选择开立无风险资金演示帐户进行虚拟交易”-->下一步-->输入您的数据并确定帐户要求,然后勾选“我同意-->下一步-->然后找到您的演示帐户凭据-->完成。
您现在就可以使用此帐户进行虚拟交易了,方法是单击“文件”选项卡-->登录到交易帐户-->输入您的演示帐户凭证,然后按“确定”。
免责声明:所有信息“按原样”提供仅用于教学目的,并非出于交易目的或建议。 所有信息不能保证任何结果。 如果您选择在您的任何交易账户上使用这些材料,您将自行承担风险,您是唯一的责任人。
现在,我们开始学习一种新的工具,它可以令我们的交易结果变得更好。
ADX 定义
在这一部分中,我们将详细探讨技术交易世界中最流行的指标之一,来了解它是什么,它衡量什么,以及我们如何计算它,如此即能够更好地理解它,然后我们就可以在策略里实现它,甚至通过围绕它的新思路来更好地加以运用它。 该指标是平均方向指数(ADX),由威尔斯·怀尔德(Welles Wilder)开发,用于测量并确认是否存在趋势,因为根据其计算,它取一个时期的交易范围,并与此前一个时期的交易范围进行比较。
从比较的结果当中,我们可以发现:
- 提升或衰退(正向走势或负向走势)。
- 无提升或衰退。
- 提升或衰退。
如果有正向走势,则意味着一个周期的高点超过了前一个周期的高点,其符号为(+DM)。
下图向我们展示了它的价格动作在图表上是如何进行的:
且反之亦然,如果存在负方向走势,则表示一个周期的低点超过前一个周期的低点,其符号为(-DM)。
下图向我们展示了它的价格动作在图表上是如何进行的:
如果我们没有得到正向走势,也没有负向走势。 这意味着高点没有超过之前的高点,低点没有超过之前的低点。
下图向我们展示了它的价格动作在图表上是如何进行的:
如果我们正向走势、负向走势两者兼而有之。 这意味着高点超过了先前的高点,低点超过了先前的低点。
下图向我们展示了它的价格动作在图表上是如何进行的:
我们来了解如何计算它,因为它将为我们提供更多的认知。 因此,以下是计算(ADX)的步骤,需要注意的是,所有数值都必须是绝对值:
1- 计算 +DM 和 -DM:
在这一步中,我们需要判定与前一步相比,当前走势是向上还是向下。 因此,我们将计算两件事:
- 如果有向上走势,则 (+DM) 指正向走势。
它将通过(+DM = 当前高点 - 前一高点)来计算
- 如果有向下走势,则 (-DM) 指负向走势。
它将通过(-DM = 当前地点 - 前一地点)来计算
因此,我们将检查每个计算周期,并检查它是否为 +DM,-DM,或任何其它值。
- 如果我们得到 +DM,那么:
+DM=n
-DM = 0
- 如果我们得到 -DM,那么:
-DM = n
+DM = 0
在某些情况下,我们可以找到其它场景,此刻(+DM 和 DM)没有数值;或者我们发现找到(+DM 和 DM)均有数值;下面是我们如何处理这样情况的:
- 如果我们没有 (+DM 和-DM),那么:
+DM = 0
-DM = 0
- 如果我们有 (+DM 和-DM) 两者的数值,那么我们将在 +DM 和 -DM 之间进行比较,并考虑最大值,如果数值彼此相等,则忽略这些值:
+DM>-DM = 只会考虑 +DM,
+DM<-DM = 只会考虑 -DM
+DM=-DM = 两者均被忽略
2- 计算真实范围(True Range -TR):
在这一步中,计算 DM 之后,我们将计算(TR),它是以下公式中的最大值:
- 当前最高价和最低价之间的差值。
- 当前最高价高与前一个收盘价之间的差值。
- 当前最低价和前一个收盘价之间的差值。
3- 求已计算出的 14 个周期的总和(+DM、-DM 和 TR)
已计算的前 14 个周期(+DM、-DM 和 TR)求和之后,我们将使用以下公式计算 14 后期后的以下值:
+DM 15 = (前一 +DM - (前一 +DM/14)) + 当前 +DM
-DM 15 = (前一 -DM - (前一 -DM/14)) + 当前 -DM
TR 15 = (前一 TR - (前一 TR/14)) + 当前 TR
4- 计算 14 周期的 +DI 和 -DI
+DI 14 = 100*(+DM14/TR14)
-DI 14 = 100*(-DM14/TR14)
5- 计算 +DI 和 -DI 之间的差值
DI 14 差值 = (+DI 14) - (-DI 14)
6- 计算 +DI 和 -DI 的合计
DI 14 合计 = (+DI 14) + (-DI 14)
7- 计算 DX
DX = 100*((+DI 和 -DI 之间差值)/+DI 和 -DI 的合计))
8- 计算 ADX
ADX = DX 的 14 周期均值
经由前面的步骤,我们能计算 ADX,现在我们来看一个应用这些步骤的示例,假设我们有以下数据:
天数 | 最高价 | 最低价 | 收盘价 |
---|---|---|---|
1 | 110 | 90 | 100 |
2 | 140 | 120 | 130 |
3 | 160 | 120 | 140 |
4 | 150 | 110 | 130 |
5 | 140 | 100 | 130 |
6 | 150 | 130 | 140 |
7 | 170 | 150 | 160 |
8 | 180 | 160 | 170 |
9 | 170 | 150 | 155 |
10 | 170 | 130 | 140 |
11 | 180 | 155 | 160 |
12 | 190 | 175 | 180 |
13 | 220 | 190 | 190 |
14 | 230 | 200 | 200 |
15 | 215 | 205 | 210 |
16 | 200 | 190 | 200 |
17 | 195 | 180 | 190 |
18 | 195 | 180 | 185 |
19 | 210 | 185 | 195 |
20 | 220 | 190 | 200 |
21 | 233 | 195 | 208 |
22 | 246 | 200 | 216 |
23 | 258 | 205 | 223 |
24 | 271 | 210 | 231 |
25 | 283 | 215 | 238 |
26 | 296 | 220 | 246 |
27 | 308 | 225 | 253 |
28 | 321 | 230 | 261 |
29 | 333 | 235 | 268 |
30 | 346 | 240 | 276 |
我们计算之前数据的 ADX:
1- 计算 +DM 和 -DM:
+DM = 当前最高价 - 前一最高价
-DM = 当前最低价 - 前一最低价
2- 计算 TR:
它将是以下各项中的最大值:
- 当前最高价和最低价之间的差值。
- 当前最高价高与前一个收盘价之间的差值。
- 当前最低价和前一个收盘价之间的差值。
下图是计算后得到的 TR:
3- 已计算出的 14 周期的 +DM、-DM 和 TR 求合:
+DM 14 = 合计 +DM 1(天数 2: 天数 15)
-DM 14 = 合计 -DM 1(天数 2: 天数 15)
TR 14 = 合计 TR (天数 2: 天数 15)
4- 计算 14 周期的 +DI 和 DI,第一次计算将从第 15 天开始,因为我们需要 14 DM 来计算 14 DI:
+DI14 = 100*(+DM14/TR14)
-DI14 = 100*(-DM14/TR14)
5- 计算 +DI 和 -DI 之间的差值
DI 14 差值 = (+DI 14) - (-DI 14)
6- 计算 +DI 和 -DI 的合计
DI 14 合计 = (+DI 14) + (-DI 14)
7- 计算 DX:
DX = 100*((+DI 和 -DI 之间差值)/+DI 和 -DI 的合计))
8- 计算 ADX,第一次计算将是 28 天,因为我们需要更多的 14 天来计算 ADX:
ADX = 14 周期的 DX 均值 --> DI (天数 15: 天数 28) 均值
现在,我们手工计算 ADX 指标,但我们不需要这样做,因为它内置于 MetaTrader 5 当中,我们只需学会如何计算它即可,如此加深我们对 ADX 指标及其工作原理的理解。 如果我们需要将其插入到图表中,我们需要做的就是从交易终端的可用指标中选择它,通过(插入-->指标-->趋势-->平均方向移动指数),从下面您可了解我们如何做到这一点:
选择“平均方向移动指数”后,将出现以下窗口:
该窗口用于 ADX 指标的参数,它们与以下相同:
- 确定所需周期。
- 确定 ADX 线的颜色。
- 确定 ADX 线的类型。
- 确定ADX线的宽度。
- 确定 +DI 线的颜色。
- 确定 -DI 线的颜色。
- 确定 +DI 线的宽度。
- 确定 -DI 线的宽度。
- 确定 +DI 线的类型。
- 确定 -DI 线的类型。
确定 ADX 所有参数并按“确定”后,它将被加载到图表上,下图就是一个示例:
ADX 策略
在这一部分中,我们将看到可以采用 ADX 指标的简单策略,我想在这里提到的是,我们只提供了一些基于 ADX 指标的简单策略,您必须知道,ADX 可以在许多策略里运用,从简单到复杂,但在本文里,我们只提到一些简单的策略,这是为了理解指标背后的概念,并学习如何根据指标背后的概念来设计交易系统。
基于 ADX 指标计算背后的概念,它显示出是否存在趋势,无论这种趋势是什么(上行还是下行),如果 ADX 曲线向上移动,这意味着存在趋势,反之亦然,如果 ADX 曲线向下移动,这意味着没有趋势。 但首先我们需要定义趋势,它将与以下内容相同:
趋势定义:
为您提供的信息,价格动作非常重要,它向我们显示了趋势类型,正如我们所知道的那样,我们有三种趋势(上行趋势、下行趋势和横盘)。
上行趋势:它是行情方向或趋势,我们能够看到价格创造了更高的低点和更高的高点,价格上涨,在该行情走势中由买家控场。