趋势判定标准:结论
概述
趋势是我们的朋友。但我们对这位朋友知之甚少。如果我们问十个交易者什么是趋势,我们可能会得到十个不同的答案。这些答案可能唯一的共同点就是,趋势是指价格的方向性变动。但至于这个方向应该是什么,每个交易者都会有自己的想法和选择。
当然,也存在一些基于数学的趋势判断标准。但它们可能存在某些缺点。例如,许多标准会进行调整以符合正态分布,而其他标准则对时间序列的最小长度有所限制。
让我们尝试根据经典标准制定我们自己的趋势评估方法。我们会努力做到让趋势说:“交易者是我的朋友。”
阿贝(Abbe)标准
该标准基于对两种方差的比较 — 普通方差和阿伦方差。在存在趋势的情况下,这两种方差的表现不同。例如,我们来看一个时间序列,其值为 3、2、1。要计算简单方差,我们首先需要求出该序列的均值:
![]()
之后,我们就可以开始计算方差了:
![]()
要计算阿伦方差,我们只需要时间序列值的连续差分:
![]()
现在,让我们对原始时间序列进行扩展,其值将为:5、4、3、2、1。
我们来计算一下方差:
![]()
![]()
![]()
我们可以继续扩展这个系列,但基本思想仍然保持不变。趋势的存在对阿伦方差没有任何影响。传统方差取决于趋势的持续时间。
为了得出阿贝标准,我们需要求出这些方差的商:
![]()
所得数值越低,趋势越强。这个标准本身没有问题,但在市场条件下,由于平方运算,可能会得出错误的结果。如果我们把这一标准应用于足够长的时间序列,这一缺点就不会显现出来。但如果时间序列较短,那么即使只有一个异常价格值,也会对该指标的值产生强烈且不利的影响。
为了克服这一缺点,我们可以采用稳健统计方法。关于这些方法,可以单独写一篇文章。但我现在就写。我们需要使用中位数,而不是平均数,并且不要取平方 — 即差的绝对值。A. Chekhov 曾言,简洁是才华的姊妹。所以我想这应该算是我有天赋吧。
算法如下。首先,我们需要获取所有价格值,并按升序排列。那么,如果价格数量为奇数,中位数将等于中间的价格;如果价格数量为偶数,中位数将等于两个中间值之和的一半。

之后,我们需要计算每个价格与中位数的绝对偏差:
![]()
并求出所得值的中位数。因此,我们得到了中位数绝对偏差(MAD),这是标准偏差的稳健估计(此处有一些细微差别 — 必须应用一个校正因子,但此处我们不需要)。除了计算阿伦方差,我们还将计算偏差。为此,我们首先需要求出连续价格差的绝对值:
![]()
然后,我们应该求出所得值的中位数。本质上,这个中位数反映的是每 1 根柱上的平均价格变化幅度。
现在,让我们来思考一下,对我们而言,什么才是一个趋势的标志。所得标准差估计值越大,趋势存在的概率就越高。阿伦偏差越大,趋势速度也越大。我们已经考虑了理论,现在让我们尝试将这些特性应用于实践。
首先,我们需要确定偏差的大小。例如,我们得到的偏差分数为 50 分。这算多还是少?只有将当前值与先前的值进行比较,我们才能回答这个问题。为此,我们需要收集统计数据,在这些数据中,我们将存储偏差值以及它们在历史上出现的次数。根据这些统计数据,我们可以计算出累积分布函数(CDF)。基于这一函数,我们可以判断偏差的大小。大偏差较为罕见,其累积函数值较大。
偏差可以告诉我们趋势的强度,但无法告诉我们趋势的方向。有必要添加一些其他标准来指示这个方向。我将使用前一篇文章中描述的肯德尔(Kendall)标准。
因此,我们需要将 3 个不同的标准合并为一个指标。

