下载MetaTrader 5

技术分析:我们如何分析?

29 八月 2013, 09:11
Victor
0
1 468

介绍

在浏览各种如何使用技术分析相关的出版物时,有些让您无动于衷,有些会激发您发表评论的欲望。正是这种欲望,导致了本篇文章的产生。本文首先指出,将使用特定的分析方法,再次分析我们的行动和结果。


重绘

如果你在 https://www.mql5.com/zh/code 上看到一些指标的相关评论,你会发现,绝大多数用户对指标的重绘深恶痛绝。指标重绘即指,之前的计算结果,受到新数据的影响而被改变。

指标一旦被确认会产生重绘,就没人对它再有兴趣。对待重绘指标的这种态度往往是相当合理的,但在某些情况下,重绘可能并不像刚发现它时那么可怕。为了证明这一点,我们将分析最简单的 SMA 指标。

图 1 中,蓝色表示低速率滤波器的脉冲,它与 SMA(15)指标相对应。在图中所示的案例中,SMA(15)是按序列的输入顺序,取最后 15 个数据的和,再除以 15。现在,计算 SMA(15)数值的计数间隔为 15,我们必须决定在哪个时间点,我们开始分配该值。 

SMA(15)计算前15个输入数据的平均值,此平均值以红色显示在上边图表,而且它应该自第 0 根柱线(图中最右边)开始相对应。另一个案例,是以 SMA(15)作为一个低速率滤波器,配合一个有限长度的采样脉冲,计算出的值,并考虑过滤器的延迟,其值与第 7 根柱线匹配,如图最下边所示的情况。

因此,通过简单的平移,我们以零延迟将移动平均线图表转换成低速率滤波器图表。

请注意,在使用零延迟图表的案例中,一些传统的分析方法会稍微改变它们的意义。例如,两条不同周期均线(MA)的交叉点,与两条不同延迟周期均线(MA)的交叉点,即使交叉点的位置相同,但它们却发生在不同的时间。在第二种情况下,我们得到的交叉时间点,只取决于MA周期,而不是它们的延迟周期。

回到图 1,从下边图中很容易看出 SMA(15)的曲线,大多不及同时刻输入信号平均周期值的一半。有七根柱线的区域,SMA(15)没有数值。由于模糊区域的出现,令我们失去了一些信息,我们推想应该有些延迟补偿,但这是根本错误的。

相同的模糊区域也出现在图 1 的上图,只是因为平移而隐藏在右侧,那里还没有任何输入数据。MA失去与输入序列绑定的时间,并且因为平移的关系,延迟的大小取决于MA的平滑周期。

图 1:均线 SMA(15)的脉冲响应
 图 1:SMA(15)的脉冲响应

如果补偿所有不同周期均线(MA)产生的延迟,这也许会使得均线的结果在时间上与输入序列相匹配。除非这样做有无可争议的优势,否则这将使得模糊区域的结果产生歧义。众所周知,其发生的原因出于采样处理过程,而不是我们的推理错误。

处理这些序列会使用插值算法,各种过滤,平滑,等等,而我们面对的问题,发生在这些序列的边缘,并且没有人会想出因平移而隐藏的部分结果是什么。

我必须承认,均线(MA)图明确地不绘制某些部分是一个比较正确的描绘过滤结果的方式,但这令它们看起来很不寻常。以正常观点来看,我们无法计算 SMA(15),平移 = -7,以及计数索引小于 7 的数值。那么,有没有其它的方式来平滑过滤输入序列的边缘?

让我们尝试使用相同的 SMA 算法来过滤这些序列,但降低每根柱线的平滑周期直至接近于零。此外,我们不应该忘记使用过滤器的延迟补偿。

 

图 2:修改后的 SMA
2:修改后的 SMA

图 2 显示了在这种情况下,如何针对索引 0 到 6 的柱线计算数值。柱线的计数值作为参数用于计算平均值,并与图中底部的彩色圆点对应,垂直线表示输出序列的柱线与平均值的配对关系。0 柱线没有做处理,输入序列的数值被分配到每一个输出上。对于输出序列中索引大于等于 7 的数值则由常规 SMA(15)移位 = -7 计算。

很明显,以这种方法绘制的索引 0 到 6 的输出图型,当有新的柱线生成时,它们会被重绘,重绘的密度随索引值的减小而增加(译者按:索引 6 的柱线将被重绘 1 次,而索引 1 的柱线将被重绘 6 次)。同时,输出序列中的延迟将得到补偿。

