我就日了狗了,MQL4生成的csv文件,同样的一段代码,MQL4就能读取,MQL5能代开csv,句柄显示都是1了,甚至行数都能读取了,就是读取不了里面的数据,怎么回事,求大神解决。

要添加评论,请登录注册
Jiying Li
135
Jiying Li  

csv 文件内容:

2992.96*2992.9

35964755*EURUSD*0*0.01*0*0**0*1560167721*1.13113

35964754*EURUSD*0*0.01*0*0**0*1560167720*1.13113


MQL5读取文件代码:

===========================

 handle=FileOpen(跟踪主账号+".csv",FILE_CSV|FILE_READ|FILE_SHARE_WRITE|FILE_SHARE_READ,间隔符);

   if(handle>0)//打印出来handle=1的

     {

         account_balance=FileReadString(handle);  //这里无法读取到数值???有没有大神知道是什么原因呀。多少行都能读取正常的 。

     }

===========================

MQL4读取文件代码:

===========================

 handle=FileOpen(跟踪主账号+".csv",FILE_CSV|FILE_READ|FILE_SHARE_WRITE|FILE_SHARE_READ,间隔符);

   if(handle>0)

     {

         account_balance=FileReadString(handle);  //MQL4读取数据就正常的(值为:2992.96),头大呀 。

     }

===========================


Jiying Li
135
Jiying Li  
MQL5自己生成的csv文件读取也是正常的
Jiying Li
135
Jiying Li  
难道是系统有bug???MQL4生成的csv无法被MQL5读取?
Yiwei Sun
223
Yiwei Sun  

哈哈  也有人碰到这个问题了...

我也没解决怀疑是bug  wps这种外部生成的csv文件

只有mt4可读

可微信交流eeeeeeeeez 微信号
Jiying Li
135
Jiying Li  
要是这样,就难受了
Ziheng Zhuang
30831
Ziheng Zhuang  

你试试写文件与读文件的代码中都加上 FILE_UNICODE

Jiying Li
135
Jiying Li  
Ziheng Zhuang:

你试试写文件与读文件的代码中都加上 FILE_UNICODE

谢谢大神,不过还是不行。我感觉应该是mql5的问题,mql5自己写的csv就能读取到数据。mql4也能读取到MQL5生成的csv。

Ziheng Zhuang
30831
Ziheng Zhuang  

应该是你代码有问题,还是你没有说清楚...

没有读到数据与读的数据不对是两码事。

Ziheng Zhuang
30831
Ziheng Zhuang  

MT4 脚本写数据到COMMON路径,这样MT4与MT5就能借同一个目录以文件的方式通信。

写5行数据: 

//+------------------------------------------------------------------+
//|                                           test_mt4_fileWrite.mq4 |
//|                                           Copyright 2019,fxMeter |
//|                            https://www.mql5.com/en/users/fxmeter |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019,fxMeter"
#property link      "https://www.mql5.com/en/users/fxmeter"
#property version   "1.00"
#property strict
string fileName="test_mt4.csv";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int handle=FileOpen(fileName,FILE_CSV|FILE_UNICODE|FILE_WRITE|FILE_SHARE_READ|FILE_COMMON,",");
   if(handle==-1)return;
   string txt="35964755*EURUSD*0*0.01*0*0**0*1560167721*1.13113";
   for(int i=0;i<5;i++)
     {
      FileWrite(handle,i+":"+txt);
     }
   FileClose(handle);
  }
//+------------------------------------------------------------------+


在MT5中读数据:

//+------------------------------------------------------------------+
//|                                            test_mt5_fileRead.mq5 |
//|                                           Copyright 2019,fxMeter |
//|                            https://www.mql5.com/en/users/fxmeter |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019,fxMeter"
#property link      "https://www.mql5.com/en/users/fxmeter"
#property version   "1.00"

string fileName="test_mt4.csv";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int handle=FileOpen(fileName,FILE_CSV|FILE_UNICODE|FILE_READ|FILE_COMMON,",");
   if(handle==-1)return;
   string txt; //i+":"+"35964755*EURUSD*0*0.01*0*0**0*1560167721*1.13113"
   while(!FileIsEnding(handle))
     {
      txt=FileReadString(handle);
      Print(txt);
     }
   FileClose(handle);
  }
//+------------------------------------------------------------------+
Ziheng Zhuang
30831
Ziheng Zhuang  

在MT4中运行该脚本后,数据文件写入到COMMON路径下。

在MT5中运行读文件脚本,结果如下:

Ziheng Zhuang
30831
Ziheng Zhuang  

COMMON目录是MT4,MT5共享的,其路径一般是这样的

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

12
要添加评论,请登录注册