需要帮助!无法解决这个问题,我遇到了硬件限制 - 页 18 1...1112131415161718192021 新评论 Andrey Khatimlianskii 2014.08.22 20:24 #171 测试脚本和执行结果。硬盘。2014.08.22 21:16:43.584 sTest_ReadWriteBIN EURUSD,M1: 100000 secuences writed in 39.8 sec 2014.08.22 21:17:24.174 sTest_ReadWriteBIN EURUSD,M1: 4156 Mb loaded in 40.0 sec (103.9 MB/sec)内存驱动器。2014.08.22 21:22:15.170 sTest_ReadWriteBIN EURUSD,H1: 100000 secuences writown in 27.6 sec 2014.08.22 21:22:42.805 sTest_ReadWriteBIN EURUSD,H1: 在27.6秒内加载4158Mb(150.4 MB/sec)。仍然没有印象。的确,现在的测试条件并不完全干净,电脑上有很多东西在运行。我以后会再做的。 附加的文件: sTest_ReadWriteBIN.mq4 4 kb TheXpert 2014.08.22 20:34 #172 komposter: 我怀疑你可以把读数换成WinAPI类似物,并使RAM磁盘的速度至少提高2-3倍。 anonymous 2014.08.22 20:46 #173 komposter:TheXpert: 顺便说一下,如果你知道每个序列的起点,你可以用二进制搜索来搜索所需的日期,因为交易是按时间排序的。+1,谢谢你的主意。 你也可以应用插值搜索,这在这个任务中可能工作得更快。 Andrey Khatimlianskii 2014.08.22 21:49 #174 TheXpert: 我猜想你会用WinAPI的模拟程序来代替阅读,并获得至少2-3倍的RAM磁盘的速度提升。只有FileOpen 应该是慢的,而阅读应该是快的。但我要检查一下。anonymous: 你也可以应用插值搜索,在这项任务中可能会更快。很好,谢谢。 Vladimir Kazakov 2014.08.23 10:01 #175 komposter:...仍然没有印象。 ... 在C++中,它是通过fread到一个64K-128K的缓冲区来完成的,用你自己的解析器来解析会更好,因为scanf-types非常慢。 Sergey Dzyublik 2014.08.23 11:09 #176 kazakov.v: 在C++中,这是通过fread到64K-128K的缓冲区完成的,解析最好用你自己的解析器,因为scanfs非常慢。在C++中,如果没有解析器,你可以做到这一点。把这个想法推10次--用另一个文件中的序列起始位置的值启动另一个文件,那么你甚至不需要在序列结构中存储交易的数量。 Vasiliy Sokolov 2014.08.23 17:20 #177 marketeer: 既然这个问题相当学术化(看起来像是一个雇用程序员的问题),而且很多人都表示了兴趣,为什么不在输入数据描述的格式方面更严格地制定它,每个人都可以生成20G的测试数据并提交他们的实际解决方案?+100这项任务非同小可,但目前还没有任何一行代码。安德烈,这里有很多人感兴趣--制定任务,提供测试数据。让我们有一个体育节目。 Victor Nikolaev 2014.08.23 20:18 #178 C-4:+100这项任务非同小可,但目前还没有任何一行代码。安德烈,这里有很多人感兴趣--制定任务,提供测试数据。让我们来做一些体育节目。 任务已经确定。 Vasiliy Sokolov 2014.08.23 20:47 #179 Vinin: 任务已经确定。 需要测试数据+伪代码,有数据处理的一般原则。 Andrey Dik 2014.08.23 21:13 #180 为什么要通过数据库中的选项呢? 根据标准从历史上生成交易不是更好吗? 1...1112131415161718192021 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
测试脚本和执行结果。
硬盘。
2014.08.22 21:16:43.584 sTest_ReadWriteBIN EURUSD,M1: 100000 secuences writed in 39.8 sec
2014.08.22 21:17:24.174 sTest_ReadWriteBIN EURUSD,M1: 4156 Mb loaded in 40.0 sec (103.9 MB/sec)
内存驱动器。
2014.08.22 21:22:15.170 sTest_ReadWriteBIN EURUSD,H1: 100000 secuences writown in 27.6 sec
2014.08.22 21:22:42.805 sTest_ReadWriteBIN EURUSD,H1: 在27.6秒内加载4158Mb(150.4 MB/sec)。
仍然没有印象。的确,现在的测试条件并不完全干净,电脑上有很多东西在运行。
我以后会再做的。
TheXpert:
顺便说一下,如果你知道每个序列的起点,你可以用二进制搜索来搜索所需的日期,因为交易是按时间排序的。
+1,谢谢你的主意。
我猜想你会用WinAPI的模拟程序来代替阅读,并获得至少2-3倍的RAM磁盘的速度提升。
只有FileOpen 应该是慢的,而阅读应该是快的。但我要检查一下。
你也可以应用插值搜索,在这项任务中可能会更快。
很好,谢谢。
...
仍然没有印象。
...
在C++中,这是通过fread到64K-128K的缓冲区完成的,解析最好用你自己的解析器,因为scanfs非常慢。
在C++中,如果没有解析器,你可以做到这一点。
把这个想法推10次--用另一个文件中的序列起始位置的值启动另一个文件,那么你甚至不需要在序列结构中存储交易的数量。
既然这个问题相当学术化(看起来像是一个雇用程序员的问题),而且很多人都表示了兴趣,为什么不在输入数据描述的格式方面更严格地制定它,每个人都可以生成20G的测试数据并提交他们的实际解决方案?
+100
这项任务非同小可,但目前还没有任何一行代码。安德烈,这里有很多人感兴趣--制定任务,提供测试数据。让我们有一个体育节目。
+100
这项任务非同小可,但目前还没有任何一行代码。安德烈,这里有很多人感兴趣--制定任务,提供测试数据。让我们来做一些体育节目。
任务已经确定。