如何将数据从mql4(metatrader)导入r以实现自动化?

如何将数据从mql4(metatrader)导入r以实现自动化?,r,database,mql4,metatrader4,mql,R,Database,Mql4,Metatrader4,Mql,为了实时处理金融市场的数据和时间序列,大多数提供metratrader平台的经纪人都允许下载对和指数的历史数据;此过程是手动完成的,以创建csv文件。我需要自动完成这一过程,以便每10天下载96个市场的历史数据,而无需参考书目或相关信息。如果问题是如何组织MT4和R之间的联系,通常有三种方法: 1.使用文件、管道和通道作为备选方案。 2.REST,您需要web服务器。 3.DLL(标准WinAPI,编写DLL文件,使用websocket或联系代理)。后者可能是最简单的方法,请尝试ZeroMQ。

为了实时处理金融市场的数据和时间序列,大多数提供metratrader平台的经纪人都允许下载对和指数的历史数据;此过程是手动完成的,以创建csv文件。我需要自动完成这一过程,以便每10天下载96个市场的历史数据,而无需参考书目或相关信息。

如果问题是如何组织MT4和R之间的联系,通常有三种方法: 1.使用文件、管道和通道作为备选方案。 2.REST,您需要web服务器。 3.DLL(标准WinAPI,编写DLL文件,使用websocket或联系代理)。后者可能是最简单的方法,请尝试ZeroMQ。 如果需要从MT4下载一些数据,应该编写一个小脚本来收集数据。差不多

bool getData(string symbol,int timeframe,int startFrom,string fileName)
{
  string message="";
  for(int i=startFrom;i>=0;i--)
  {
     message=message+StringFormat("%s;%.5f;%.5f;%.5f;%.5f",
        TimeToString(iTime(symbol,timeframe,i)),
        iOpen(symbol,timeframe,i),
        iHigh(symbol,timeframe,i),
        iLow(symbol,timeframe,i),
        iClose(symbol,timeframe,i));
  }
  int handle=FileOpen(fileName,FILE_READ|FILE_WRITE,FILE_CSV);
  if(handle==INVALID_HANDLE)return(false);
  FileSeek(CUR_END);
  FileWrite(message);
  FileClose(handle);
  return(true);
}

你为什么不能用quantmod?还是整洁
tq_-get(“AAPL”,get=“stock.prices”,from=“2009-01-01”,to=“2018-01-01”)
或者获取整个标准普尔500
tq_指数(“sp500”)
因为我在使用分形序列,所以我需要每分钟、5分钟、15分钟、30分钟、60分钟、4小时、12小时、1天、一周的节奏,等等。。。。。并通过市场的报价和要求来限制他们。我理解,使用quantmod的数量选项,我只能选择关闭,我没有佣金代理的信息。这个问题缺乏数据规范和对预期产出的清晰描述。