分析该示例,我们得到的重绘指标只是标准 SMA(15)的模拟,但它做到了零延迟,输入序列中的边缘也有额外信息,这是标准的 SMA(15)中不存在的。零延迟和额外的信息是一项优势,尽管我们得到的是一个存在重绘的指标,但它比标准的 SMA 指标更详实。

应该强调的是,在这个例子中重绘不会导致任何灾难性的后果。在平移参数的左侧,所有结果与标准的 SMA 相同。

在这个例子中,有意选择了奇数作为 SMA 周期,它能够及时并完全对延迟进行补偿:


t = (N-1)/2,

其中 N 是一个平滑周期。

由于事实上,即使使用这种方法,也不能对序列边缘的 N 个延迟完全进行补偿,而且序列边缘的平滑过滤方法也不是唯一的,此处的这种指标的变体,只是作为一个例子,不可将之当作一个完整的指标。


多时间框架

在 MQL4 和 MQL5 网站上,你可以看到所谓的多时间框架指标。让我们以“ iUniMA MTF ”这个指标为例子,试着找出多时间框架能给我们带来什么。

假设我们是在最低的 M1 时间框架图表窗口,并打算在同一个窗口显示 M30 时间框架的开盘价或收盘价的 SMA(3)。已知构成 M30 时间框架序列的方法,是从 M1 时间框架序列中抽取 1/30 个数值,并舍弃其余 29 个数值。此刻疑问出现,使用 M30 时间框架序列是否合理。 

如果我们在 M1 时间框架里可以得到确切数量的信息,那么与 M30 时间框架的契合点是什么,因为它只含有 1/30 的信息?考虑这种情况下,我们有意从SMA(3)中排除最可用的信息,并在 M1 时间框架窗口中显示其结果。

显然,以上的行动描述看起来很奇怪。是否在 M1 时间框架中使用 SMA(90)过滤整个序列更容易? M1 时间框架中的 SMA(90)频率与 M30 的时间框架中的 SMA(3)频率相等。/p>

在图 3 中所示,在欧美货币对的 M1 图表上使用多时间框架指标“iUniMA MTF”的一个例子。蓝色曲线是 M30 时间框架序列的 SMA(3)的结果。在同一图中,红色曲线是常规“移动平均”指标的结果。因此,使用标准 SMA(90)指标的结果更加自然。

并且没有特别的技术要求。

 图 3:多周期指标的用法

图 3:多时间框架指标的用法

多时间框架指标的用法也是可以有变化的,比如根据当前时间框架,从最低的时间框架中获取信息,并在客户端上显示。这种变化可能是有用的,如果你需要压缩行情显示的比例,甚至超过客户端允许的最低时间框架。但在这种情况下,也无法得到行情的附加信息。

切换至最低的时间框架,利用常规指标来处理所有​​的数据是很容易的,但对于多时间框架指标,却不是这样的。

当开发自定义指标或EA交易时,可能会遇到特殊情况,此时存取各时间框架序列是合理的,而且是唯一可行的解​​决方案,但即使在这种情况下,我们应该记住,较高的时间框架序列是由较低时间框架序列转换而来,而且不附带任何额外的独特信息。


蜡烛图(K线图)

在有关技​​术分析的出版物中,任何与K线图相关的内容经常能令我们兴奋。例如,在文章“K线形态分析”中说到:“K线的优点在于它们表示数据的方式,从中可以看到数据内在的动量”。...K线图可以帮助你渗透到金融市场的“内部”,这是其他图形方式很难做到的。

这样的说法并非唯一。让我们来揭示K线图是否允许我们进入金融市场。

“最低价”,“最高价”,“开价盘”和“收盘价”的序列,用于构成行情的K线图。让我们记住它们都有哪些类别的数值。“最低价”和“最高价”等于该时间框架的最小和最大价位。“开盘价”等于该时间框架的第一个已知的值。“收盘价”等于该时间框架的最后一个已知值。这到底意味着什么呢?

这主要是指,市场行情在某处形成了“最低价”,“最高价”,“开价盘”和“收盘价”序列。 “最低价”,“最高价”,“开价盘”和“收盘价”的形成,与时间没有严格限定。此外,也没有办法通过这些序列来恢复原始行情。最有趣的是,同样“最低价”,“最高价”,“开价盘”,“收盘价”的组合,可以在任意时间框架,任意多根柱线,无限变化的原始行情序列构成。这些结论很平常,而且是众所周知的事实。

因此,如果市场行情由K线图构成,则会对原有信息造成不可逆的失真。使用严格的数学分析方法,基于“最低价”,“最高价”,“开价盘”或“收盘价”,对价格行为评估,其结果并非来自真实的市场行情,而只是它的失真变体。然而,我们应该承认,K线图分析有许多拥护者。

