求教:自从配置文件搬到ROAMING文件夹下后,原来的两个MT4之间的数据传递就死活解决不了

 

以前就是把两个MT4的其中一个放到另一个的FILES文件夹下, 这样上面的可以调用下面的

比如:一个  FileOpen("持单量.csv",FILE_CSV|FILE_WRITE, ",");   另一个  FileOpen("/FBS-A/MQL4/Files/持单量.csv", FILE_CSV|FILE_READ,",");

一直调用得好好的,后来不知道是重装电脑后动了什么(或者是MT4自动更新搞的鬼),MT4的一些文件夹都自动放到了C:\Users\用户\AppData\Roaming\MetaQuotes\Terminal\00560E251D1B41448DB571F82EEC29BA 这种文件夹下,就形成不了调用关系了。

重装过系统、软件都不行,看MT4自己的官方文章说是由于UAC管理的原因,配置和临时文件都放到了以上Roaming文件夹, 那我想请问各位大佬,怎么回到过去呢?又或者说,在这种情况下,怎么在EA中写文件路径才能调用到呢?

 

你过去的做法很特别啊,不要这么做。

两个MT4之间依靠文件互相通信,你可以把文件写入到共享文件夹Common\Files中,它位于

C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\Common\Files

创建文件时,加上FILE_COMMON标志,另外要把共享写/读都设置,这样两个MT4的EA能读/写这个文件,两边创建文件的代码都是一样的:

   FileOpen("持单量.csv",FILE_CSV|FILE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_COMMON, ",")
 
楼上正解,这是mt4规定的共享文件夹路径,沙箱之外的访问默认是不被允许的。
 
Ziheng Zhuang #:

你过去的做法很特别啊,不要这么做。

两个MT4之间依靠文件互相通信,你可以把文件写入到共享文件夹Common\Files中,它位于

C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\Common\Files

创建文件时,加上FILE_COMMON标志,另外要把共享写/读都设置,这样两个MT4的EA能读/写这个文件,两边创建文件的代码都是一样的:

谢谢,这么快就有大佬解答了。我还不是在那里看到别人说这样放的,然后依葫芦画瓢,自己水平很菜,后来连出处都找不到了。