文章 "MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果"

 

新文章 MQL5 细则手册:保存基于指定标准的“EA 交易”的优化结果已发布:

我们继续有关 MQL5 编程的系列文章。这一次,我们来看一看如何获得“EA 交易”参数优化期间传递的每个优化的结果。将完成实现,以确保如果外部参数中指定的条件得到满足,对应的传递值将被写入文件。除了测试值,我们还将保存带来这样的结果的参数。

MQL5 Cookbook: Saving Optimization Results of an Expert Advisor Based on Specified Criteria

要在优化过程中访问数据,您可以使用特殊 MQL5 函数:OnTesterInit()OnTester()OnTesterPass()OnTesterDeinit()。我们简单看一下每个函数:

  • OnTesterInit() - 本函数用于决定优化开始。
  • OnTester() - 本函数负责在每次优化传递后添加所谓的框架。框架的定义将在下文中给出。
  • OnTesterPass() - 本函数在每次优化传递后获得框架。
  • OnTesterDeinit() - 本函数生成结束“EA 交易”参数优化事件。

现在我们来定义框架。框架是单一优化传递的某种数据结构。在优化期间,框架保存于在 MetaTrader 5/MQL5/Files/Tester 文件夹中创建的 *.mqd 文档内。该档案的数据(框架)可在优化期间“动态”访问或在优化完成后访问。例如,“在 MetaTrader 5 测试程序中实现策略可视化”一文说明了我们如何实现对优化过程的“动态”可视化以及如何在优化后查看结果。

作者:Anatoli Kazharski

 

我也想知道盈利交易的百分比,包括其方向....。

有可能为 MT4 重新设计吗?

 
-Aleks-:

我非常好奇,而且最重要的是,我还想知道盈利交易的百分比,包括交易方向......

有可能为 MT4 修改它吗?

您可以添加任何指标:https://www.mql5.com/zh/docs/constants/environment_state/statistics, 自己做一些小改动。

MT4 有以下变体:优化(测试)技术和选择专家顾问工作参数的一些标准

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Статистика тестирования
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Статистика тестирования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Статистика тестирования - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

是的,我读过关于 MT4 的文章,但这些数据对我来说还不够,有没有其他方法可以获得更多类似 MT5 的信息?

 
-Aleks-:

是的,我读过 MT4 的文章,但这些数据对我来说还不够,有没有其他方法可以获得更多类似 MT5 的信息?

很遗憾,我不能告诉您(也许其他人能给您答案)。最后我自己改用了 MT5,只关注该终端的可能性。
 
tyvm。优秀文章。
 
哇,太棒了
 

由于我开始使用 MT5,我又看到了您的文章。

我想知道的是,是否有可能按通道编号排列报告,而不是像现在这样,按从通道到达框架的顺序排列?

根据我在 MT4 中使用报告的经验,这对于比较两个不同设置的报告(尤其是不带过滤器的报告)很方便。

实际上,如果您知道总共有多少个通道,就可以做到这一点,然后可以将信息写入数组,最后将其卸载到文件中,但如何计算通道数呢?

另一种方法是对文件进行后处理,即在处理后对数据进行整理,但如何更有效、更普遍地进行整理也是一个问题。

 
Aleksey Vyazmikin:

...

实际上,如果知道有多少次通过,就可以将信息写入数组,最后再将其卸载到文件中,但如何计算通过的次数呢?

...

要向数组中添加数据,最初并不需要知道有多少次传递。

 
Anatoli Kazharski:

在数组中添加数据时,您不需要知道最初会有多少次传递。


我不是程序员,这对我来说很困难--我花了半天时间才从您的示例.... 中为我删除了不必要的过滤器。

 
Aleksey Vyazmikin:

我不是程序员,这对我来说很困难--我花了半天时间才从您的示例.... 中为我删除了不必要的过滤器。

我不打算很快再回到这个话题上来。

请试着更准确地表述您的问题,并将其发布到这里。也许有人会提出解决方案。