用tick数据进行回测 - 页 3 1234 新评论 mikey 2010.10.02 17:16 #21 BTW - 你所附的.rar文件中的脚本。这和你之前在论坛上发布(剪切和粘贴)的脚本完全一样吗? gordon 2010.10.02 17:28 #22 mikey: BTW - 你所附的.rar文件中的脚本。这和你之前在论坛上发布(剪切和粘贴)的脚本完全一样吗? 是的,这个帖子是从文件中剪切和粘贴的... 关于这一点。 有一件事--不是什么大戏--但输出文件的最后一行是这样的。 2004.02.23,08:34,,,,,1 脚 本假定在最后一行的末尾,文件会结束。在你的例子中,文件的最后一行可能有一个换行符,因此循环没有检测到 "文件结束",继续处理最后一行,而这一行实际上是空的......有很多方法可以解决这个问题,例如你可以添加一个条件,在写入之前,变量'sclose'不是空的。 if (sclose != "") // make sure close price exists in last line processed FileWrite(trg_handle,output); mikey 2010.10.02 18:02 #23 谢谢你,伙计。有一个简单的问题:策略测试器中 的交换成本。这是在最后加入的还是在我们进行时加入的。我认为它可能是在我们进行的过程中加入的。我注意到,对于某些交易:例如,如果获利(TP)是100,当它以TP收盘时,+100的利润不会返回,而是一个较低的TP,例如。+80.这可能是因为在该交易中加入了掉期成本(考虑到它被隔夜持有的天数--当然,用这种方法我们有更多的 "夜",而不是我们应该有的)。 (由于我是用0.1手交易,所以隔夜的交换成本不会太多,但由于有很多晚上的因素,所以会增加)。 它仍在运行。我想说的一点是,结果与M1非常不同。所以,如果这确实是有效的--这当然是值得做的。 这让我有了更多的想法。 gordon 2010.10.02 18:10 #24 mikey: 谢谢你,伙计。有一个简单的问题:策略测试器中的互换成本。这是在最后加入的还是在我们进行时加入的。[...] 它的添加方式与真实/演示账户中的添加方式完全相同。从"测试MetaTrader 4的功能和限制"。 所有的掉期、保证金要求、到期日、GTC订单都是模型化的。请注意,掉期的价值取自你在测试器中按下 "开始 "时当前连接的账户。 mikey 2010.10.02 20:19 #25 一个新的障碍。当我把3个月的tick数据加载到历史中心时(正如我们在这个主题中已经解决的那样--使每个tick都有自己的M1条)--似乎一切都很好,但我在日志中看到了这个。 历史数据库:内存不足 '#CLX01' [8412861条] 。 内存处理程序:无法分配370166236字节的内存 那么,这是不是说它没有加载所有的数据? gordon 2010.10.02 20:26 #26 mikey:一个新的障碍。当我把3个月的tick数据加载到历史中心时(正如我们在这个主题中解决的那样--使每个tick都有自己的M1条)--似乎一切都很好,但在日志中看到这个。 Historybase: not enough memory '#CLX01' [8412861 bars] Memory handler: cannot allocate 370166236 bytes of memory那么,这是不是说它没有加载所有的数据? 这可能是因为你遇到了2GB的限制。在你按下 "开始 "键后,测试器会创建一个FXT文件,其中包含测试用的点数(在你的例子中,每条街有一个点数)。这个文件是在'\MetaTrader 4\tester\history'文件夹下创建的。打开这个文件夹,检查 最后创建的文件是否有大约2GB的大小。如果是这样,那么你已经达到了测试器的极限。除了在较短的时间内进行测试外,没有其他解决办法...... 我不确定这是否是原因,可能是其他原因...... mikey 2010.10.02 20:32 #27 当我检查 尺寸时,测试器仍在运行。所以,可能会增加? 但无论如何,到现在为止,大小只有412MB。我推测这远远低于2GB? mikey 2010.10.02 20:45 #28 顺便说一下,这个错误信息所在的日志不是在策略测试器中,而是在另一个日志中(账户的那个)。 mikey 2010.10.02 21:45 #29 我变得有些沮丧了。有道理--我在做新的东西,所以肯定会有问题。 但与此无关的是,我刚刚注意到,在一个普通的标准metatrader策略上,我得到了3个月的石油数据(所以与我们在此讨论的内容无关),我注意到,策略测试器 在大约2周后停止了任何交易。 但是,策略测试者在2周内可以开仓,然后在2.5个月内没有开仓(尽管有5000美元的利润)!此外,所提供的结果与我迄今为止的前瞻性测试相去甚远。我开始对metatrader策略测试器的引擎及其有效性和用途产生了怀疑。 (数据全部加载到测试器中是可以的,因为报告上的日期范围--有正确的范围) 我的梦想/目标:我希望给策略测试器提供良好的历史数据(特别是如果你能得到tick数据),你将得到一个很好的洞察力,了解你的策略在那段历史中是如何真正交易的(滑点、点差等被接受)。但现在我想知道这是否可以实现,策略引擎是否真的可以实现。这个目标在metatrader上可以实现吗?谁能给我一点希望? gordon 2010.10.02 22:09 #30 mikey: 顺便说一下,这个错误信息所在的日志不是在策略测试器中,而是在另一个日志中(账户的那个)。 那么它可能与测试器无关(你可以在'MetaTrader 4/tester/logs'文件夹中看到它的日志),但我不能确定。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
BTW - 你所附的.rar文件中的脚本。这和你之前在论坛上发布(剪切和粘贴)的脚本完全一样吗?
BTW - 你所附的.rar文件中的脚本。这和你之前在论坛上发布(剪切和粘贴)的脚本完全一样吗?
是的,这个帖子是从文件中剪切和粘贴的...
关于这一点。
有一件事--不是什么大戏--但输出文件的最后一行是这样的。
2004.02.23,08:34,,,,,1
脚 本假定在最后一行的末尾,文件会结束。在你的例子中,文件的最后一行可能有一个换行符,因此循环没有检测到 "文件结束",继续处理最后一行,而这一行实际上是空的......有很多方法可以解决这个问题,例如你可以添加一个条件,在写入之前,变量'sclose'不是空的。
谢谢你,伙计。有一个简单的问题:策略测试器中 的交换成本。这是在最后加入的还是在我们进行时加入的。我认为它可能是在我们进行的过程中加入的。我注意到,对于某些交易:例如,如果获利(TP)是100,当它以TP收盘时,+100的利润不会返回,而是一个较低的TP,例如。+80.这可能是因为在该交易中加入了掉期成本(考虑到它被隔夜持有的天数--当然,用这种方法我们有更多的 "夜",而不是我们应该有的)。 (由于我是用0.1手交易,所以隔夜的交换成本不会太多,但由于有很多晚上的因素,所以会增加)。
它仍在运行。我想说的一点是,结果与M1非常不同。所以,如果这确实是有效的--这当然是值得做的。 这让我有了更多的想法。
谢谢你,伙计。有一个简单的问题:策略测试器中的互换成本。这是在最后加入的还是在我们进行时加入的。[...]
它的添加方式与真实/演示账户中的添加方式完全相同。从"测试MetaTrader 4的功能和限制"。
请注意,掉期的价值取自你在测试器中按下 "开始 "时当前连接的账户。
一个新的障碍。当我把3个月的tick数据加载到历史中心时(正如我们在这个主题中已经解决的那样--使每个tick都有自己的M1条)--似乎一切都很好,但我在日志中看到了这个。
历史数据库:内存不足 '#CLX01' [8412861条] 。
内存处理程序:无法分配370166236字节的内存
那么,这是不是说它没有加载所有的数据?
一个新的障碍。当我把3个月的tick数据加载到历史中心时(正如我们在这个主题中解决的那样--使每个tick都有自己的M1条)--似乎一切都很好,但在日志中看到这个。
Historybase: not enough memory '#CLX01' [8412861 bars]
Memory handler: cannot allocate 370166236 bytes of memory
那么,这是不是说它没有加载所有的数据?
这可能是因为你遇到了2GB的限制。在你按下 "开始 "键后,测试器会创建一个FXT文件,其中包含测试用的点数(在你的例子中,每条街有一个点数)。这个文件是在'\MetaTrader 4\tester\history'文件夹下创建的。打开这个文件夹,检查 最后创建的文件是否有大约2GB的大小。如果是这样,那么你已经达到了测试器的极限。除了在较短的时间内进行测试外,没有其他解决办法......
我不确定这是否是原因,可能是其他原因......
当我检查 尺寸时,测试器仍在运行。所以,可能会增加?
但无论如何,到现在为止,大小只有412MB。我推测这远远低于2GB?
顺便说一下,这个错误信息所在的日志不是在策略测试器中,而是在另一个日志中(账户的那个)。
我变得有些沮丧了。有道理--我在做新的东西,所以肯定会有问题。
但与此无关的是,我刚刚注意到,在一个普通的标准metatrader策略上,我得到了3个月的石油数据(所以与我们在此讨论的内容无关),我注意到,策略测试器 在大约2周后停止了任何交易。 但是,策略测试者在2周内可以开仓,然后在2.5个月内没有开仓(尽管有5000美元的利润)!此外,所提供的结果与我迄今为止的前瞻性测试相去甚远。我开始对metatrader策略测试器的引擎及其有效性和用途产生了怀疑。
(数据全部加载到测试器中是可以的,因为报告上的日期范围--有正确的范围)
我的梦想/目标:我希望给策略测试器提供良好的历史数据(特别是如果你能得到tick数据),你将得到一个很好的洞察力,了解你的策略在那段历史中是如何真正交易的(滑点、点差等被接受)。但现在我想知道这是否可以实现,策略引擎是否真的可以实现。这个目标在metatrader上可以实现吗?谁能给我一点希望?
顺便说一下,这个错误信息所在的日志不是在策略测试器中,而是在另一个日志中(账户的那个)。