趋势的存在可通过三个迹象来判断:标准差值较大(蓝色)、价格比率值较大(红色)、肯德尔标准与50水平存在显著偏差(绿色)。
让我们来看一个基于这个指标的简单交易策略的例子。若指标确认存在趋势,则将开立仓位。当肯德尔系数接近 50 时,仓位将被平掉。这一策略可能会产生以下结果。

我们已经找到了处理峰值的方法。但我们是否已经考虑到了所有可能的方案?我们来看一个包含以下数值的时间序列:1, 0, 0, 0, -1。该序列中哪些值是异常值?是边缘的那些还是中间的那些?要回答这些问题,我们需要更多信息。但我们可以尝试自己寻找答案。为了排除价格变动中可能存在的异常影响,我们需要考虑时间序列中所有成员的值。
为了应对异常情况,我们需要对阿贝标准的原始方程进行小幅修改。我们将按照以下步骤计算阿伦方差:
![]()
标准差公式也会随之改变:
![]()
然后,可以使用以下公式求出该标准的值:
![]()
所得值越高,趋势越强。由于我们放弃了对数值进行幂运算,因此标准的变化将非常平滑。为了让标准的变化更加明显,我将其相对于历史最小值和最大值进行了归一化处理。为了确定趋势的方向,我将采用肯德尔(Kendall)标准。该指标看起来是这样的:

基于这一指标,我们制定了一个包含以下规则的策略:
- 只有当阿贝标准没有上升且高于一定水平时,才会开仓。
- 如果肯德尔指标上升且低于设定水平,则建立买入仓位。
- 如果该指标下降且高于设定水平,则开立卖出仓位。

在计算阿伦方差时,我们使用了绝对差之和。这个数值显示了价格变动的总幅度。知道了这个距离,我们就可以估计线性趋势的强度。新值可按如下方式计算:
![]()
分子计算的是时间序列的初始值和最终值之间的距离。分母包含总距离。该指标越接近 1,趋势就越明显。较低的数值表明价格走势更接近横盘或无序波动。但在此我们需要提出一个警告:小幅度的数值变化也可能伴随着价格的剧烈波动。

根据这一指标,我制定了一个包含以下规则的策略:若肯德尔标准显示趋势方向发生改变,则开立仓位。此外,新标准的值必须与平均值有足够大的偏差。换句话说,新的标准将用作过滤器,以确定趋势结束的原因。

因此,在讨论一个经典的趋势标准时,我们得出了三个修改版。我们可以就此打住,转而关注其他标准。
下一个标准
符号(Sign, Signature)标准是最简单、最直观的标准之一。描述起来很简单:如果当前价格高于前一个价格,那么就是“+”号。如果低于前一个价格,则为“-”号。当所有符号都标注完成后,就可以对是否存在某种趋势及其方向做出结论。
但这一标准有一个重大缺陷:它无法用来判断趋势的强度。想象一下,价格连续上涨 5 次,每次上涨 1 个点。从图表上看,你会自信地说:市场在这里处于横盘整理状态。但符号标准会给出 4 个“+”,并自信地表明上升趋势。我们来想办法克服这个缺点。
首先,我们需要为价格变化设定一个阈值。那么,计数符号的规则将略有改变。

首先,让我们来看看基于这一标准的指标。

