English Русский Español Português
preview
交易中的趋势准则

交易中的趋势准则

MetaTrader 5交易 |
26 7
Aleksej Poljakov
Aleksej Poljakov

概述

所有交易者都知道“趋势是您的朋友”这句话。事实上,趋势价格走势能够带来十分巨大的盈利。趋势交易基于价格走势会朝同一方向延续的假设。这种交易类型的主要问题是如何足够准确地判定趋势的开始和结束时间。

今天,有许多方式可以定义和计算趋势参数。在本文中,我们将考察其中最有趣的,并尝试将它们应用到实践之中。


平滑和趋势

价格走势能用一个简单的模型来表示。有一些取决于时间的确定性成分。其中会多出一些随机组件,它不依赖于任何东西,且行为不可预测。交易者面临的任务之一是以某种方式降低这种组件的影响。

最简单的过滤器之一是简单移动平均线。但是该指标有一个严重的缺点 — 滞后。我们模拟趋势,并对其应用周期-3 的 SMA

趋势 0 1 2 3 4 5
SMA - - 1 2 3 4

现在我们尝试摆脱延迟。SMA 方程如下所示:

对其进行修正,其等于一根柱现的平均价格变化:

我们看看新指标的比率如何变化:

具有这种比率的指标能精准地击中趋势。我们将该指标推广到处理任意数量的价格。计算周期为 4 的指标如下所示。

首先,找到 SMA 值:

现在平均价格变化有两次修正:

换言之,我们计算相对于 SMA 中心的平均价格变化。然后,指标方程如下:

该指标与 SMA 之间的差异在短周期时尤其明显。

这种方式的主要缺点是没有准则可用来选择指标周期。交易者应基于自己的研究任意选择。

我们尝试建立一个不依赖于周期的指标。假设我们有一个时间序列 V,我们想提前一步预测它。对于预测,我们将运用最简单的方法 — 用以前的动作定义未来的动作。例如,如果我们的初始值为 V,那么提前一步预测将等于该数值:

一旦出现 V 的新值,我们就会找到预测值和 V 之间的半和。结果值就是下一步的预测:

换言之,随着时间序列新值的出现,预测将进行调整。这种预测方法导致比率为 0.5 的指数平滑

现在我们稍微改变一下预测方式。假设预测变化以相同的强度发生:

换言之,所有预测值都属于线性趋势。构建在该原理上的指标方程将如下所示:

我们有一个递归指标 — 采用其过去的数值,计算指标的当前值。但在这种形式下,它不稳定 — 其中一个比率等于 1。为了克服该问题,我们将对 Indicator[i+1] 应用相同的递归

该指标现在由两部分组成 — SMA,周期为 2,是之前读数中指标速度的一半。我们再做一个改变,令指标更加健壮:

与类似的周期-3 的 EMA 相比,我们的新指标的样子。

不幸的是,完全抑制噪音几乎是一项不可能完成的任务。但这完全有可能识别价格走势中的趋势成分。这两个指标都对趋势参数的变化很敏感。同时,它们的延迟被尽可能降至最小。这些指标既可独立使用,也可平滑价格,也可作为其它指标的数据源。


趋势准则

趋势准则称为随机性准则更为正确。它们的应用本质非常简单。该准则允许我们检查价格序列的随机性。如果准则向我们表明该序列不具随机性,那么我们就能说它是一种趋势。我们看看可能的准则,以及如何将它们应用到技术分析。

阿贝(Abbe)准则。该准则基于两种不同方式计算的方差。正常样本方差对趋势敏感。在艾伦(Allan)方差中,趋势的影响趋于零。通过比较这些离散度,可以评估趋势成分对价格变化的贡献。

我将稍微改变该准则的计算,以便在交易所用:

该准则仅指示趋势的存在。趋势的方向需要通过其它方式判定。

该准则有助于识别趋势的变化时刻。

第一个差异的标志准则。这条准则非常简单直观。我们取 N 个价格。我们将它们切分为连续的对,其中将有 N-1。我们针对每一对应用标志函数:

