小白请问一下一个EA怎么同时读取到模拟盘和实盘的信息

 
想在程序中对比两个盘的数据,然后对实盘进行操作,请问一下可以实现吗?还是说只能通过JAVA或者C++另外编程才可以实现读取多个盘。感激不尽
 

用纯MQL语言也是可以实现的。

在EA中把一个MT4的报价写入到文件,在另外一个MT4中把数据读出来,对比即可。

读写文件时设置FILE_COMMON标志,这样文件位于MT4终端的共享文件夹common中。

 
Ziheng Zhuang:

用纯MQL语言也是可以实现的。

在EA中把一个MT4的报价写入到文件,在另外一个MT4中把数据读出来,对比即可。

读写文件时设置FILE_COMMON标志,这样文件位于MT4终端的共享文件夹commo

谢谢,我试试

 
Ziheng Zhuang:

用纯MQL语言也是可以实现的。

在EA中把一个MT4的报价写入到文件,在另外一个MT4中把数据读出来,对比即可。

读写文件时设置FILE_COMMON标志,这样文件位于MT4终端的共享文件夹common中。

你好还有一个问题,就是这个读取文件里的数据用个的是用哪一个函数,我读取数据一直不对
 
wssg11:
你好还有一个问题,就是这个读取文件里的数据用个的是用哪一个函数,我读取数据一直不对


读数据函数 形式为 FileReadXXXX,比如FileReadDouble(), FileReadInteger(),FileReadString().

文本文件就用FileReadString().


https://www.mql5.com/zh/docs/files

MQL5文档: 文件函数
MQL5文档: 文件函数
  • www.mql5.com
文件函数 - 参考MetaTrader 5的算法/自动交易语言
 
Ziheng Zhuang:


读数据函数 形式为 FileReadXXXX,比如FileReadDouble(), FileReadInteger(),FileReadString().

文本文件就用FileReadString().


https://www.mql5.com/zh/docs

我写入文件时写的是72.692,理应是DOUBLE类型吧,但是我用FileReadDouble()读取出来的数放在DOUBLE类型的数组里,打印出来是一个很奇怪的数

 
Ziheng Zhuang:


读数据函数 形式为 FileReadXXXX,比如FileReadDouble(), FileReadInteger(),FileReadString().

文本文件就用FileReadString().


https://www.mql5.com/zh/docs/files

如果是写High[]里的数据进去,是不是应该用FileWriteDouble,我之前写数据用的是FileWrite
原因: