回溯测试/优化 - 页 28 1...212223242526272829303132333435...95 新评论 w4rn1ng 2007.07.03 18:07 #271 想象一下,每天00:00,EA(在其正常工作期间)开始对X量的数据(1个月,2个月,1年,1天)进行优化(用遗传算法),在优化结束后,它检查 结果,并选择产生最佳结果的值(高利润,低缩水),并用新的值修改他的值,而不停止他的工作。 它可以手动完成,但如果它能自动完成,也会更好,不是吗? mcbalta 2007.07.03 20:15 #272 我的经验 假设你有90%的蜱虫质量,而且不是初学者。 1.测试仪是一把大枪。如果你知道如何使用,它就能发挥作用。否则,你将花费一生的时间来测试EA,至少需要等待2-3年的实时数据。 2.2.测试器不适合多时间框架和多货币系统。如果你的系统强迫复杂的点,请询问生产商。 3.3.网络上没有有价值的专家。所以这不是测试员的问题。但人们说测试员是坏人。不,我们才是坏的。 4.外汇市场的浪潮每年都在变化。如果一个系统在一年内有效,第二年就可能失败。因此,一个专家必须接受多年的教育。 5.5.这个市场上唯一可靠的趋势是(每月)甚至(5年)的趋势。但这些趋势并不适合高杠杆。这就减少了我们使用高杠杆EA的机会。 谢谢 Cengiz autopips 2007.07.03 21:22 #273 机器学习中的小细节 w4rn1ng: 想象一下,每天00:00,EA(在正常工作期间)开始对X量的数据(1个月,2个月,1年,1天)进行优化(用遗传算法),在优化结束后,它检查结果,并选择产生最佳结果的值(高利润,低缩水),用新的值修改他的值,而不停止他的工作。它可以手动完成,但如果它能自动完成,也会更好,不是吗? 一切可以准确描述的东西,也都可以被编程。也许mq4不是最合适的工具,但它是可以做到的。 一个实际的细节:根据你的EA/你的指标/你的优化间隔,自动优化可能会消耗大量的时间。我的意思是:要重新优化第二天的参数,你需要的不是5分钟,而是5天:-(. 问题。 1.) 你是否用手测试了你的想法?成功了吗? 2.)为什么是2个月的重新优化间隔?为什么不是1.5或2.5? 3.) "最佳结果 "到底是什么意思?你喜欢在500美元缩水后获得1000美元的利润,还是在100美元缩水的情况下获得更好的600美元利润?你喜欢一个赚取2000美元的系统(第一周2200美元,接下来的7周下降到2000美元),还是喜欢另一个每周赚取100...200美元的系统(总共1300美元)? Yuri Predborski 2007.07.03 22:04 #274 我认为最好的办法是手工优化,找到2006年的最佳参数,然后在2007年测试它们。如果两者显示出类似的结果,我就检查2004-2007年的情况。如果进展顺利,我就保留这些参数。 如果你每个月都进行优化,EA将无法正常交易 - 我已经检查过了。最好的优化结果是在一年一次的优化中获得的。 你也可以根据市场情况进行优化。趋势期应该使用一组参数,慢市/边际市场期--另一组参数。但谁会知道现在是什么时期呢? 每天重新优化的结果很糟糕。 哦,关于那个让EA工作不好的数据--别担心。当我把欧元/美元的数据上传到英镑/美元的数据上时,我也有同样的结果。其结果是混合报价。如果你删除报价并在离线模式下重启MT4,然后只上传一组报价(正确的报价),它应该工作正常。 另外,为了检查建模是否正常,我有几个MT的独立副本,我在不同经纪商的不同MT上检查EA。得到的结果有点不同,但没有什么特别的(有助于发现问题)。 w4rn1ng 2007.07.03 22:46 #275 autopips: 一切可以准确描述的东西,也都可以编程。也许mq4不是最合适的工具,但它是可以做到的。 一个实际的细节:根据你的EA/你的指标/你的优化间隔,自动优化可能会消耗大量的时间。我的意思是:要重新优化第二天的参数,你需要的不是5分钟,而是5天 :-(.问题。1.) 你是否用手测试了你的想法?成功了吗?2.)为什么是2个月的重新优化间隔?为什么不是1.5或2.5? 3.) "最佳结果 "到底是什么意思?你是喜欢500美元下跌后的1000美元利润,还是喜欢100美元下跌后的600美元利润?你是喜欢一个赚取2000美元的系统(第一周赚取2200美元,接下来的7周降至2000美元),还是喜欢另一个每周赚取100...200美元的系统(总共1300美元)? 是的,可能需要编写一个新的程序来协助mt4完成这个过程,无论如何,我同意它可以做到这个想法不坏,但你知道市场是不断变化的,所以让EA一直在发挥作用的一个好方法是每天重新优化,这里需要一个自动过程。我的EA每4小时做一次操作(或每8、12、16...等)。),在4小时开始的时候,它看是否是进入或退出市场的情况,一旦它拿下或退出头寸,它就会再等4小时或更长时间,所以我们不需要一个90%模式质量的tickbytick,优化(可能需要1天的CPU工作)需要5-10分钟,而不是更多(结果与90%模式质量或前瞻性测试相同),我的想法是让EA每天过度优化,一个好方法是让EA在00。00(例如)在远程服务器(我的办公室服务器)上检查一个xml文件,并从该文件中下载设置(如新闻指标),显然在另一边(将xml给EA的服务器)将有我每天做优化,或者可以有另一个程序与MT4一起优化,并将结果完全自动放在xml文件中 w4rn1ng 2007.07.03 22:55 #276 mcbalta:4.外汇市场的浪潮每年都在变化。如果一个系统在一年内有效,第二年就可能失败。因此,一个专家必须接受多年的教育。 你说的没错,我认为它们也是逐月变化的(也许有一个月是低波动性和强大的下降趋势,下个月是完全动荡的市场和高波动性,等等。如果一个EA对上个月的情况进行了优化,那么在下个月就会有一种追随趋势的心态,并且会在波涛汹涌的月份浪费很多钱),但是如果你看一下,从市场状况到另一个市场状况的 "变化 "不是在1分钟内发生的,是的,市场在不断地变化,但是它变化得很慢。优秀的交易员注意到趋势期结束,开始出现波折期(可能持续一个月、一周或一年,没有区别),将改变他的策略并获得利润,其他不了解这种变化并继续以趋势跟踪的心态交易的交易员(只是在这个例子中)将损失很多钱,在月末会看着图表并说。"好吧,这个月市场一直在震荡,上个月是下跌趋势,没有震荡......现在我看清楚了,我把震荡的月份当成了趋势月份来交易!我真傻!"。 如果我们逐日优化EA,EA将理解并逐日改变他的交易策略,从趋势到波涛汹涌,它在第一个月和第二个月也会有利润!"。(假设你有一个好的EA,适合交易趋势和波动的市场[显然设置不同])。 这就是我的意思,市场是不断变化的,这是一个动态市场,EA的失败是因为它们不是动态的。但是,如果一个EA成为动态的呢? eden159 2007.07.08 05:49 #277 帮助合并tick数据 你好。 我正在寻找Delphi(或Java,或C#)开发人员来帮助我合并我所收集的tick数据。我有几台电脑,它们有不同的网络供应商,从两个经纪商那里记录每一个tick。我想把从不同电脑上收集到的所有这些ticks合并到2个数据库中(分别为2个经纪商)。愿意帮助我的开发者可以获得我迄今为止收集到的所有tick数据--从2007年1月1日起。请给我发邮件或写信给我:hiller159 [at] yahoo [dot] com FXBabe 2007.07.10 18:14 #278 谢谢你 FX_Babe holyguy7: 一步一步来,如何获得更好的回测结果1.去下载你想回测的货币对的MT4数据,请点击这里。请确保你下载的是M1数据。它应该给你每分钟的数据,一直到2004年(大约1.5年的回溯数据)。 2.在你解压硬盘上的数据后,你需要将数据导入Metatrader 4。 3.打开Metatrader 4 (启动该程序) 4.你需要进入Metatrader 4的历史中心。在你的键盘上点击F2。或者点击Metatrader的顶部。工具,然后选择历史中心 5.打开外汇,打开要导入的货币对并打开M1 6.点击导入并浏览到你解压货币对数据的位置。 7.7. 确保文件类型为Metaquotes文件。点击打开并确定。然后关闭。 8.现在,在Metatrader 4程序左侧的导航窗口中,打开脚本。它应该就在自定义指标的下面。 9.9.通过 "文件"-"离线打开"-"选择 "打开图表,在M1时间框架上打开 "对"。 10.你应该打开货币对的M1图表(离线)。你需要双击周期转换器脚本。 10.你需要把这个值改为5(M5)、15(M15)、30(M30)、60(H1)、240(H4)、1440(D1)。 11.现在,点击工具-选项-图表标签,将历史上的最大条数和图表中的最大条数改为999999999,然后点击确定。 基本上,你正在将你导入的M1数据转换为你想测试的不同时间段。你可以一次做一个,也可以做所有的。 我通常开始选择5,然后点击确定。然后我再次双击周期转换器,将数值改为15,然后点击确定,然后我再次点击,将数值改为30,然后点击确定,直到我完成了这些时间段。 注意:它会给你一个警告:"你真的想停止'period_converter'并在图表M1上执行'period_converter'? 只要点击 "是",然后再次双击period_converter,继续将M1数据转换为所有时间段。 我已经对我能下载的所有货币对在所有时间段都这样做了。这样做是很好的,因为它让你知道某件事情是否会成功。 我希望这有帮助。 Wackena 2007.07.22 18:53 #279 w4rn1ng: 嗨,这是我想做的事情。我想让我的EA自我优化(过去2个月的优化),如果他在优化过程中发现更好的变量,它必须自动改变他的变量(它将24小时/24小时,全天,所有的日子进行优化)。 你认为有可能编写这样的代码吗?也许是一个脚本或我不知道的东西,你怎么看? 下面是一篇讨论自动优化EA的俄罗斯文章的链接。 Автоматическая оптимизация торгового робота в процессе реальной торговли - Статьи по MQL4 这是一个链接,可将其翻译成英文。 AltaVista - 巴别鱼翻译 瓦克纳 w4rn1ng 2007.07.22 18:55 #280 Wackena: 这里有一篇讨论自动优化EA的俄文文章的链接。优秀的语言学家和翻译家 - MQL4. 这是一个链接,可将其翻译成英文。 AltaVista - 巴别鱼翻译 Wackena 你好,谢谢你的回答,是的,我已经在几个星期前发现了它,无论如何,感谢你的帮助,这是一个非常好的事情 1...212223242526272829303132333435...95 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
想象一下,每天00:00,EA(在其正常工作期间)开始对X量的数据(1个月,2个月,1年,1天)进行优化(用遗传算法),在优化结束后,它检查 结果,并选择产生最佳结果的值(高利润,低缩水),并用新的值修改他的值,而不停止他的工作。
它可以手动完成,但如果它能自动完成,也会更好,不是吗?
我的经验
假设你有90%的蜱虫质量,而且不是初学者。
1.测试仪是一把大枪。如果你知道如何使用,它就能发挥作用。否则,你将花费一生的时间来测试EA,至少需要等待2-3年的实时数据。
2.2.测试器不适合多时间框架和多货币系统。如果你的系统强迫复杂的点,请询问生产商。
3.3.网络上没有有价值的专家。所以这不是测试员的问题。但人们说测试员是坏人。不,我们才是坏的。
4.外汇市场的浪潮每年都在变化。如果一个系统在一年内有效,第二年就可能失败。因此,一个专家必须接受多年的教育。
5.5.这个市场上唯一可靠的趋势是(每月)甚至(5年)的趋势。但这些趋势并不适合高杠杆。这就减少了我们使用高杠杆EA的机会。
谢谢
Cengiz
机器学习中的小细节
想象一下,每天00:00,EA(在正常工作期间)开始对X量的数据(1个月,2个月,1年,1天)进行优化(用遗传算法),在优化结束后,它检查结果,并选择产生最佳结果的值(高利润,低缩水),用新的值修改他的值,而不停止他的工作。它可以手动完成,但如果它能自动完成,也会更好,不是吗?
一切可以准确描述的东西,也都可以被编程。也许mq4不是最合适的工具,但它是可以做到的。
一个实际的细节:根据你的EA/你的指标/你的优化间隔,自动优化可能会消耗大量的时间。我的意思是:要重新优化第二天的参数,你需要的不是5分钟,而是5天:-(.
问题。
1.) 你是否用手测试了你的想法?成功了吗?
2.)为什么是2个月的重新优化间隔?为什么不是1.5或2.5?
3.) "最佳结果 "到底是什么意思?你喜欢在500美元缩水后获得1000美元的利润,还是在100美元缩水的情况下获得更好的600美元利润?你喜欢一个赚取2000美元的系统(第一周2200美元,接下来的7周下降到2000美元),还是喜欢另一个每周赚取100...200美元的系统(总共1300美元)?
我认为最好的办法是手工优化,找到2006年的最佳参数,然后在2007年测试它们。如果两者显示出类似的结果,我就检查2004-2007年的情况。如果进展顺利,我就保留这些参数。
如果你每个月都进行优化,EA将无法正常交易 - 我已经检查过了。最好的优化结果是在一年一次的优化中获得的。
你也可以根据市场情况进行优化。趋势期应该使用一组参数,慢市/边际市场期--另一组参数。但谁会知道现在是什么时期呢?
每天重新优化的结果很糟糕。
哦,关于那个让EA工作不好的数据--别担心。当我把欧元/美元的数据上传到英镑/美元的数据上时,我也有同样的结果。其结果是混合报价。如果你删除报价并在离线模式下重启MT4,然后只上传一组报价(正确的报价),它应该工作正常。
另外,为了检查建模是否正常,我有几个MT的独立副本,我在不同经纪商的不同MT上检查EA。得到的结果有点不同,但没有什么特别的(有助于发现问题)。
一切可以准确描述的东西,也都可以编程。也许mq4不是最合适的工具,但它是可以做到的。
一个实际的细节:根据你的EA/你的指标/你的优化间隔,自动优化可能会消耗大量的时间。我的意思是:要重新优化第二天的参数,你需要的不是5分钟,而是5天 :-(.
问题。
1.) 你是否用手测试了你的想法?成功了吗?
2.)为什么是2个月的重新优化间隔?为什么不是1.5或2.5?
3.) "最佳结果 "到底是什么意思?你是喜欢500美元下跌后的1000美元利润,还是喜欢100美元下跌后的600美元利润?你是喜欢一个赚取2000美元的系统(第一周赚取2200美元,接下来的7周降至2000美元),还是喜欢另一个每周赚取100...200美元的系统(总共1300美元)?是的,可能需要编写一个新的程序来协助mt4完成这个过程,无论如何,我同意它可以做到这个想法不坏,但你知道市场是不断变化的,所以让EA一直在发挥作用的一个好方法是每天重新优化,这里需要一个自动过程。我的EA每4小时做一次操作(或每8、12、16...等)。),在4小时开始的时候,它看是否是进入或退出市场的情况,一旦它拿下或退出头寸,它就会再等4小时或更长时间,所以我们不需要一个90%模式质量的tickbytick,优化(可能需要1天的CPU工作)需要5-10分钟,而不是更多(结果与90%模式质量或前瞻性测试相同),我的想法是让EA每天过度优化,一个好方法是让EA在00。00(例如)在远程服务器(我的办公室服务器)上检查一个xml文件,并从该文件中下载设置(如新闻指标),显然在另一边(将xml给EA的服务器)将有我每天做优化,或者可以有另一个程序与MT4一起优化,并将结果完全自动放在xml文件中
4.外汇市场的浪潮每年都在变化。如果一个系统在一年内有效,第二年就可能失败。因此,一个专家必须接受多年的教育。
你说的没错,我认为它们也是逐月变化的(也许有一个月是低波动性和强大的下降趋势,下个月是完全动荡的市场和高波动性,等等。如果一个EA对上个月的情况进行了优化,那么在下个月就会有一种追随趋势的心态,并且会在波涛汹涌的月份浪费很多钱),但是如果你看一下,从市场状况到另一个市场状况的 "变化 "不是在1分钟内发生的,是的,市场在不断地变化,但是它变化得很慢。优秀的交易员注意到趋势期结束,开始出现波折期(可能持续一个月、一周或一年,没有区别),将改变他的策略并获得利润,其他不了解这种变化并继续以趋势跟踪的心态交易的交易员(只是在这个例子中)将损失很多钱,在月末会看着图表并说。"好吧,这个月市场一直在震荡,上个月是下跌趋势,没有震荡......现在我看清楚了,我把震荡的月份当成了趋势月份来交易!我真傻!"。
如果我们逐日优化EA,EA将理解并逐日改变他的交易策略,从趋势到波涛汹涌,它在第一个月和第二个月也会有利润!"。(假设你有一个好的EA,适合交易趋势和波动的市场[显然设置不同])。
这就是我的意思,市场是不断变化的,这是一个动态市场,EA的失败是因为它们不是动态的。但是,如果一个EA成为动态的呢?
帮助合并tick数据
你好。
我正在寻找Delphi(或Java,或C#)开发人员来帮助我合并我所收集的tick数据。我有几台电脑,它们有不同的网络供应商,从两个经纪商那里记录每一个tick。我想把从不同电脑上收集到的所有这些ticks合并到2个数据库中(分别为2个经纪商)。愿意帮助我的开发者可以获得我迄今为止收集到的所有tick数据--从2007年1月1日起。请给我发邮件或写信给我:hiller159 [at] yahoo [dot] com
谢谢你
FX_Babe
一步一步来,如何获得更好的回测结果
1.去下载你想回测的货币对的MT4数据,请点击这里。请确保你下载的是M1数据。它应该给你每分钟的数据,一直到2004年(大约1.5年的回溯数据)。
2.在你解压硬盘上的数据后,你需要将数据导入Metatrader 4。
3.打开Metatrader 4 (启动该程序)
4.你需要进入Metatrader 4的历史中心。在你的键盘上点击F2。或者点击Metatrader的顶部。工具,然后选择历史中心
5.打开外汇,打开要导入的货币对并打开M1
6.点击导入并浏览到你解压货币对数据的位置。
7.7. 确保文件类型为Metaquotes文件。点击打开并确定。然后关闭。
8.现在,在Metatrader 4程序左侧的导航窗口中,打开脚本。它应该就在自定义指标的下面。
9.9.通过 "文件"-"离线打开"-"选择 "打开图表,在M1时间框架上打开 "对"。
10.你应该打开货币对的M1图表(离线)。你需要双击周期转换器脚本。
10.你需要把这个值改为5(M5)、15(M15)、30(M30)、60(H1)、240(H4)、1440(D1)。
11.现在,点击工具-选项-图表标签,将历史上的最大条数和图表中的最大条数改为999999999,然后点击确定。
基本上,你正在将你导入的M1数据转换为你想测试的不同时间段。你可以一次做一个,也可以做所有的。
我通常开始选择5,然后点击确定。然后我再次双击周期转换器,将数值改为15,然后点击确定,然后我再次点击,将数值改为30,然后点击确定,直到我完成了这些时间段。
注意:它会给你一个警告:"你真的想停止'period_converter'并在图表M1上执行'period_converter'?
只要点击 "是",然后再次双击period_converter,继续将M1数据转换为所有时间段。
我已经对我能下载的所有货币对在所有时间段都这样做了。这样做是很好的,因为它让你知道某件事情是否会成功。
我希望这有帮助。嗨,这是我想做的事情。
我想让我的EA自我优化(过去2个月的优化),如果他在优化过程中发现更好的变量,它必须自动改变他的变量(它将24小时/24小时,全天,所有的日子进行优化)。
你认为有可能编写这样的代码吗?也许是一个脚本或我不知道的东西,你怎么看?下面是一篇讨论自动优化EA的俄罗斯文章的链接。
Автоматическая оптимизация торгового робота в процессе реальной торговли - Статьи по MQL4
这是一个链接,可将其翻译成英文。
AltaVista - 巴别鱼翻译
瓦克纳
这里有一篇讨论自动优化EA的俄文文章的链接。
优秀的语言学家和翻译家 - MQL4.
这是一个链接,可将其翻译成英文。
AltaVista - 巴别鱼翻译
Wackena你好,谢谢你的回答,是的,我已经在几个星期前发现了它,无论如何,感谢你的帮助,这是一个非常好的事情