之后,获取准则数值:

RSI 中,运用相同方式,但价格走势上下行是单独计算的,未考虑标志。

这个统计数据有一个缺点 — -它不能区分标志出现的顺序。换言之,我们可以交换价格,并得到相同的结果。为了摆脱这个缺点,我们能根据其出现的时刻为每个标志分配权重。然后准则计算将如下所示:

在这种情况下,标志序列变得唯一,仅当两个时间序列相似时,才有可能获得同样的结果。

我们看看如何将该准则用于技术分析。使用该准则能获得的数值依赖严格的限制范围内。直觉表明,接近零的数值或许更常见。但是,最好进行必要的检查。

这个假设经证实是正确的。按严格的交易语言来说:我们得到了一个经验概率函数。从该特征中能学到什么?我们能得到超买/超卖水平。我将该水平设置为 33% — 该指标整理出最低值和最高值的三分之一。中间剩下的是横盘。指标本身如下所示:

标志准则是非参数的。这种准则的主要优点是它们的稳定性、及对突然价格变化不敏感。

肯德尔(Kendall)准则。该准则也是基于标志的函数。但该函数的应用略有不同。

该准则的计算可分两个阶段运作。首先,对于每个价格,我们查找标志、及其前面所有价格的总和:

之后,我们查找这些数值的总和:

据该准则,我们比较所有成对价格组合、与价格走势上下行次数。得益于此,我们就能更准确地评估趋势的方向和强度。

Wald-Wolfowitz 排位测试。为了计算该准则,我们需要知道每个价格的排位。排位是低于当前价格的价格数量。例如,我将取 5 个价格值:

索引 0 1 2 3 4
价格 1.05702 1.05910 1.05783 1.05761 1.05657
排位 1 4 3 2 0

索引为 0 的价格高于索引为 4 的单价。这意味着该价格的排位是 1。索引为 1 的价格高于所有其它价格,其排位为 4。所有其它价格的排位按相同的方式计算。

这个准则的本质很简单 — 如果价格形成趋势,那么它们的排位也会被组织起来。相较之,如果排位以某种难以理解的方式混淆,那么价格也会发生一些难以理解的事情。在该示例中,价格是部分排序的,这或许表明存在趋势。

该准则的数值按以下公式计算:

本质上,该准则是自相关函数的健壮变体。基于其构建的指标如下所示:

福斯特-斯图尔特(Foster-Stewart)准则。该准则令我们能够同时距均值和方差评估是否存在趋势。它基于计算顶部和底部的数量记录。对于每个价格读数,我们判定 H 和 L 两个变量值。

如果当前价格高于之前的所有价格,则变量 H 等于 1。如果价格低于之前的所有价格,则变量 L 等于 1。在所有其它情况下,这些变量等于零。准则参数的计算方法如下:

T 参数展示趋势的强度和方向。D 参数类似于阿贝准则,仅示意趋势的存在。这些参数即能够单独使用,也可相互组合使用。

该准则可进行现代化改造,以便同时考虑这两个参数。在经典版本中,如果 T 或 D 的值足够大,则可认为趋势已建立(当然,您需要取 T 的绝对值)。因此,在趋势期间,这些参数的乘积距零的偏离最大。该方式令我们能够识别最强趋势。

现在我们看看如何在交易中运用这些准则。


交易策略

不幸的是,趋势准则并没有告诉我们任何关于趋势开始的信息。它们仅指明趋势已经发生。正是这种属性能用于交易 — 在强劲趋势之后,价格走势的方向或许会变为对立。

我们能利用该假设来创建一个简单的策略。如果趋势准则已达到某个最小值,则需要开仓买入。为了开仓卖出,该准则应达到最大值。换言之,趋势准则用来判定超买/超卖条件。该方式看起来很有前景。