如何能解释呢?也许秘密就在于绘制 K线图的最初目的是为了快速通过视觉,直观的对市场进行分析,但K线图并不适合利用数学方法分析。

因此,为了理解 K线组成的行情图能使用哪些技术分析,让我们谈谈模式识别理论,这是更接近平常人的决策方法,超过正常的数学分析方法。

图 4 所示,根据模式识别理论进行决策制定的一个简化方案。在这案例中,一个决策可以是趋势开始或结束时间的定义,检测开仓时机的最佳时刻,等等。

 

图 4:决策制定方案

图 4:决策制定方案

图 4 所示,原始数据(行情)经初步处理后,在模块 2 建立 K线的主要特征。在我们的案例中,这些值是“最低价”,“最高价”,“开价盘”或“收盘价”。我们不能干涉模块 1 和模块 2 的流程。在客户端,仅有我们关注的特征可供利用。这些特征进入模块 3,并在这里作出判断。

决策制定算法可以由软件实现或手工操作,并且应严格遵守规范。我们可以开发,并以某种方式实现决策制定算法,但我们无法从分析的行情序列里面选择主要特征,因为这个序列并未提供给我们。

提高决策制定系统的成功率,最关键的是主要特征的选择及它们的基本数量,但这个重要的可能性我们没有。在这种情况下,以各种市场形势识别来影响可靠性是十分的困难,因为即使是最先进的决策算法也无法弥补选择非最佳特征造成的缺陷。

依据这个方案实现的决策制定算法是什么?在我们的示例中,这是 K线图分析研究发表的一组规则。例如,K线图类型定义,揭示 K线各种组合的意义,等等。

关于模式识别的理论,我们的结论是 K线图分析符合这一理论制定的方案,但我们没有任何理由断言,选择“最低价”,“最高价”,“开价盘”和“收盘价”作为主要特征是最好的。此外,选择非最佳的特征,将显著降低行情分析过程中正确决定的概率。

回到开头,我们可以充满信心地说,K线图分析将很难“渗透到金融市场的内部”,或“从中可以看到数据内在的动量”。此外,与其他技术分析方法相比,其效率令人严重质疑。


结论

技术分析是一​​个相当保守的区域。技术分析的基本原理,在 18 ~ 19 世纪已经形成,至今几乎没有改变。在过去十年中的同一时间,全球市场的结构在发展中有了戏剧性的变化。在线交易的发展极大影响了市场行为。

在这种情形下,即使使用最流行的经典技术分析理论和方法,也不能一直为我们提供足够的交易效率。

然而,电脑的便利,以及对交易感兴趣的各类职业的人参与到市场交易中,可以刺激技术分析方法的发展。显然,如今的市场分析,需要开发更为准确和灵敏的分析工具。

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
原文地址: https://www.mql5.com/ru/articles/174

技术分析:我们分析什么? 技术分析:我们分析什么?

本文试图分析几个 MetaTrader 客户端提供的特色行情描绘方式。这篇文章仅讲述一般原理,并不涉及编程。

将指标应用至其他指标 将指标应用至其他指标

在编写使用 OnCalculate() 函数调用的简短形式的指标时,您可能会忽略这样一个事实,即指标的计算不仅可以通过价格数据完成,还可以通过其他指标(无论是内置指标还是自定义指标)的数据实现。是否要改进指标以使其可以正确应用至其他指标的数据?在本文中,我们将回顾修改所需的所有步骤。

MetaTrader 5终端策略测试器中的订单生成算法 MetaTrader 5终端策略测试器中的订单生成算法

MetaTrader 5 通过EA交易程序和MQL5编程语言使我们可以在内嵌的策略测试器中模拟自动交易,这种模拟称为EA交易程序的测试,它可以在实现中用多线程优化,也可以在多个设备中同步进行。为了提供完整的测试,我们需要基于可用的分钟历史来生成订单。本文提供了这种算法的详细描述,即在MetaTrader 5客户终端中怎样通过历史生成这些订单。

如何将MetaTrader 5中的交易复制到MetaTrader 4 如何将MetaTrader 5中的交易复制到MetaTrader 4

如今,在MetaTrader 5的实盘帐户上进行交易是否可行?如何进行此类交易?本文不仅从理论上解答这些问题,同时还提供可用的源代码,让你能够把MetaTrader 5终端上的交易复制到MetaTrader 4。本文对EA交易的开发者和练习交易者都非常有用。