要实时处理金融市场的数据和时间序列,提供平台交易者的大多数经纪人都允许下载货币对和指数的历史数据;手动完成此过程以创建一个csv文件。我需要使该过程自动化,以便每10天下载96个市场的历史数据,而没有书目或相关信息。
答案 0 :(得分:1)
如果问题是如何组织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);
}