使用其它过滤器能提升策略的性能。阿贝准则可用作这样的过滤器。我要提醒您,该准则仅判定趋势的存在。趋势的方向需要通过其它方式判定。例如,我将使用价格走势的平均速度来判定趋势:

如果获得的值高于、或低于某个级别,那么我认为趋势已经建立。为了确认这一假设,我运用了阿贝准则。如果其值高于某个级别,则趋势假设为真。我保留开仓和平仓,如上一个示例所示。这种策略的结果如下所示:


福斯特-斯图尔特准则允许人们立即评估趋势的存在、及其方向。换言之,该准则可同时当作信号和滤波器。应用该准则能给出以下结果:


该准则的现代化版本令我们能够获得不同的结果。


趋势准则的运用整体是合理的,但也伴随一些困难:

  • 其一,需要使用额外的滤波器来降低假信号的数量。
  • 其二,平仓需要单独的规则,从而降低风险、和资金负担。
  • 其三,趋势准则或许对于所处理价格数量敏感。因此,它们的应用或许需要对时间序列进行初步平滑。对于较小周期,平滑应该是强制性的。


结束语

目前,有几十条趋势准则。在分析市场形势和交易中应用这些准则都很实用。

撰写本文时用到以下程序。

名字 类型 描述
tSMA 指标

SMA 的趋势模拟

  • iPeriod - 指标周期,最小值 3
tEMA 指标 周期-3 的 EMA 趋势模拟
Abbe criterion 指标
Abbe criterion
Criterion Signs 指标 第一个差异的标志准则。
scr Criterion Signs 脚本

评估标志准则值分布的脚本

  • iPeriod - 准则周期
  • ScreenShot - 图像保存至 Files 文件夹之中
Kendall's criterion 指标 Kendall's criterion
Foster-Stewart criterion 指标

Foster-Stewart criterion

  • Type - 参数选择
  • iPeriod - 准则周期
Foster-Stewart criterion I 指标 Foster-Stewart 准则的现行版本
Wald-Wolfowitz criterion 指标 Wald-Wolfowitz criterion
EA 3 criterions EA

根据 3 个准则交易的 EA

  • Type - 准则选择
  • Period Criterion - 周期
  • Criterion level - 响应水平,允许值1-49
EA Abbe criterion EA
  • 均化速度
  • Abbe level - 准则级别,可接受值 1 - 99
EA Foster-Stewart criterion EA
  • T level - 趋势参数级别,可接受值 1 - 49
  • D level - 色散参数级别,可接受值 1 - 99
EA Foster-Stewart criterion I EA
  • Level - 准则级别,可接受值 1 - 49

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

最近评论 | 前往讨论 (7)
Aleksandr Grigorev
Aleksandr Grigorev | 28 12月 2024 在 16:39
Aleksej Poljakov #:

我试试看...还有其他一些有趣的标准,包括支点的定义。我需要想办法用更简单的方式来解释它们。

我不知道测试仪出了什么问题。

谢谢,我会试试的。你在哪里可以找到关于检测标准和数学机制的解释?看起来像是科学来源...

Aleksej Poljakov
Aleksej Poljakov | 28 12月 2024 在 17:35
Aleksandr Grigorev #:

谢谢,我会试试的。你在哪里可以找到关于检测标准和数学机制的解释?看起来像是科学来源...

有很多文献,但所有的标准大多散落在这里和那里。以下是不同标准的精选

Maksim Galichev
Maksim Galichev | 29 3月 2025 在 15:52

我正在研究您文章中描述的沃尔德-沃尔福威茨趋势标准的实际应用。据我所知,Wald-Wolfowitz 准则测试的是数据的随机性/平稳性假设。在 Expert Advisors 交易代码中,重要的是要了解指标的具体回报是什么?

我的理解是否正确:该指标根据沃尔德-沃尔福威茨标准计算价格序列(在本例中为开仓值)随机的概率(百分比)。

结果存储在缓冲区 buffer[0] 中,代表概率百分比(从 0 到 100)。

数值越接近 100%,随机概率越高(无趋势)。

