手机版

值得收藏!如何识别完美的EA收益曲线是不是伪造的

阅读 :
外_汇_邦 WaiHuiBang.com

并非所有的测试都是准确的。知道backtest是否正确完成的唯一可靠方法是自己做并进行比较。不幸的是,这通常是不可能的,并且很多人都不知道如何正确回溯测试外汇机器人。

当你运行重复任何EA的反向测试并正确执行时,很容易知道是否有任何给定的反向测试是伪造的。在调查回溯报告时,应特别注意Spread的类型,建模质量,建模类型和图表。

backtest功能允许交易者检查EA交易过去的交易方式。这就是它基本上的作用。将交易策略放入算法中,并在此过程中创建专家顾问。

专家顾问(非专业人士)可能被认为是交易者的最终交易机器人,他们整天监控市场并为用户进行一系列交易。创建完成后,EA可用于运行先前数据价格的测试,例如从2000年到2017年。这被称为Backtest。显示的结果可能代表在指定时间框架内使用策略的结果。

但应该指出的是,所讨论的策略不会像它在回测结果中那样工作。因此,由于市场的波动性,滞后的数据对未来的估计很差,过去影响数据的力量可能会改变或缺乏。

要使交易策略有效,必须在很长一段时间内进行。如果在未来的估算中使用交易策略,几天或几个月的试运行将不会产生正确的结果。

当策略师或交易员没有经验时,可能会出现差异。他可能会无意中犯错误,从而得到不正确的结果。但是,有些人知道测试引擎的弱点。因此,他们操纵回测来欺骗人们采用不正确的策略。

1未命名_副本.jpg

很明显,这两个图形结果是不同的。第一条曲线向上上升,而另一条曲线向下。

事实的真相是它们都表示相同的数据:同一时间段,相同的EA,相同的质量模型和所有参数相同。不同之处在于第一个图表是在默认的Metaquotes数据上运行的,最好的数据只能达到90%的建模质量。它也使用固定点差,这在实际交易环境中是不准确的,因为大多数经纪商不使用固定点差。他们使用可变利差,由于外汇市场的高波动性而每秒都在变化。

第二个图形以99%的建模质量运行在每个刻度模型上。它也使用变量传播,使其准确。虽然第一张图清楚地表明EA策略是好的并且应该被采纳,但第二张图反驳了这一事实,并显示该策略毫无价值。

因此,最重要的是做零错误的测试。测试中的一个小缺陷会使测试不准确。根据今天的标准,固定点差的90%建模质量的测试被认为是不准确的,应该避免。上述图表所示的回归测试已由专家完成,他们都得出了相同的结论,EA策略是无价值的,如第二张图所示。

所以现在你知道backtest可能是不准确或伪造的。当您在某个网站上看到回测报告时再想一想。

回测结果的重要性

1. 允许用户查看特定策略(EA)过去的工作方式。尽管未来的预测可能不准确,但它突出了基于过去表现的策略的有效性。这可以允许用户对是否使用策略做出明智的决定。在没有预先知识或经验的情况下盲目地在外汇市场进行交易对新手和专家都是危险的。为了减少决策制定不当的可能性,EA backtest会长时间跟踪和分析数据,清楚地说明各种策略的工作方式。所以,如果一个策略在过去被证明是有效的,那么它很有可能在未来也会有效。

2. backtest的另一个优点是可以减少和避免策略中的缺陷和问题。如果一个特定的战略存在可能导致无利可图的缺陷,那么最好避免。但是,如果问题很少,那么可以在后测阶段进行磨练。

3. 它允许用户了解特定的EA如何在可能有利可图的交易以及下订单的正确时间进行交易。这种知识在实际的货币交易过程中尤为重要。

4. 它使我们有理由继续进行战略(EA)开发,并相信我们不会浪费时间。外汇backtest是一个耗时的过程。但是,投入足够的时间来确保外汇交易系统按照预期的方式运作非常重要。

值得注意的是,backtest策略的准确性和质量并不能保证未来的性能。因此,最好不要仅仅通过查看其背面测试来判断战略的质量。一种经过验证的方法可以确定未经测试的战略是否有潜力在未来发挥作用,这是通过使用健壮性测试。

这包括使用不同的参数进行数以千计的测试,跳过某些交易,对交易顺序进行洗牌以及改变模拟的传播,以生动地描述策略的实际行为。如果策略能够在大多数或全部稳健性测试中幸存下来并且不会中断,那么它就有潜力。但是,如果由于健壮性测试而中断,那么它应该被驳回,因为它无法抵挡外汇市场的波动性。

敏锐地检查backtest是否正确和准确地完成也很重要。很遗憾,很少有人知道如何进行高精度的后台测试,包括交易代理商们。这可以归因于以下事实:有很多方法进行backtest以及需要完成的许多小事情,这些事情在配置期间很容易被忽略; 这会导致backtest不准确。如果他决定采用不准确的策略,这可能会导致用户严重的财务损失,因为它给出了好看的结果。

如何知道回测是否正确完成

我认为每个外汇交易者都应该知道如何分辨假冒和真正的回测报告。这样每个人都可以避免外汇诈骗。

首先,检查“测试类型”和“建模质量”。应该使用99%建模质量的'Every tick'建模类型来执行。如果后测在建模质量上的匹配率达到99%,而模型类型是“Every Tick”,那么这是一个很好的测试。下图显示了一个很好的后测的例子。

2.jpg

看看红色突出显示的区域,很明显建模质量有99%,“每滴答”建模类型。图表的上升趋势表明这是一个好策略。报告中和性能图形图像中的建模质量应始终匹配。如果他们不这样做,那么后测报告就是捏造的。

