初学者的问题 MQL4 MT4 MetaTrader 4 - 页 146

 
也许缺少一些dll库?
 
azsxg8181:   也许你缺少一些dll库?

最有可能的是,你把终端放在系统驱动器和Program Files文件夹中。

如果是这样,请选择另一个驱动器。或者至少到你系统驱动器的根部。在安装开始时,有一个设置 按钮

 
这显然是一个幼稚的问题,所以是这样的。
不知为何,我以前没有注意到这一点。在 IndicatorDigits 函数描述的注释中,有如下内容。
默认情况下,使用金融工具的价格精度,该指标被连接到图表中。事
实上,我在数据窗口 中观察到五个数字。
  • 默认设置为4位数。
  • 当IndicatorDigits(Digits)被明确指定时 - 5.
这是一个小故障还是什么?
 
请帮助我们!我无法阅读该文件
int File()
{
int P=0;
int filehandle=FileOpen("C:\\Users\\Михаил\\Desktop\\qqq.csv",FILE_READ|FILE_CSV); 
if(filehandle!=INVALID_HANDLE) 
     { 
     datetime d = FileReadDatetime(filehandle);
     int I=FileReadNumber(filehandle);
     FileClose(filehandle);
     Comment(d+" "+I);
     }
     else {Comment(GetLastError());}
return P;

}
错误5002-无效的文件名

虽然该文件存在


 
Mikhail Simakov:
请帮助我!我无法读取文件,我得到错误5002 - 无效文件名

虽然该文件存在

文件打开

出于安全考虑,MQL5语言严格控制对文件的操作。由MQL5语言文件操作处理的文件不能在文件 "沙盒 "之外。

如果你想在沙盒之外的目录下工作,创建一个快捷方式/符号链接到必要的目录,并在其中加入"MQL4\Files"。
 
Konstantin Nikitin:

文件打开

如果你想在沙盒之外的目录工作,在它的"MQL4\Files"中创建一个所需目录的快捷方式/符号链接。

好了,把文件复制到Files文件夹,重做代码,同样的错误

int File()
{
int P=0;

int filehandle=FileOpen(TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files\\"+"qqq.csv",FILE_READ|FILE_CSV); 
if(filehandle!=INVALID_HANDLE) 
     { 
     datetime d = FileReadDatetime(filehandle);
     int I=FileReadNumber(filehandle);
     FileClose(filehandle);
     Comment(d+" "+I);
     }
     else {Comment(GetLastError());}
return P;

}
 
Mikhail Simakov:

好了,把文件复制到Files,重做代码,同样的错误。

int filehandle=FileOpen("qqq.csv",FILE_READ|FILE_CSV); 

这就够了。那里给出了一个相当好的例子,有错误的,也有正确的文件开放

 
Konstantin Nikitin:

这就够了。那里给出了一个相当好的例子,有错误的,也有正确的文件打开方式

当测试一个EA时,只读文件应该位于哪里?

 
Mikhail Simakov:

当测试一个EA时,读文件应该在哪里?

这是来自MQL5,但本质是一样的。

 
Konstantin Nikitin:

这是来自MQL5,但本质是一样的。

我找到了程序访问的目录,但由于某些原因,它在测试时删除了这个文件qqq.csv