越接近 0%,非随机性概率越高(存在趋势或聚类)?

计算逻辑

该指标对选定时段(iPeriod)的开盘值进行排序,然后根据排序计算统计数据,并通过 CDF(经验分布函数)将其转换为百分比值:

buffer[i] = 100. * cdf / cnt; // 概率百分比

图表中的等级:

indicator_level1 = 33 和 indicator_level2 = 67 是解释的基准:

<33% - 非随机性强(可能有趋势)。

>67% - 高随机性(持平)。

我对您文章中提出的指标解释理解正确吗?

Aleksej Poljakov
Aleksej Poljakov | 29 3月 2025 在 17:24
Maksim Galichev #:

我正在研究您文章中描述的沃尔德-沃尔福威茨趋势标准的实际应用。据我所知,Wald-Wolfowitz 准则测试的是数据的随机性/平稳性假设。在 Expert Advisors 交易代码中,重要的是要了解指标返回的究竟是什么?

我的理解是否正确,即该指标根据沃尔德-沃尔福威茨标准计算价格序列(在本例中为开盘值)随机的概率(百分比)。

结果存储在缓冲区 buffer[0] 中,表示概率百分比(从 0 到 100)。

数值越接近 100%,随机概率越高(无趋势)。

数值越接近 0%,非随机性(存在趋势或聚类)的概率就越高?

计算逻辑

该指标对选定时段(iPeriod)的开放值进行排名,然后根据排名计算统计数据,并通过 CDF(经验分布函数)将其转换为百分比值:

图表中的等级:

indicator_level1 = 33 和 indicator_level2 = 67 是用于解释的基准:

<33% - 强烈的非随机性(可能的趋势)。

>67% - 高随机性(持平)。

我对您文章中提出的指标解释理解正确吗?

是的,您的理解完全正确。唯一的问题是,我设置 33 和 67 的水平只是因为我需要一些水平。您可以设置其他级别,例如 25 和 80。

Maksim Galichev
Maksim Galichev | 29 3月 2025 在 17:51
Aleksej Poljakov #:

是的,你的理解是正确的。唯一的问题是,我设置 33 和 67 级只是因为我需要一些级别。您可以设置其他级别,例如 25 和 80。

谢谢您的答复。

在 MQL5 中自动化交易策略(第三部分):用于动态交易管理的RSI区域反转系统 在 MQL5 中自动化交易策略(第三部分):用于动态交易管理的RSI区域反转系统
在本文中,我们将在MQL5中创建一个基于RSI区域反转策略的EA系统,该系统使用RSI信号来触发交易,并采用反转策略来管理亏损。我们实现了一个“ZoneRecovery”类,用以自动化交易入场、反转逻辑和仓位管理。文章最后将进行系统的回测,以优化性能并提升 EA 的有效性。
从基础到中级:递归 从基础到中级:递归
在本文中,我们将探讨一个非常有趣且颇具挑战性的编程概念,尽管应该非常谨慎地对待它,因为它的误用或误解会将相对简单的程序变成不必要的复杂程序。但是,当正确使用并完全适应同样合适的情况时,递归成为解决问题的绝佳盟友,否则这些问题会更加费力和耗时。此处提供的材料仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
新手在交易中的10个基本错误 新手在交易中的10个基本错误
新手在交易中会犯的10个基本错误: 在市场刚开始时交易, 获利时不适当地仓促, 在损失的时候追加投资, 从最好的仓位开始平仓, 翻本心理, 最优越的仓位, 用永远买进的规则进行交易, 在第一天就平掉获利的仓位,当发出建一个相反的仓位警示时平仓, 犹豫。
人工部落算法(ATA) 人工部落算法(ATA)
文章提供了 ATA 优化算法关键组成部分和创新的详细讨论,其为一种进化方法,具有独特的双重行为系统,可根据状况进行调整。ATA 结合了个体和社会学习,同时使用交叉进行探索和迁徙,从而在陷入局部最优时找到解。