其次,检查测试过程中使用的扩散值:固定或可变扩散。如果建模质量不是99%,则使用固定点差,并且回测不准确。固定利差不再被经纪商使用,因此被认为是不准确的。因此固定价差不太可能产生99%的建模质量。事实上,如果建模质量低于99%,则表明传播是固定的,因此策略是不准确的,应该避免。在前面的例子中,点差值是30点或3.0点。

一些后测软件可以通过固定的Spread报告99.99%的建模质量。这一点很重要。所以通常99.00%是唯一可以信赖的建模质量。

3.jpg

在这种情况下,传播值是运行测试时自动生成的随机值。但这意味着您可以忽略对回测没有任何影响的30点的Spread值。由于建模质量达到99%,这表明传播是可变的。

令人困惑,对吧?所有这些都来自各种计算机程序以及缺乏回溯测试报告标准。所以总的来说,你最好自己回推EA,不要相信其他人创造的回测。但是,如果建模质量例如为90%或者模型类型与每个勾号不同,那么扩展点将是固定的。

接下来应该考虑的是战略中存在的不匹配错误的数量。它应该是零。在使用的例子中,失配错误的数量非常高。报告显示,尽管这可能是一个好策略,但它的测试不是很准确,报告也不能被考虑。一个好的策略回溯报告应该没有错误。

4.jpg

此外,还应考虑后台的时间段和交易量。测试的窗口期应该至少为十年,而交易数量应该在200左右。由于具有统计意义,交易量更重要。也就是说,交易数量较多的交易时间较短,交易数量较少的交易时间较长。

5.jpg

考虑这个策略报告。即使这段时间表明有从2003年到2015年的历史价格数据,但实际上,报告实际上是从2010年到2015年。这可能意味着报告的所有者隐藏了一些东西,因为他完全忽略了前七个年份。

然而,这可以被接受为合法的回归测试。建模类型是每个Tick,质量为99%,总交易数量很高(1149),赢得的空头和多头头寸的数量为95.21%, 93.50%。这在图表中很明显,因为它显示出上升趋势或收入增长。

另一个需要检查的重要事情是如果回测报告中的建模类型和质量与图表匹配。当建模类型百分比与建模质量值不同时,那是一个虚假和虚构的报告。

下面的例子说明了一个很好的例子:

6.jpg

如何建模质量

一个战略报告可以很容易地被骗子欺骗,让不知情的客户相信一个策略是好的,但实际上并非如此。他们是如何做到的呢?

首先,在地址栏中输入命令以使报告可编辑【javascript:document.body.contentEditable ='true'; document.designMode ='on'; 无效0】

一旦将该命令输入到地址栏中,报告就可以编辑。例如,下面的战略报告具有90%的建模质量。

7.jpg

但一旦变得可编辑,它甚至会接受最含糊不清的值。例如,我可以将建模质量更改为“hello.00%”,这是一个完整的废话。

8.jpg

编辑报告后,只需在地址栏中输入以下命令,即可轻松将其转换回未编辑的版本:【javascript:document.body.contentEditable ='false'; document.designMode ='off'; 无效0】

这显示了如何回复测试报告可以很容易地改变,任何人如果他们选择。因此,仅仅通过观察就可以相信一个回溯测试是不明智的。在策略被接受为准确之前,应该对其进行彻底的回检。

并非所有的测试都是准确的。知道backtest是否正确完成的唯一可靠方法是自己做并进行比较。不幸的是,这通常是不可能的,并且很多人都不知道如何正确回溯测试外汇机器人。因此,最好谨慎看待所有的后测结果。

外_汇_邦 WaiHuiBang.com
本文标题:值得收藏!如何识别完美的EA收益曲线是不是伪造的 - MT4平台MQL4编程学习
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/41133.html

相关文章

  • 外汇网格EA能否实现稳定盈利?

    对于外汇交易来说,现主要分两种形式,一种就是传统的手动交易,一种是完全的 EA自动化交易,无需人工守候做单,规避了很多人性的不足和弱点。对于外汇EA交易,每个人有不同的观点。现在市面上最流行的EA莫过于网格EA和马丁EA,有...

    MQL4编程学习
  • MQL4对象操作函数(二)

    ObjectCreate() – 创建对象 ObjectDelete() – 删除对象 ObjectDescription() – 获取对象描述 ObjectFind() – 查找指定对象 ObjectGet() – 获取指定对象的属性值 ObjectSet...

    MQL4编程学习
  • MQL4基础:控制语句

    目录[hide] 语句块 表达式操作符 break 语句 continue 语句 return 语句 if-else 语句 switch 语句 while 循环语句 for 循环语句 语句描述了完成一项任务的算法操作规则。程序本身就足这样的语句序列...

    MQL4编程学习
  • 经典外汇马丁EA研究分析:依兰 Ilan-TrioKS EA
    经典外汇马丁EA研究分析:依兰 Ilan-TrioKS EA

    依兰 Ilan-TrioKS 在网上有源码流传快要十年了,也是网上经典马丁EA之一。EA 本身的界面看起来就是专业的美工设计。源码因为多次修改而有三个并存模块,代码行数近三千行。用 EURUSD M5 随便复盘测试过去三四个月,可以看...

    MQL4编程学习
  • 外汇智能交易MQL4语言教程(四)

    4.2.3. IF-THEN条件语句If-Then条件语句使得控制智能交易系统指令的执行顺序得以可能。该语句可能有不同的方式编写: if Condition then Statement;or if Condition then begin Statement; Statement; ... end;其中...

    MQL4编程学习
你可能感兴趣