[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 349

 
yosuf:
也许增加RAM的容量会有帮助?我有一台双核电脑,但内存出现故障。

尝试给系统超频:删除所有不必要的Windows进程和服务,删除所有不必要的程序,清理自动启动(在命令行中输入msconfig),清理注册表(Wise Registry Cleaner,CCleaner),禁用杀毒软件(不要禁用防火墙),禁用Windows效果、小工具、主题,重新分配硬盘上的数据(如果有几个),等等。禁用那些持续运行并给你的计算机带来大量压力的程序--µTorrent、eMule、Opera等。增加CPU功率(但不要太多)。

简而言之,你需要一个年轻的专业玩家,他将为你的电脑超频:))

 

嗨,你能向一个傻瓜解释一下--在模拟账户 中是否有EMA?- 还是说它作为一个指标已经消失了......而且没有ATR。我怎样才能让他们回到名单上?

谢谢你。

 
有简单的移动平均线,但没有指数型移动 平均线 :(
 
有没有人有任何MT4专家顾问的源代码,可以对键盘上的按键做出反应?如果是这样,请张贴出来。我将非常感激!!!。
 
sss2019:

问题不在于此,问题在于它只读到分隔符,并将滑块移到行尾,为什么?


你很好奇。文档中没有描述移动指针的机制,所以我只能提供一个合理的假设。

读取操作涉及读取一条记录。对于csv文件,一条记录是一个字符串。因此,字符串被读入缓冲区,文件指针自然被放置在字符串的末端。此外,只要缓冲区内有数据,文件指针就不会改变,读取是在缓冲区内完成的。

 
Mislaid:


你是个好奇的人。文件中没有描述指针的移动机制,所以我只能提供一个合理的假设。

读取操作意味着读取一条记录。对于csv文件,一条记录是一个字符串。因此,一个字符串被读入缓冲区,文件指针自然被放置在字符串的末端。此外,只要缓冲区内有数据,文件指针就不会改变,从缓冲区内进行读取。


不要编造自己的东西。

FileReadString() 最多读取到分隔符(如果指定的话)。如果没有指定分隔符或者分隔符不存在,FileReadString()会读到字符串的结尾(回车符) 因此,在上面的例子中, FileFlush()指定了一个字符串长度偏移

在这种情况下,StrToInteger()选择字符串中第一个遇到的数字值,并将其转换为[int]类型。

 

感谢DmitriyN 试图帮助....,我得到了它 但现在我想知道,在小时图上应该为两个EMAs设置什么周期。

 
branishh:

感谢DmitriyN 试图帮助....,我得到了它 但现在我想知道,在小时图上应该为两个EMAs设置什么周期。

无论你设定什么时期,都不太可能有好的结果。但你更清楚。
 
FAQ:


没有必要不类型化。

FileReadString()读取到定界符(如果指定)。如果没有指定定界符或没有指定现有的定界符, FileReadString()会读到字符串的末尾(回车符) 因此,在上述例子中, FileFlush()指定了一个字符串长度的偏移

在这种情况下,StrToInteger()选择字符串中第一个遇到的数字值并将其转换为[int]类型。


那么为什么,我用函数FileReadString,在理论上,应该把整个字符串读到变量中,或者读到分隔符和一个指向分隔符的指针的第一个。

简单地说,请告诉我一个例子,如何从csv文件字符串中提取分隔符之间的所有数据?

131322608;EURUSD;2;1;0;0;1346149440

 
sss2019:


那么为什么,我使用FileReadString函数,在理论上,要么整个字符串进入变量,要么到分离器和指针到分离器的第一个都应该被读取。

简单地说,请告诉我一个例子,如何从csv文件行中拉出分隔符之间的所有数据,像这样?

131322608;EURUSD;2;1;0;0;1346149440


你甚至知道如何阅读吗?我在上面已经详细描述了它。

例如:FileOpen(filename,FILE_CSV|FILE_READ,";")。

intFileOpen(string filename, int mode, int delimiter=';')
打开一个文件用于输入和/或输出。返回打开的文件的文件描述符,如果失败则返回-1。调用GetLastError()来获取更多的错误信息。
注意:文件只能在terminal_directory\experts\files 如果是专家测试,terminal_directory\tester\files)文件夹或其子文件夹中打开。
FILE_BIN和FILE_CSV模式不能同时使用。
如果FILE_WRITE没有与FILE_READ结合,一个长度为零的文件将被打开。即使在文件被打开之前,文件中还有数据,也会被销毁。如果需要将数据附加到一个现有的文件中,必须使用FILE_READ | FILE_WRITE组合打开。
如果FILE_READ没有与FILE_WRITE结合,那么只有当文件已经存在时才会被打开。如果该文件不存在,可以使用FILE_WRITE创建。
在一个单一的可执行文件中,同时打开的文件不能超过32个。在一个模块中打开的文件的描述符不能传递给其他模块(库)。
参数。
文件名 - Filename - 文件名称。
模式 - 打开的方法。这可以是一个单一的值或一个值的组合:FILE_BIN、FILE_CSV、FILE_READ、FILE_WRITE。
分隔符 - csv文件的分界符。默认情况下,它是';'。