//+------------------------------------------------------------------+ //| Архивирование оптимального набора параметров | //+------------------------------------------------------------------+ string SetArchive(string Settin,datetime Todata) { string NameSettin; // Формируемое имя оптимального набора параметров TimeToStruct(Todata,dt_struct); // Разложение момента формирования имени для Settin string mnth = dt_struct.mon; // Месяц, день int dyy = dt_struct.day; string dy = dt_struct.day; if(dyy <= 9) dy = "0" + dy; double LimPos = MTTESTER::GetValue(Settin,"ShortMax"); // ShortMax считывается NameSettin = mnth+dy+"-"+Depo+" "+IndName+"-"+DoubleToString(ProfitNew,0)+".set"; // Формируется имя для Settin int file_handle=FileOpen("//"+NameSettin,FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI); FileWriteString(file_handle,Settin+"\r\n"); // Записывается строка Settin в песочницу Files FileClose(file_handle); // Закрываем открытый файл, чтобы его можно было дальше перезаписывать string Path = TerminalInfoString(TERMINAL_DATA_PATH); string SrcPath = Path + "\\MQL5\\Files\\" + NameSettin; string DstPath = Path + "\\MQL5\\Profiles\\Tester\\" + NameSettin; ResetLastError(); if(!kernel32::CopyFileW(SrcPath,DstPath,false)) // Переписываем Settin из песочницы Files в папку Tester PrintFormat("Error = %d",GetLastError()); // 4009 Неинициализированная строка return(NameSettin); }