MT5 RAM内存贪婪,读/写大文件的问题 - 页 8

 
恐怖
 
Алексей Тарабанов:
恐怖

情绪对于理解一个人的态度非常重要。然而,了解这种强烈的情绪与什么有关,也不失为一个好办法。

 

让我稍微缓和一下气氛。我想起了一个关于恐怖的笑话。

一位顾客走进一家妓院。他们给了他一个女孩,他们上了楼。一分钟后,女孩跑出房间,尖叫着 "恐怖,恐怖!"然后跑开。好吧,他们给了他第二个。她进了房间,一分钟后,她跑出来大叫 "恐怖,恐怖!"然后也跑了。但客户需要得到服务。然后女房东自己去找他。一个小时过去了。她踉踉跄跄地走出来。她说:"嗯,可怕的是......。但不是恐怖 - 恐怖!" ))

 
Aleksey Vyazmikin:

你是否检查过,发现没有加速?或者你是说我在这里误导大家?

你甚至不需要在这里检查。这样的变化几乎不会产生加速度,因为在数学中,"总和不会随着总和位置的改变而改变"。所以这个谬论是很明显的。

阿列克谢-维亚兹米 金。

你仔细阅读了这个主题吗?你看到我对作为函数的现成解决方案的回答了吗?你有其他解决办法吗?当然,我不知道什么是OOP,这个分支的细心读者会一下子注意到它......

总是有 "另一种解决方案"。但在这种情况下,"另一种解决方案 "是无法获得的,因为缺乏知识。

阿列克谢-维亚兹米 金。

关于盈利能力/免费--这很荒谬,我刚刚表明,付费的解决方案并不意味着比免费的更好,但你又在谈论钱......

什么都没有显示。付费的解决方案能很好地完成其工作,但它的使用方式是错误的。

要么付钱,要么学习--这是现代世界的法则。

这里完全是一场恶梦和混乱。

 
Roffild:

你甚至不需要在这里检查。这样的变化几乎不会产生加速度,因为在数学中,"总和不会随着总和位置的改变而改变"。所以这个谬论是很明显的。

好吧,你怎么能如此自以为是......

罗费尔德

总是有 "另一种解决方案"。但在这种情况下,由于缺乏知识,"另一种解决方案 "是无法实现的。

所以让有知识的人说说优点,如果你没有帮助的需要,是什么在驱使你?

罗费尔德

什么都没有显示。付费解决方案的工作做得很好,但它的使用方式是错误的。

要么付钱,要么学习--这是现代世界的法则。

这里完全是一场恶梦,一片混乱。

你能告诉我,我应该如何使用根据我的TOR编写的班级来达到我的目的?

 
Aleksey Vyazmikin:

好吧,你怎么能如此自以为是......

所以,让有知识的人就事论事,如果你没有帮助的需要,是什么驱使你?

你能告诉我,我应该如何使用根据我的TOR编写的班级来达到我的目的?

傲慢的态度让我在这种任务的编程方面有了很多经验。

每个人都已经说过了优点。甚至fxsaber也给出了一个解决方案的链接。但所有真正的解决方案都被拒绝或忽略了。

这门课很好,但是为了没有人理解的目的,ToR显然没有被正确起草。

如果用10行代码读取一个CSV文件是如此困难,也许你不应该自己做?

 
Roffild:

让我有信心的是在此类任务的编程方面有很多经验。

每个人都已经说过了优点。甚至fxsaber也给出了一个解决方案的链接。但所有真正的解决方案都被拒绝或忽略了。

这门课很好,但职权范围显然没有正确起草,其目的没有人理解。

如果用10行代码读取一个CSV文件是如此困难,也许你不应该自己做?

你对这一主题的贡献是明确的。

 

我可以提供我自己的解决方案。下面是测试代码和结果。该文件大小为140Mb,有2000000条记录。任务管理器查看了270MB的内存使用量(最大值减去没有脚本的量)。

   ulong lc1=GetTickCount();
   CSV *csv=new CSV();
   csv.Read_from_file("fff0.csv",true);//Чтение с файла с автоматической конвертацией в нужный формат
   csv.Write_to_file("fff1.csv",true); //Запись в файл
   Print(csv.Get_info());              //Вывод информации о таблице(столбцы, строки, типы данных для каждого столбца)
   Print(GetTickCount()-lc1);          //Вывод времени работы
   delete csv;


下面是一个测试中使用的CSV文件的例子。

boooool;dooooouble;enuuuuuum;looooooong;striiiiiiign;tiiiiiime
FALSE;0.00000000;ORDER_TYPE_BUY;0;0;1970.01.01 00:00
TRUE;1.00000000;ORDER_TYPE_SELL;1;1;1970.01.01 00:00
FALSE;2.00000000;ORDER_TYPE_BUY_LIMIT;2;2;1970.01.01 00:00
FALSE;3.00000000;ORDER_TYPE_SELL_LIMIT;3;3;1970.01.01 00:00

保存文件不计算枚举数

boooool;dooooouble;enuuuuuum;looooooong;striiiiiiign;tiiiiiime
0;0.00000000;8;0;0;1970.01.01 00:00
1;1.00000000;0;1;1;1970.01.01 00:00
0;2.00000000;1;2;2;1970.01.01 00:00
0;3.00000000;2;3;3;1970.01.01 00:00
 
Aliaksandr Hryshyn:

我可以提供我自己的解决方案。下面是测试代码和结果。该文件大小为140Mb,有2000000条记录。任务管理器查看了270MB的内存使用量(最大值减去没有脚本的量)。


下面是一个测试中使用的CSV文件的例子。

保存文件不计算枚举数

很好!同意尝试你的解决方案。