CÓDIGO DEL PROBLEMA - página 2

 
burnssss:

Traté de crear un experto, más o menos código similar, y escribo un archivo por ejemplo, los datos mensuales


Pero no más descarga de datos desde 1970.

El código que utilizamos fue el siguiente:

Ya te he dado un enlace que te dice por qué esto no funciona, ¿lo has leído?

RaptorUK:

Por favor, utilice la búsqueda del Foro .

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

. . y la documentación

 
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á. . .

¿la continuación de los datos antiguos? No entiendo que tengo que usar y donde seguir realizando la descarga de datos
 
La combinación FILEREAD / file_write la acabo de hacer y sigo haciendo lo mismo. Hay algo que no estoy entendiendo
 
burnssss:
La combinación FILEREAD / file_write la acabo de hacer y sigo haciendo lo mismo. Hay algo que no estoy entendiendo
Cada vez que escribes una fila de datos en el archivo, cada nueva fila de datos quieres que esté en una nueva fila, no quieres que sobreescriba la fila que acabas de escribir . . antes de escribir la nueva fila de datos necesitas hacer FileSeek() hasta el final del archivo . . luego escribir la nueva fila de datos.
 
Voy a intentar
 

No entiendo, es lo mismo que antes

//+------------------------------------------------------------------+
//| 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:

No entiendo, es lo mismo que antes

¿Por qué cierras el archivo dentro del bucle? lee tu código antes de probarlo, asegúrate de que tiene sentido....
 

En el código, creo que uso los pasos correctos. Creo que debería descargar todos los datos en un archivo . Csv, pero no entiendo por qué hago esto.

//+------------------------------------------------------------------+
//| 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:

En el código, creo que uso los pasos correctos. Creo que debería descargar todos los datos en un archivo . Csv, pero no entiendo porque hago esto.

Cuando el bucle se ejecuta para el primer valor de i escribirá los datos y luego cerrará el archivo, para el siguiente valor de i en el bucle se cierra el archivo... ¿qué crees que pasará?
 
Muchas gracias, he encontrado la solución
Razón de la queja: