English Русский Español Deutsch 日本語 Português
preview
趋势判定标准:结论

趋势判定标准:结论

MetaTrader 5交易系统 |
33 0
Aleksej Poljakov
Aleksej Poljakov

概述

趋势是我们的朋友。但我们对这位朋友知之甚少。如果我们问十个交易者什么是趋势,我们可能会得到十个不同的答案。这些答案可能唯一的共同点就是,趋势是指价格的方向性变动。但至于这个方向应该是什么,每个交易者都会有自己的想法和选择。

当然,也存在一些基于数学的趋势判断标准。但它们可能存在某些缺点。例如,许多标准会进行调整以符合正态分布,而其他标准则对时间序列的最小长度有所限制。

让我们尝试根据经典标准制定我们自己的趋势评估方法。我们会努力做到让趋势说:“交易者是我的朋友。”


阿贝(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 指标
  • Indicator period -最小值为 3。
EA Abbe 1 EA
  • LvlStDev - 标准差水平;
  • LvlDevAl - 阿伦方差水平;
  • LvlTrend - 趋势水平。
Abbe 2 指标

EA Abbe 2 EA
  • LvlAbbe - 阿贝标准水平。
Abbe 3 指标

EA Abbe 3 EA
  • LvlMax - 超卖水平;
  • LvlMin - 超买水平。 
Signature 指标
  • Level- 价格偏差水平(以点数表示)。
EA Signature EA

Kendall 指标

Sorting 指标

EA Sorting EA

Average 指标

EA Average EA

本文由MetaQuotes Ltd译自俄文
原文地址: https://www.mql5.com/ru/articles/17811

附加的文件 |
Abbe_1.mq5 (10.41 KB)
EA_Abbe_1.mq5 (3.4 KB)
Abbe_2.mq5 (3.66 KB)
EA_Abbe_2.mq5 (3.53 KB)
Abbe_3.mq5 (3.49 KB)
EA_Abbe_3.mq5 (3.55 KB)
Signature.mq5 (3.08 KB)
EA_Signature.mq5 (3.43 KB)
Kendall.mq5 (3.96 KB)
Sorting.mq5 (3.26 KB)
EA_Sorting.mq5 (3.39 KB)
Average.mq5 (3.36 KB)
EA_Average.mq5 (3.35 KB)
交易策略 交易策略
各种交易策略的分类都是任意的,下面这种分类强调从交易的基本概念上分类。
您应该了解的MQL5向导技巧(第六十八部分):结合余弦核网络使用TRIX与威廉百分比范围形态 您应该了解的MQL5向导技巧(第六十八部分):结合余弦核网络使用TRIX与威廉百分比范围形态
在前一篇中,我们介绍了三重平滑指数平均线(TRIX)与威廉百分比范围(WPR)指标组合,本文承接前文,将探讨如何通过机器学习对这一指标组合进行扩展优化。TRIX属于趋势指标,威廉百分比属于支撑/阻力震荡指标,二者形成互补。我们的机器学习方案采用卷积神经网络,网络结构中集成了余弦核函数,用于对该指标组合的预测结果进行精细调优。与之前类似,所有逻辑都封装在自定义信号类文件中,可配合MQL5向导直接生成智能交易系统(EA)。
新手在交易中的10个基本错误 新手在交易中的10个基本错误
新手在交易中会犯的10个基本错误: 在市场刚开始时交易, 获利时不适当地仓促, 在损失的时候追加投资, 从最好的仓位开始平仓, 翻本心理, 最优越的仓位, 用永远买进的规则进行交易, 在第一天就平掉获利的仓位,当发出建一个相反的仓位警示时平仓, 犹豫。
市场模拟(第 17 部分):套接字(十一) 市场模拟(第 17 部分):套接字(十一)
在 MetaTrader 5 中运行的那部分代码的实现没有任何困难。然而,有几点需要考虑。这是必要的,这样你才能让系统正常工作。记住一件重要的事情:不会只有一个程序在运行。事实上,我们必须同时运行三个程序。重要的是,要确保每个部分都能以一种能够相互交流和沟通的方式实施和构建,并且每个部分都能理解其他部分正在尝试或打算做什么。