回溯测试/优化 - 页 84 1...777879808182838485868788899091...95 新评论 sunshineh 2012.07.12 10:01 #831 我的测试器的问题 你好。 我从我的策略测试器中 得到以下信息。 "在优化过程中共完成了134次 ...:优化停止,954条缓存记录被使用,954条缓存记录被拒绝" 在几个主要窗口下面的绿色运行时间线下是 1 088 / 1 280 (39 204) 写。 而测试器只做了134次运行。 我怎样才能调整我的测试器以进行更多的运行呢? [删除] 2012.07.27 16:22 #832 价格历史 你好,我编了一个EA,使用金牛座的H4和D1图表。我想对它进行2002-2012年的回测。我在MT4选项中把我的条形历史和条形图增加到1000000,并在此基础上下载了价格历史。我再次运行回测,指定了2002-2012年的日期,但是它仍然只从2009年1月开始。我做错了什么?我希望回测时间超过3年。我可以看到我的图表上有足够的柱子,因为我可以查看2002年之前的价格数据。有什么想法吗? [删除] 2012.08.22 14:55 #833 回测 5位数的改编EA 大家好,我有几个被改编为5位数的EA,但它们的回测性能与原始EA不一样。是不是5位数的EA不能进行回测?当使用1点比率而不是10点时,它们仍然无法与原来的性能匹配。有谁能就这个问题提供一些线索? Mladen Rakic 2012.08.22 15:41 #834 ... 通常情况下,差异不是来自于4位或5位数据,而是来自于EA本身(例如,样本结果被曲线化,然后当你用默认设置尝试EA时,你会得到完全不同的结果)。 但是,如果参数 是相同的,那么在EA中仍有一些 "遗留物 "应该被检查和纠正(假设不同的经纪人数据的差异不会导致太大的差异)。 elitecamper: 大家好,我有几个EA被改编为5位数,但它们的回测表现与原来的EA不一样。是不是5位数的EA不能进行回测?当使用1点比率而不是10点时,它们仍然无法与原来的性能匹配。有谁能就这个问题提供一些线索? [删除] 2012.08.22 16:03 #835 ... 谢谢你,Mladen,那我就检查一下 EA。希望我可以找到罪魁祸首。 mati_temp 2012.08.22 19:25 #836 测试器--开盘价 测试方法 你好,我想测试我的基于VQ指标的手动策略。当我把 "只有开盘价......"(我想在收盘后手动交易)作为测试模型,我得到了奇怪的结果--见下面的截图和代码。 问题是。 1)为什么我没有看到正确的(非零)指数缓冲值(它们在其他测试方法中被填满),为什么06:45的红柱有正值? 2)哪里没有办法让EA在收盘后立即行动,对吗? 谢谢您的帮助。 附加的文件: open.png 124 kb vqhistotest.mq4 1 kb vqhisto.mq4 4 kb Mladen Rakic 2012.08.23 07:54 #837 ... 在该图表中还有一个问题。 如果只使用开盘价,因为条形图的大小是按高低点计算的,这些值不可能在条形图开盘时出现(如果是在条形图开盘时出现的,这些值是完全错误的)。所以,"只有开盘价 "并不意味着它看起来的意思......我的猜测是,它是造成你的问题的原因。 mati_temp: 你好,我想测试我的基于VQ指标的手动策略。当我设置 "只有开盘价..."(我想在收盘后手动交易)作为测试模型时,我得到了奇怪的结果--见下面的截图和代码。问题是。 1)为什么我没有看到正确的(非零)指数缓冲值(它们在其他测试方法中被填满),为什么06:45的红柱有正值? 2)哪里没有办法让EA在收盘后立即行动,对吗? 谢谢你的帮助。 mati_temp 2012.08.23 15:01 #838 谢谢 谢谢mladen的澄清 recentfx 2012.08.31 06:13 #839 谢谢你的分享 Kale 2012.08.31 07:54 #840 mati_temp: 你好,我想测试我基于VQ指标的手动策略。当我设置 "只有开盘价..."(我想在收盘后手动交易)作为测试模型时,我得到了奇怪的结果--见下面的截图和代码。问题是。 1)为什么我没有看到正确的(非零)指数缓冲值(它们在其他测试方法中被填满),为什么06:45的红柱有正值? 2)哪里没有办法让EA在收盘后立即行动,对吗? 谢谢你的帮助。 开盘价是一个很好的测试方法--最快的方法。 为了正确地使用它,EA需要正确地调整,以便像您写的 "在收盘时 "工作。 例如,如果您使用High[0] - Low[0]来定义当前蜡烛的范围 你不应该使用开盘价模型,因为在现实中,当你检查所有条件时 时,你不知道当前蜡烛的最终高点或低点是什么。 在开始的时候,所有的价格都等于开盘价(高点=开盘价,低点=开盘价,收盘=开盘价)。 因此,为了正确使用它,你需要接受一些延迟(一个小节的延迟)并重新编码EA以使用 过去的小节来计算高点和低点(高点[1]代替[0])。 当然,在开盘时还可以检查其他东西。 比方说,你将这样交易。 如果之前的条形图范围>100,并且开盘>MA,并且之前的开盘<MA,我们就做多。 这个模型在开盘价 的情况下可以完美地工作,只需 进行回测。 但是你需要计算之前的条形图上的范围,比如High[1]-Low[1],并检查其他条件 在当前条形图上,例如ma[0] open[1] 。 有人会说:为什么要使用当前条的MA值,如果它没有关闭。 如果你从收盘价或典型价格计算移动平均线的值,那么 它将会改变数值直到柱子结束。当然我同意,但是这样一来(如果你只在开盘时检查MA 在开盘时),你将会像在收盘条上一样检查MA。 最后一句话。 Ea还需要做一件事。如果你在使用开盘价模型进行测试 那么你需要在EA中模拟同样的事情。因此,它可以执行启动功能 只在小节开始时执行一次。 最好的方法是在启动函数后定义类似的东西。 int start() { //---- static int newBar = 0; if(Bars<=newBar)return; newBar = Bars; SOME OTHER LOGIC OF START FUNCTION (TRADING, MOVING STOP ETC) //---- return(0); } DoEasy 函数库中的时间序列(第三十五部分):柱线对象和品种时间序列列表 编写"EA 交易"时,MQL5 标准交易类库的使用 1...777879808182838485868788899091...95 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我的测试器的问题
你好。
我从我的策略测试器中 得到以下信息。
"在优化过程中共完成了134次
...:优化停止,954条缓存记录被使用,954条缓存记录被拒绝"
在几个主要窗口下面的绿色运行时间线下是
1 088 / 1 280 (39 204) 写。
而测试器只做了134次运行。
我怎样才能调整我的测试器以进行更多的运行呢?
价格历史
你好,我编了一个EA,使用金牛座的H4和D1图表。我想对它进行2002-2012年的回测。我在MT4选项中把我的条形历史和条形图增加到1000000,并在此基础上下载了价格历史。我再次运行回测,指定了2002-2012年的日期,但是它仍然只从2009年1月开始。我做错了什么?我希望回测时间超过3年。我可以看到我的图表上有足够的柱子,因为我可以查看2002年之前的价格数据。有什么想法吗?
回测 5位数的改编EA
大家好,我有几个被改编为5位数的EA,但它们的回测性能与原始EA不一样。是不是5位数的EA不能进行回测?当使用1点比率而不是10点时,它们仍然无法与原来的性能匹配。有谁能就这个问题提供一些线索?
...
通常情况下,差异不是来自于4位或5位数据,而是来自于EA本身(例如,样本结果被曲线化,然后当你用默认设置尝试EA时,你会得到完全不同的结果)。
但是,如果参数 是相同的,那么在EA中仍有一些 "遗留物 "应该被检查和纠正(假设不同的经纪人数据的差异不会导致太大的差异)。
大家好,我有几个EA被改编为5位数,但它们的回测表现与原来的EA不一样。是不是5位数的EA不能进行回测?当使用1点比率而不是10点时,它们仍然无法与原来的性能匹配。有谁能就这个问题提供一些线索?
...
谢谢你,Mladen,那我就检查一下 EA。希望我可以找到罪魁祸首。
测试器--开盘价 测试方法
你好,我想测试我的基于VQ指标的手动策略。当我把 "只有开盘价......"(我想在收盘后手动交易)作为测试模型,我得到了奇怪的结果--见下面的截图和代码。
问题是。
1)为什么我没有看到正确的(非零)指数缓冲值(它们在其他测试方法中被填满),为什么06:45的红柱有正值?
2)哪里没有办法让EA在收盘后立即行动,对吗?
谢谢您的帮助。
...
在该图表中还有一个问题。
如果只使用开盘价,因为条形图的大小是按高低点计算的,这些值不可能在条形图开盘时出现(如果是在条形图开盘时出现的,这些值是完全错误的)。所以,"只有开盘价 "并不意味着它看起来的意思......我的猜测是,它是造成你的问题的原因。
你好,我想测试我的基于VQ指标的手动策略。当我设置 "只有开盘价..."(我想在收盘后手动交易)作为测试模型时,我得到了奇怪的结果--见下面的截图和代码。
问题是。
1)为什么我没有看到正确的(非零)指数缓冲值(它们在其他测试方法中被填满),为什么06:45的红柱有正值?
2)哪里没有办法让EA在收盘后立即行动,对吗?
谢谢你的帮助。谢谢
谢谢mladen的澄清
谢谢你的分享
你好,我想测试我基于VQ指标的手动策略。当我设置 "只有开盘价..."(我想在收盘后手动交易)作为测试模型时,我得到了奇怪的结果--见下面的截图和代码。
问题是。
1)为什么我没有看到正确的(非零)指数缓冲值(它们在其他测试方法中被填满),为什么06:45的红柱有正值?
2)哪里没有办法让EA在收盘后立即行动,对吗?
谢谢你的帮助。开盘价是一个很好的测试方法--最快的方法。
为了正确地使用它,EA需要正确地调整,以便像您写的 "在收盘时 "工作。
例如,如果您使用High[0] - Low[0]来定义当前蜡烛的范围
你不应该使用开盘价模型,因为在现实中,当你检查所有条件时
时,你不知道当前蜡烛的最终高点或低点是什么。
在开始的时候,所有的价格都等于开盘价(高点=开盘价,低点=开盘价,收盘=开盘价)。
因此,为了正确使用它,你需要接受一些延迟(一个小节的延迟)并重新编码EA以使用
过去的小节来计算高点和低点(高点[1]代替[0])。
当然,在开盘时还可以检查其他东西。
比方说,你将这样交易。
如果之前的条形图范围>100,并且开盘>MA,并且之前的开盘<MA,我们就做多。
这个模型在开盘价 的情况下可以完美地工作,只需 进行回测。
但是你需要计算之前的条形图上的范围,比如High[1]-Low[1],并检查其他条件
在当前条形图上,例如ma[0] open[1] 。
有人会说:为什么要使用当前条的MA值,如果它没有关闭。
如果你从收盘价或典型价格计算移动平均线的值,那么
它将会改变数值直到柱子结束。当然我同意,但是这样一来(如果你只在开盘时检查MA
在开盘时),你将会像在收盘条上一样检查MA。
最后一句话。
Ea还需要做一件事。如果你在使用开盘价模型进行测试
那么你需要在EA中模拟同样的事情。因此,它可以执行启动功能
只在小节开始时执行一次。
最好的方法是在启动函数后定义类似的东西。
int start()
{
//----
static int newBar = 0;
if(Bars<=newBar)return;
newBar = Bars;
SOME OTHER LOGIC OF START FUNCTION (TRADING, MOVING STOP ETC)
//----
return(0);
}