Strategy Tester:交易策略测试中模式化的方式

3 四月 2008, 10:33
MetaQuotes Software Corp.
0
2 005

介绍

技术分析的很多程序允许在历史数据上测试交易策略。在大多数情况下, 测试被连接到已经完成的数据上,在价格柱内这些数据不带有任何试图模式化的趋势。测试会快速进行,但是不是十分精确。

要得到高质量的交易策略测试,重要的是选择正确模式化价格柱的方法。最理想的状态是拥有一个完整的替克历史记录,但这种状况在现实中基本不存在。通常,一个交易者很难找到几年以内完整的替克历史记录,用来做分析。

解决这个问题,我们可以使用精确周期的数据作为模式价格变化的模式价格变化的参考点。

价格柱模式化的方法

MetaTrader 4 客户端内存在三种模式化的方法:




  • 每个替克 (以全部可用时间周期为基础的最精确方法)
  • 控制点 (以最近较小的时间周期为基础的一个自然方法)
  • 开盘价(在完整柱上快速的方法,只适用于明确检测柱打开的智能交易)

在测试开始之前会生成中级的价格柱, 结果被保存在文件中 (例如: /tester/history/eurusd_1440_1.fxt)。每一次电击开始按钮,测试将会生成包含测试替克顺序的新文件。在终端内Fxt文件可以作为离线图表通过 文件 ->离线打开轻松地打开 。




模式化范例

现在让我们以一小时图表为基础做最简单的模式化。我们来研究一小时图表中红色圈出的柱 (九月, 5 2007, 10:00) :




开盘价

一些交易者不希望依赖内部柱模式化的特殊性,所以他们创建智能交易在已经完整的柱上进行交易。事实上当前价格柱已经非常完整,可以通过下一个柱的显现看出。对于 这些智能交易的模式化方法使用“开盘价"。




在这种方法中,首先需要打开柱(Open = High = Low = Close, Volume=1),并且允许智能交易准确地识别出先前价格柱结束。在这个刚刚形成的柱中开始智能交易的测试。下一步,模式化当前柱,但是不允许在这个柱上执行测试!

控制点 (最近小时间周期)

控制点模式化方法适用于智能交易内部柱的自然评估。使用这个方法,最近小时间周期的历史数据必须具备可用性。一些情况中,可用数据来自较小的时间周期不能够完全覆盖测试时间周期的时间距离。如果较小时间周期没有数据, 演化的柱会以预定义模式生成。与先前MetaTrader 3客户端的第三版本相似。

加入这些数据,小时间周期的历史数据会很快显现。小时间周期显现已存在的 OHLC 价格作为控制点。大多数情况下,由控制点测试的智能交易测试结果只作为估测结果 ,而不是最后结果。这些结果具有中间价格的特点。 以下图表展示如何以控制点的方法创建一小时柱 2007.09.05 10:00 。




每个替克 (全部可用时间周期)

这种方法能够更加精确地模式化变动的价格。与"控制点"不同,每个替克的模式化方法不仅使用最近小时间周期的数据,同样需要全部可用的较小时间周期。另外,如果在一段时间里同时存在数据超过一个时间周期,生成则使用较小时间周期的数据。与先前方法相同,这种方法生成检测点是以可用的较小时间周期OHLC 数据为基础的 。在控制点之间生成变动价格,同样使用以预定义模板为基础的插入法。这样,一分钟的可用数据覆盖测试的时间距离。 可能会发生相同替克一个接一个地生成。这种情况下,滤除重复报价并且固定最后三个连续报价。




必须考虑较大替克数量的生成。它会影响系统业务的消耗和测试速度。

注意:如果没有较小时间周期覆盖测试时间距离,无需开启每个替克测试。这种模式化只适用于以较小时间周期为基础的测试!

对于模式化使用的日期范围

日期的范围使用不仅限于智能交易的测试,同样限于测试柱顺序的生成。我们无需生成完整地历史数据,特别是对于每个替克模式化,不会用到大量的数据。所以,如果初期测试顺序生成,可能使用日期范围。随后,超过给出范围的柱不再生成,但是只是输入数据覆盖到输出的顺序。 这析数据不会从定单的顺序中排出,可能计算指标获取完整历史的正确性。必须要注意的是第一个 100个柱不会在生成,这个限定不取决于日期范围的设置限定。

参考 M1 时间周期

检测内部柱模式化的准确性,我们使用2007年9月 5日的一分钟图表。在10:00和 11:00 p.m. 之间作比较。


1


在每个替克的模式中,生成以下顺序:


因为每个柱的替克成交量不允许超过 5, 顺序生成插入最小使用。 基本上所有的都存在 OHLC 价格。


即时没有标准,只是简单地叠加一分钟图表到一小时图表 (在一小时图表中收盘价作为绿色线显示),它们几乎相同:



结论

如果存在可用的辅助的较小时间周期能够百分百覆盖时间周期的距离,那么就能够执行最为精确的测试并得到值得信赖的准确结果。就是说,每个替克高质量的测试需要在历史数据的细节中找寻...


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

巨大程序中定单的考虑 巨大程序中定单的考虑

探讨在巨大程序和复杂程序定单考虑的基本原则。

交易之间的停顿 交易之间的停顿

文章解决的问题:当一定数量的智能交易在MТ 4客户端运行时,如何很好的安排交易之间的停顿。 在终端和MQL 4程序中用户需要的基本技能。

基因演算规则:数学运算 基因演算规则:数学运算

基因演算使用于智能交易的数据优化。这些用途的范例是一个神经网络的学习,即, 这样的值得到的误差最小。基因演算是以随机搜索的方法为基础的。

在 MetaTrader 4 中比较基因演算方法和简单搜索 在 MetaTrader 4 中比较基因演算方法和简单搜索

文章比较了使用基因演算方法和简单搜索获取的智能交易的时间和结果。