手机版

MT4 EA寻找最优参数的方法教程

阅读 :
外_汇_邦 WaiHuiBang.com

很多人在用EA进行历史回测的过程中,发现并不理想和预期的有很大的差别,想要对EA部分参数进行优化,例如我们优化加仓距离点数,设置150点测试一遍,然后设置200点测试一遍,两次结果对比找出最好的加仓距离点数,如果是一个参数进行优化多测试几遍还可以,如果是有多个参数要进行一起测试的话,如果把所有参数相互组合一遍并跑完回测,时间可能是个天文数字。

下面给大家介绍下MT4的EA优化参数功能如何使用。

打开“EA交易测试”面板,选择要测试的EA、交易品种、时间周期,点差设置为30,测试时间为2015年1月1日-2018年7月,复盘显示的勾不要选,右边优化的勾选中,如下图所示。

然后点击“EA属性”,设置起始资金1000USD,如下图所示

在“输入参数”面板,把需要优化的变量前面的勾选中,比如我这里要优化“单位手数”和“循环目标”两个参数,如果有的参数不想优化,那就要在“赋值”里输入合适的值,并不要勾选,这样参数会一直用这个值不变。

“初始值、每次增加、终止值”这三个是优化的范围,比如单位手数,我想让它从0.01-0.05都跑一遍,就在初始值里输入0.01,每次增加输入0.01,终止值为0.05。    其它参数也按咱们的需求,把这三个范围值设置好。如下图所示:

在“优化”面板可以设置一些限制,比如我想优化出最大浮动亏损小于50%的结果,就勾选“最大亏损”,在后面的赋值处输入50,输入数字后,要按回车才能保存。如果不想设限制,就全都不要勾选。

设置完之后,保存,点击开始,优化开始后,可以看到一共有多少种组合,以及当前已经出来了几组结果,如下图的2/54,就是说现在已经出来了2组结果。

在最右边会显示出全部优化完成所需要的时间。

在开始优化的时候,可以在“优化结果”面板把“跳过无效结果”的勾取消掉,在空白处点右键可以找到,默认是开启的,开启的话,如果某组参数的结果是亏损的,不会在这个页面显示,我觉得就算是亏损的结果,也应该显示出来,所以我一般会把这个关掉。

优化完成后,可以把优化结果保存为报告。

下图是最后优化完的结果,我进行了排序,发现“单位手数为0.05,循环目标为=0.111”这个组合的盈利最高,浮动亏损也可以接受。

可以看到这组参数的详细回测情况,一共做了103单,盈利比3.09,获利6609.95,最大浮亏4.6%。

通过优化,我们可以通过使用不同的EA参数,来寻找更符合自己交易理念的参数。但是过度的优化得出的结果只能在历史数据中保持最大盈利和最小亏损,而在实盘应用未必能稳定盈利,所以建议大家理性看到参数优化这个功能,不过度优化参数。

外_汇_邦 WaiHuiBang.com
本文标题:MT4 EA寻找最优参数的方法教程 - MT4平台MQL4编程学习
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/75861.html

相关文章

  • 最详尽的Windows版外汇VPS挂EA使用指南
    最详尽的Windows版外汇VPS挂EA使用指南

    VPS 使用指南这些指示中可查看以下各项: 连接至远程桌面 安装“专家顾问” 修改 VPS 密码 维护账户安全连接至远程桌面要连接至 VPS 主机,您需要进行以下步骤: “开始”-“所有程序”-“附件”-“远程桌面连接”。...

    MQL4编程学习
  • 外汇EA社群发展方向和十大日内模型
    外汇EA社群发展方向和十大日内模型

    这两年程序化设计风起云涌,以期货程序化设计为核心的量化对冲策略蓬勃发展,围绕量化设计的金融社区也日渐兴盛。各种量化沙龙、量化峰会在神州大地遍地开花。这说明程序化设计的春天已经到来! 外汇EA的发展速度不如期...

    MQL4编程学习
  • MT4教程是炒汇新手最实用的教程

    市场运动规律的最直接体现,就是趋势。正确的对待趋势的唯一做法,就是顺应趋势而操作。这是在投机市场里赚钱乃至长期生存的第一大法宝。美国一位著名的投资高手斯坦利·克罗曾经说过:“最赚钱和最令我安心的操...

    MQL4编程学习
  • MQL4客户端信息相关函数

    本组函数返回客户端信息。TerminalCompany() – 获取客户端所属公司名称 TerminalName() – 获取客户端名称 TerminalPath() – 获取客户端文件目录路径 TerminalCompany() – 获取客...

    MQL4编程学习
  • 错误146 ("交易作业忙") 和如何处理

    来自智能交易和脚本的交易,只能够提供一个并在交易作业中开启 (来自智能交易和脚本的自动交易作业)。这就是为什么如果智能交易业务作业忙,其他的智能交易或脚本在此刻不能调用函数生成错误146 (ERR_TRADE_CONTEXT_BUSY)。 换句话说,只有一个智能交易(脚本)可以准时交易。所以其他智能交易尝试开始交易将被错误 146停止。文章将会找到问题的解决方案。 ...

    MQL4编程学习
你可能感兴趣