来自一个 "傻瓜 "的问题 - 页 108

 

我的专家顾问从csv文件中获取模式值。交易时,一切正常,但在测试器中却不正常。我应该把csv文件放在哪里,我应该创建什么文件夹?

我是这样做的

该文件在客户终端的子文件夹MQL5\files中打开(或者在测试的情况下,在文件夹_Testing_agent/MQL5\files中)。

但它不工作,测试代理 目录位于哪里?

 
openlive:
我的专家顾问从一个csv文件中获取模式值。交易时,一切正常,但在测试器中不正常。我应该把csv文件放在哪里,应该建立哪个文件夹?
请在《参考手册》中查看关于tester_file 常数的描述。
 
Yedelkin:
请在《参考手册》中查看关于tester_file 常数的描述。

看了一下,把文件放在Mql5\Tester\Files中

但测试者只是站在原地不动。

这里是测试器文件本身。

附加的文件:
 
openlive:

看着它,把文件放在Mql5\Tester\Files中

FileOpen() 函数的描述说:"文件在客户终端文件夹的子文件夹MQL5\files(或在测试情况下 the_agent_tester\MQL5\files目录 )中打开"。试试吧。

a) 指定文件的完整路径,如

string filename=TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Tester\\Files\\"+"file.csv";

b)把文件放在代理的目录中

我自己没有遇到过这种情况。从其他处理文件的功能描述来看,在测试的情况下,文件必须在Mql5/Tester/Files中寻找。

一个补充。是的,你已经在那里打开了几个文件。而在tester_file中,你只有一个。

 
Yedelkin:

FileOpen() 函数的描述说:"文件在客户终端的子文件夹MQL5\files(或 测试的情况下catalog_agent_testing\MQL5\files )中打开"。试试吧。

a) 指定文件的完整路径,如

b)把文件放在代理的目录中

我自己没有遇到过这种情况。我在《手册》中没有发现任何直接的指示,用于测试的文件应该放在哪里。

补遗。是的,你在那里打开了几个文件。而在测试者_文件中只指定了一个。

a) 做了 - 没有帮助。

b) 我不明白怎么做,我只有MQL5\Tester\Files文件夹,我不知道Testing_agent_folder\MQL5\files 下的文件夹是什么意思。

 

这里有更多:https://www.mql5.com/ru/forum/1111/page182#comment_31599 看到两个帖子。如果文件在 \MQL5\Files中,它还有点作用。

好吧,你可以尝试把它移到TerminalInfoString(TERMINAL_COMMONDATA_PATH) 的共享文件夹里。而在打开文件本身时,设置标志FILE_COMMON。

 

耶德尔金

这里有更多:https://www.mql5.com/ru/forum/1111/page182#comment_31599 看到两个帖子。如果文件在 \MQL5\Files中,它还有点作用。

好吧,你可以尝试把它移到TerminalInfoString(TERMINAL_COMMONDATA_PATH) 的共享文件夹里。并在打开文件本身时设置FILE_COMMON标志。

把文件放在C:\ProgramData\MetaQuotes\Terminal\Common\Files中,放上FILE_COMMON 标志。

反正测试员也不说什么。

不知道还能做什么

 

换句话说,在Mql5\Tester\Files、Mql5\Files和客户终端的共享文件夹中找到该文件都没有帮助?

FileIsExist() 的检查与输出放在一起

你是否使用tester_file编写了程序使用的其他文件?

一个与主要问题无关的评论。你是否有

int handle16=FileOpen("signal10000.csv",FILE_WRITE|FILE_CSV,";");
int handle17=FileOpen("signal10000.dat",FILE_WRITE|FILE_BIN,";"); 
int handle=FileOpen(filename,FILE_READ|FILE_CSV,";");

等。

在每一次打勾时都会被调用。这是很麻烦的。除非有特殊原因,否则应该在OnInit()函数中获得文件句柄,检查是否残疾,然后用打开的文件 句柄而不是FileOpen() 函数工作。

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
Yedelkin:

换句话说,在Mql5\Tester\Files、Mql5\Files和客户终端的共享文件夹中找到该文件都没有帮助?

FileIsExist() 的检查与输出放在一起

你是否使用tester_file编写了程序使用的其他文件?

一个与主要问题无关的评论。你是否有

等。

在每一次打勾时都会被调用。这是很麻烦的。除非有特殊原因,文件句柄应该在OnInit()函数中获得,检查是否残疾,然后用打开的文件 句柄工作,而不是用FileOpen() 函数。

这些文件实际上并不是每一次都被调用...有一个新酒吧的检查,但还是谢谢你,我会修正它的。

我将尝试FileIsExist()。

 
openlive:

这些文件实际上并不是每一次都被调用...有一个新酒吧 的检查。但无论如何,谢谢你,我会修复它。

是的,没有彻底看清楚。但你的要点是正确的 :)