一个指标明显高于另一个指标,这表明存在某种趋势。这里有一个简单的策略:如果一个符号的线与另一个符号的线交叉,就开仓。
结果看起来并不理想。但这只能说明一件事:这项策略需要改进。
肯德尔标准也是基于标志的数量。它也存在同样的缺点:它将价格上涨 1 个点视为稳定的趋势。我会稍微修改一下这个标准。这些变化的本质其实很简单。该指标将收集价格变动的统计数据,收集的柱数可以是1、2,或者根据指标周期的需要,收集更多柱数的数据。例如,设指标周期为 3。我将得到两个统计数据。单根柱价格走势对比:
![]()
以下是两根柱的价格走势统计数据:
![]()
基于这些统计数据,我计算了累积分布函数 (CDF),所有 CDF 的总和将指示趋势的强度和方向。这个指标结果相当有趣,但加载需要一些时间。因此,不会有基于此指标的 EA。如果您喜欢该指标,您可以随时在自由职业中创建一个订单,请求将该指标逻辑转移到 EA 中。
接下来是下一个标准
许多非参数趋势标准采用对原始值进行排序的方法。这些标准很好,因为它们可以识别线性趋势和非线性趋势。这些标准的主要缺点在于,它们无法区分趋势的强弱。对它们而言,价格变动 1 点或 100 点看起来并无差别。一种可能的解决方案是将参数方法和非参数方法结合起来。
这是此类组合的第一个例子。让我们获取所需的价格数据,并按升序排列。这是该标准的非参数部分。在此之后,我们将原始时间序列与排序后的时间序列进行比较。这已经是参数化部分了。
![]()
如果趋势是下降的,原始价格和排序后的价格将保持不变,总和值将等于 0。如果呈上升趋势,数值将会相当大。数值越大,上升趋势越强劲。我想把这个标准称为“优秀版主的标准”。但我差点因此被封号。所以,就称其为排序(Sorting)标准吧。
现在,让我们来看看这个标准在实践中是如何应用的。首先,需要收集这些数值的历史统计数据。基于这些统计数据,我们构建了累积分布函数 (CDF)。根据累积分布函数,我们可以判断趋势的强度和方向。当然,还需要检验这一标准在实践中是否适用。

利用 SMA 值,可以构建另一种非参数方法和参数方法的组合。这一标准的本质非常简单。SMA 值在上升趋势中会增大,在下降趋势中会减小。例如,一般指标周期为 3。这样我就可以构建 3 种不同的 SMA:
![]()
![]()
![]()
我会将得到的数值按升序排列。统计数据将与上一个示例中的数据相似。但是,我将比较原始的 SMA 索引和排序后得到的索引,而不是比较价格。微小的差异表明呈下降趋势。随着上升趋势的出现,绝对差值的总和将会相当大。

该标准似乎相当有效,在交易中可能很有用。当然,这个标准还可以进一步优化。例如,我们可以使用周期相同的指标。除了简单移动平均线(SMA)之外,我们还可以使用其他趋势跟踪指标。
结论
了解趋势有助于交易者预测价格变动,并利用这一预测来获利。然而,重要的是要记住,趋势并不总是可以预测的,即便是最可靠的分析方法也可能失败。因此,交易者需要不断改进和调整自己的策略,以适应不断变化的市场环境。修改经典趋势标准或制定自己的标准有助于解决这一问题。
EA 测试是在以下参数下进行的:
- EURUSD
- H1
- 2024年1月1日 - 2024年12月31日
撰写本文时使用了以下程序。
| 名称 | 类型 | 描述 |
|---|---|---|
| Abbe 1 | 指标 |
|
| EA Abbe 1 | EA |
|
| Abbe 2 | 指标 | |
| EA Abbe 2 | EA |
|
| Abbe 3 | 指标 | |
| EA Abbe 3 | EA |
|
| Signature | 指标 |
|
| EA Signature | EA | |
| Kendall | 指标 | |
| Sorting | 指标 | |
| EA Sorting | EA | |
| Average | 指标 | |
| EA Average | EA |
本文由MetaQuotes Ltd译自俄文
原文地址: https://www.mql5.com/ru/articles/17811
注意: MetaQuotes Ltd.将保留所有关于这些材料的权利。全部或部分复制或者转载这些材料将被禁止。
本文由网站的一位用户撰写,反映了他们的个人观点。MetaQuotes Ltd 不对所提供信息的准确性负责,也不对因使用所述解决方案、策略或建议而产生的任何后果负责。
您应该了解的MQL5向导技巧(第六十八部分):结合余弦核网络使用TRIX与威廉百分比范围形态
新手在交易中的10个基本错误
市场模拟(第 17 部分):套接字(十一)