КОД ПРОБЛЕМЫ - страница 2

 
burnssss:

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


Но больше не загружаются данные с 1970 года.

Код, который мы использовали, был следующим:

Я уже дал вам ссылку, в которой говорится, почему это не работает, вы ее прочитали?

RaptorUK:

Пожалуйста, воспользуйтесь поиском по форуму ...

https://www.mql5.com/en/forum/147170

. . . и документацию

 
RaptorUK:
No has respondido a mi pregunta simple, donde en el archivo es lo que desea colocar los nuevos datos? si se piensa que por unos minutos le ayudará. . .

Продолжение старых данных? Я не понимаю, что я должен использовать и где продолжить выполнение загрузки данных
 
Комбинацию FILEREAD / file_write я только что сделал и продолжаю делать то же самое. Что-то я не понимаю.
 
burnssss:
Комбинацию FILEREAD / file_write я только что сделал и продолжаю делать то же самое. Кое-что я не понимаю.
Каждый раз, когда вы записываете строку данных в файл, каждая новая строка данных должна быть на новой строке, вы не хотите, чтобы она перезаписывала строку, которую вы только что написали ... перед записью новой строки данных вам нужно FileSeek() до конца файла . ... затем записать новую строку данных.
 
Я попробую
 

Я не понимаю, это то же самое, что и раньше.

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
export();
  }

//+------------------------------------------------------------------+
void export() 
{ 

string file="export_"+Symbol()+"_"+Period()+".csv"; 
int f=FileOpen(file,FILE_CSV|FILE_READ|FILE_WRITE, ';'); 
if(f>0)
{
     FileSeek(f, 0, SEEK_END);
   
    }



for(int i=Bars-1;i>=0;i--)
{
FileWrite(f,TimeToStr(Time,TIME_DATE|TIME_MINUTES),Open,High,Low,Close ,iFractals(Symbol(),0,1,i),iFractals(Symbol(),0,2,i),iCustom(Symbol(), 
0,"ZigZag",0,i),iCustom(Symbol(),0, "ZigZag",1,i));
Alert("Export "+Symbol()+" finished. Exported: "+Bars+" records"); 
FileClose(f);
  f=0;
}
}
 
burnssss:

Я не понимаю, это то же самое, что и раньше.

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

В коде, я думаю, я использую правильные шаги. Я думаю, что нужно загрузить все данные в файл . Csv, но не понимаю, зачем я это делаю.

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
export();
  }

//+------------------------------------------------------------------+
void export() 
{ 

string file="export_"+Symbol()+"_"+Period()+".csv"; 
int f=FileOpen(file,FILE_READ|FILE_WRITE, ';'); 
if(f>0)
{
     FileSeek(f, 0, SEEK_END);
   
    }



for(int i=Bars-1;i>=0;i--)
{
FileWrite(f,TimeToStr(Time,TIME_DATE|TIME_MINUTES),Open,High,Low,Close ,iFractals(Symbol(),0,1,i),iFractals(Symbol(),0,2,i),iCustom(Symbol(),0,"ZigZag",0,i),iCustom(Symbol(),0, "ZigZag",1,i));
}

Alert("Export "+Symbol()+" finished. Exported: "+Bars+" records");  
FileClose(f); 
}
 
burnssss:

В коде, я думаю, я использую правильные шаги. Я думаю, что нужно загрузить все данные в файл . Csv, но не понимаю, зачем я это делаю.

Когда цикл выполняется для первого значения i он записывает данные и затем закрывает файл, для следующего значения i в цикле файл закрывается ... как вы думаете, что произойдет?
 
Большое спасибо, я нашел решение
Причина обращения: