MT5 RAM内存贪婪,读/写大文件的问题 - 页 4 12345678 新评论 Aleksey Vyazmikin 2018.07.21 19:46 #31 Maxim Dmitrievsky:试着像这样读取你的文件 https://www.mql5.com/ru/docs/files/filereadarray 我现在没有时间打开终端,也许明天吧)。所以它读取的是"来自二进制文件",我在哪里可以得到一个? 我将等待 "明天" :) Maxim Dmitrievsky 2018.07.21 19:49 #32 Aleksey Vyazmikin:所以它读作"来自二进制文件",我在哪里可以得到一个? 我将等待 "明天" :)你从哪里得到它? Aleksey Vyazmikin 2018.07.21 19:55 #33 Maxim Dmitrievsky:你从哪里得到它?在这种特殊情况下,该文件是由Excel中的其他CSV文件粘连而成的。这些文件最初是由MT5生成的,在这种特殊情况下。 Maxim Dmitrievsky 2018.07.21 19:57 #34 Aleksey Vyazmikin:在这种特殊情况下,该文件是由Excel中的其他CSV文件粘连而成的。它最初是由MT5生成的,在这个特定的情况下。因此,从mt5写进二进制。它是一个数组吗?只需一次将数组写入文件中,然后再加载它 fxsaber 2018.07.21 21:07 #35 关于交易、自动交易系统和交易策略测试的论坛 mql5语言的特点、微妙之处以及技巧 fxsaber, 2018.04.06 17:08 可能没有多少人这样做,所以这里// Заполнение массива строками из файла - классика int FileToStrings( const string FileName, string &Str[] ) { ArrayResize(Str, 0); const int handle = FileOpen(FileName, FILE_READ | FILE_ANSI ); if (handle != INVALID_HANDLE) { while (!FileIsEnding(handle)) Str[ArrayResize(Str, ArraySize(Str) + 1) - 1] = FileReadString(handle); FileClose(handle); } return(ArraySize(Str)); } // Заполнение массива строками из файла - альтернатива int FileToStrings2( const string FileName, string &Str[] ) { uchar Bytes[]; return(FileLoad(FileName, Bytes) ? StringSplit(CharArrayToString(Bytes), '\n', Str) : 0); } void OnStart() { const string FileName = "Test.txt"; string Str[]; FileToStrings(FileName, Str); string Str2[]; FileToStrings2(FileName, Str2); ArrayPrint(Str); ArrayPrint(Str2); } 我自己在需要研磨东西的时候使用第二种方法。可能也能更快地工作,没有测试过。 作为一个基准,可能的指标是 关于交易、自动交易系统和交易策略测试的论坛 脚本:ThirdPartyTicks fxsaber, 2018.04.18 23:10 以每秒300万次的速度解析(ZIP+CSV)。这一定是很快的。超过3GB的ZIP(>>10GB的CSV)我处理起来没有问题,所以它肯定可以很好地工作。 Roffild 2018.07.21 21:11 #36 CSV解析本身应该包括大约10行。在这种情况下,根本不需要整个班级。 即使对于编程初学者 来说,这项任务也非常简单。从文件中读取数据后会发生什么是下一个任务,只有程序员才了解。 阿列克谢,雇用一个程序员或开始适当的编程研究。否则,你将在你无法使用的课程上浪费金钱。没有编程经验就想挣钱是毫无意义的。 P.S. 不要接触雷纳特。他在这个问题上没有什么可做的。他必须修复优化。 Aleksey Vyazmikin 2018.07.21 21:16 #37 Maxim Dmitrievsky:因此,从mt5写进二进制。它是一个数组吗?只要一次把数组写到文件里,以后再加载。有很多列,每一列都是一个独立的数组。 Aleksey Vyazmikin 2018.07.21 21:18 #38 fxsaber: 作为一个基准,以下数字是可能的 超过3GB的ZIP(>>10GB的CSV)我处理起来没有任何问题,所以它绝对可以工作得相当好。谢谢。如何将行写入数组是很清楚的,但我也想处理列的问题。按理说,从数组中调用行号后,你需要做一些额外的解析来寻找列,但如何做呢? Maxim Dmitrievsky 2018.07.21 21:19 #39 Aleksey Vyazmikin:有很多列,每一列都是一个独立的数组。所以它是一个二维数组,一个矩阵。写吧 Aleksey Vyazmikin 2018.07.21 21:22 #40 Roffild:CSV解析本身应该包括大约10行。在这种情况下,根本不需要整个班级。 即使对于编程初学者 来说,这项任务也非常简单。从文件中读取数据后会发生什么是下一个任务,只有程序员才了解。 阿列克谢,雇用一个程序员或开始适当的编程研究。否则,你将在你无法使用的课程上浪费金钱。没有编程经验就想挣钱是毫无意义的。 P.S. 不要接触雷纳特。他在这个问题上没有什么可做的。他需要解决优化问题。从MT4开始,我已经用了大约3年了。 它很方便,但真的很慢。 当然,读懂一个字符串很容易,但把它全部变成一个工作的细胞结构就难多了。 你说我不能使用班级是什么意思?我是这样想的,况且,元气满满的员工写了这个班。然后,我真的雇了一个人,付了钱,并期望得到一个成品,但有人告诉我,慢一点也没关系......。我相信他们,但现在我的记忆力已经过剩了。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
试着像这样读取你的文件
https://www.mql5.com/ru/docs/files/filereadarray
我现在没有时间打开终端,也许明天吧)。
所以它读取的是"来自二进制文件",我在哪里可以得到一个?
我将等待 "明天" :)所以它读作"来自二进制文件",我在哪里可以得到一个?
我将等待 "明天" :)你从哪里得到它?
你从哪里得到它?
在这种特殊情况下,该文件是由Excel中的其他CSV文件粘连而成的。这些文件最初是由MT5生成的,在这种特殊情况下。
在这种特殊情况下,该文件是由Excel中的其他CSV文件粘连而成的。它最初是由MT5生成的,在这个特定的情况下。
因此,从mt5写进二进制。它是一个数组吗?只需一次将数组写入文件中,然后再加载它
关于交易、自动交易系统和交易策略测试的论坛
mql5语言的特点、微妙之处以及技巧
fxsaber, 2018.04.06 17:08
可能没有多少人这样做,所以这里 我自己在需要研磨东西的时候使用第二种方法。可能也能更快地工作,没有测试过。作为一个基准,可能的指标是
关于交易、自动交易系统和交易策略测试的论坛
脚本:ThirdPartyTicks
fxsaber, 2018.04.18 23:10
以每秒300万次的速度解析(ZIP+CSV)。这一定是很快的。
超过3GB的ZIP(>>10GB的CSV)我处理起来没有问题,所以它肯定可以很好地工作。
CSV解析本身应该包括大约10行。在这种情况下,根本不需要整个班级。
即使对于编程初学者 来说,这项任务也非常简单。从文件中读取数据后会发生什么是下一个任务,只有程序员才了解。
阿列克谢,雇用一个程序员或开始适当的编程研究。否则,你将在你无法使用的课程上浪费金钱。没有编程经验就想挣钱是毫无意义的。
P.S.
不要接触雷纳特。他在这个问题上没有什么可做的。他必须修复优化。
因此,从mt5写进二进制。它是一个数组吗?只要一次把数组写到文件里,以后再加载。
有很多列,每一列都是一个独立的数组。
作为一个基准,以下数字是可能的
超过3GB的ZIP(>>10GB的CSV)我处理起来没有任何问题,所以它绝对可以工作得相当好。
谢谢。如何将行写入数组是很清楚的,但我也想处理列的问题。按理说,从数组中调用行号后,你需要做一些额外的解析来寻找列,但如何做呢?
有很多列,每一列都是一个独立的数组。
所以它是一个二维数组,一个矩阵。写吧
CSV解析本身应该包括大约10行。在这种情况下,根本不需要整个班级。
即使对于编程初学者 来说,这项任务也非常简单。从文件中读取数据后会发生什么是下一个任务,只有程序员才了解。
阿列克谢,雇用一个程序员或开始适当的编程研究。否则,你将在你无法使用的课程上浪费金钱。没有编程经验就想挣钱是毫无意义的。
P.S.
不要接触雷纳特。他在这个问题上没有什么可做的。他需要解决优化问题。
从MT4开始,我已经用了大约3年了。 它很方便,但真的很慢。
当然,读懂一个字符串很容易,但把它全部变成一个工作的细胞结构就难多了。
你说我不能使用班级是什么意思?我是这样想的,况且,元气满满的员工写了这个班。然后,我真的雇了一个人,付了钱,并期望得到一个成品,但有人告诉我,慢一点也没关系......。我相信他们,但现在我的记忆力已经过剩了。