Однократный расчет массива при оптимизации - страница 4

 

Ребята подскажите, как мне записать данные в одну строку, через запятую) 

У меня получается каждый раз с новой строки.

int Qnt=FileWrite(Handle,Time[0]);
if(Qnt<0)Alert("не получилась запись=");
   return(0);

 В принципе должно быстрее работать если все данные сразу занести в массив, как посоветовали:

double arr[100500]={1,2,3....} 
 
forexman77:

Ребята подскажите, как мне записать данные в одну строку, через запятую) 

У меня получается каждый раз с новой строки.

 В принципе должно быстрее работать если все данные сразу занести в массив, как посоветовали:

Прочитал статью про строковые функции, вроде сделал:

string str1,str2;
   for (int y=stroki-1;y>=0;y--)
   {
   str1=T[y];
   str2=str2+","+str1;
   }
   Print("str2=",str2);
2016.09.15 21:42:58.649 запись данных GBPUSD,H4: str2=,1452038400,1454022360,1454104980,1456788420,1457130840,1459205760,1459463580,1459814040,1461621600,1461710760
 
forexman77:

Ребята подскажите, как мне записать данные в одну строку, через запятую) 

У меня получается каждый раз с новой строки.

 В принципе должно быстрее работать если все данные сразу занести в массив, как посоветовали:

Зачем это делать??? Дмитрий дал ссылки на документацию чтение и запись массива в файл.

Dmitry Fedoseev:

https://www.mql5.com/ru/docs/files/filereadarray

https://www.mql5.com/ru/docs/files/filewritearray

По ссылкам и примеры есть. 

Как в фильме "Бриллиантовая рука"... "Одним движением руки, брюки превращаются..." Только в этом случае не происходит технических неполадок. Ведь я не зря спросил как организована запись и чтение массива.
 
А инструкция по конвертации обычного файла с цифрами в Bin имеется у кого? Я вот не могу понять, какой разделитель должен быть у цифр?
 
-Aleks-:
А инструкция по конвертации обычного файла с цифрами в Bin имеется у кого? Я вот не могу понять, какой разделитель должен быть у цифр?
Считывая цифры впихивать их в массив, а массив потом записать в файл в бинарном режиме.
 
Dmitry Fedoseev:
Считывая цифры впихивать их в массив, а массив потом записать в файл в бинарном режиме.

Понял, т.е. готовый файл с цифрами можно считать в массив (мой случай), потом записать в бинарный файл, и потом пользоваться им.

Ну а если из файла нужно читать данные 10 массивов, то нужно сделать сортировщик, который будет по спец цифре понимать окончание массива и наполнять следующий массив... ибо не удобно руками каждый раз писать размер массива.

 
-Aleks-:

Понял, т.е. готовый файл с цифрами можно считать в массив (мой случай), потом записать в бинарный файл, и потом пользоваться им.

Ну а если из файла нужно читать данные 10 массивов, то нужно сделать сортировщик, который будет по спец цифре понимать окончание массива и наполнять следующий массив... ибо не удобно руками каждый раз писать размер массива.

Каша в голове.

Запись массива в файл необходима для сохранения этого массива на время перезагрузки советника. Запись перед выходом и чтение при входе.

Если в советнике предусмотрено 10 массивов, то и файлов будет 10. Но прежде чем его (массив) читать, его надо создать и записать...

 
Alexey Viktorov:

Каша в голове.

Запись массива в файл необходима для сохранения этого массива на время перезагрузки советника. Запись перед выходом и чтение при входе.

Если в советнике предусмотрено 10 массивов, то и файлов будет 10. Но прежде чем его (массив) читать, его надо создать и записать...

Какой Вы зашоренный,  я говорю о решениях, а вы восхваляете проблему. Мой пост не про решение проблемы топик стартера.

Невнимательность и агрессивность - видимо апатия, осень...

 
Alexey Viktorov:

Зачем это делать??? Дмитрий дал ссылки на документацию чтение и запись массива в файл.

Как в фильме "Бриллиантовая рука"... "Одним движением руки, брюки превращаются..." Только в этом случае не происходит технических неполадок. Ведь я не зря спросил как организована запись и чтение массива.

Вполне возможно, что с бин файлом быстрее будет.

Вчера попробовал объявить массив сразу. Ведь массив мне известен заранее, до оптимизации.

К примеру так(часть строк удалил):

datetime T[411]=
   {
   1262731020,1262735700,1262821920,1262903400,1262989740,1263247200,1263339060,1263420000,1263507480,1263595500,
   1265324700,1265407200,1265752980,1265926500,1265930820,1267657200,1267740300,1267826460,1268175840,1268346360,
   1270504920,1270684140,1270768500,1272924180,1273011720,1273097100,1273272240,1273528800,1273617180,1275344100,
   1275516000,1275602400,1275689160,1276034400,1276124580,1276208700,1276211640,1278027960,1278369780,1278373920,
   1278456660,1278540000,1278626400,1278712800,1280447880,1280527200,1280789220,1280959200,1281045720,1283292000,
   1283378400,1283812200,1285626300,1285887060,1286229600,1286316000,1286404740,1288133220,1288216860,1288305120,
   1288392420,1288648860,1288735200,1288741980,1288822080,1288994400,1290722460,1290809040,1291069320,1291329540,
   1293228420,1293577020,1293666300,1293746400,1295992800,1296079320,1296253680,1296514200,1296686940,1296770400,
   1298503260,1298592000,1298672280,1298931060,1300831920,1300917600,1301609160,1301696460,1303512420,1303768920
   };

 Не особо пока получилось. Сейчас терминалы заняты оптимизацией, потом попробую по разному сделать. Предполагаю, что необходимо делать преобразование из строки в дату.

 
Я делаю так. Провожу однократное тестирование. При этом тестировании записываю массивы в файл. Потом провожу оптимизацию на этом же участке, только теперь массивы не пересчитываются при появлении каждого бара или тика, а читаются из файла. Оптимизация по ценам открытия на недельном периоде происходит мгновенно. А без файловых операций длится часами.
Причина обращения: