//+------------------------------------------------------------------+ //| Demo_FileWriteInteger.mq5 | //| Copyright 2013, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" //--- 脚本执行时显示输入参数窗口 #property script_show_inputs //--- 客户端的接收参数 input string InpSymbolName="EURUSD"; // 货币对 input ENUM_TIMEFRAMES InpSymbolPeriod=PERIOD_H1; // 时间帧 input datetime InpDateStart=D'2013.01.01 00:00'; // 数据复制开始时间 //--- 文件写参数 input string InpFileName="Trend.bin"; // 文件名 input string InpDirectoryName="Data"; // 目录名 //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { datetime date_finish=TimeCurrent(); double close_buff[]; datetime time_buff[]; int size; //--- 重置错误值 ResetLastError(); //--- 复制每根柱线的收盘价 if(CopyClose(InpSymbolName,InpSymbolPeriod,InpDateStart,date_finish,close_buff)==-1) { PrintFormat("复制收盘价失败。错误代码 = %d",GetLastError()); return; } //--- 复制每根柱线的时间 if(CopyTime(InpSymbolName,InpSymbolPeriod,InpDateStart,date_finish,time_buff)==-1) { PrintFormat("复制时间值失败。错误代码 = %d",GetLastError()); return; } //--- 接收缓冲区尺寸 size=ArraySize(close_buff); //--- 打开写文件 (如果文件缺失, 自动创建) ResetLastError(); int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_WRITE|FILE_BIN); if(file_handle!=INVALID_HANDLE) { PrintFormat("%s 文件可用于输出",InpFileName); PrintFormat("文件路径: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH)); //--- int up_down=0; // 趋势标志 int arr_size; // 分配数组大小 uchar arr[]; // uchar 类型数组 //--- 写时间值至文件 for(int i=0;i