PROBLEM-CODE - Seite 2

 
burnssss:

Ich habe versucht, einen Experten zu erstellen, mehr oder weniger ähnlichen Code, und ich schreibe eine Datei zB monatliche Daten


Aber nicht mehr herunterladen Daten von 1970.

Der Code, den wir verwendet haben, war wie folgt:

Ich habe Ihnen bereits einen Link gegeben, der Ihnen sagt, warum das nicht funktioniert, haben Sie ihn gelesen?

RaptorUK:

Bitte benutze die Forumssuche...

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

. . . und die Dokumentation

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

Eine Weiterführung der alten Daten? Ich verstehe nicht, dass ich verwenden müssen und wo die Daten weiterhin durchführen Download
 
Die Kombination FILEREAD / file_write habe ich gerade gemacht und ich mache immer wieder das Gleiche. Etwas, das ich nicht verstehe
 
burnssss:
Die Kombination FILEREAD / file_write habe ich gerade gemacht und ich mache immer wieder das Gleiche. Etwas verstehe ich nicht
Jedes Mal, wenn Sie eine Datenzeile in die Datei schreiben, wollen Sie, dass jede neue Datenzeile in einer neuen Zeile steht und nicht die Zeile überschreibt, die Sie gerade geschrieben haben ... bevor Sie die neue Datenzeile schreiben, müssen Sie FileSeek() bis zum Ende der Datei ausführen . ...und dann die neue Datenzeile schreiben.
 
Ich werde es versuchen
 

Ich verstehe nicht, ist das gleiche wie vorher

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

Ich verstehe nicht, ist das gleiche wie vorher

Warum schließen Sie die Datei innerhalb der Schleife? Lesen Sie Ihren Code durch, bevor Sie ihn testen, und vergewissern Sie sich, dass er Sinn macht...
 

Ich denke, dass ich im Code die richtigen Schritte verwende. Ich denke, Sie sollten alle Daten in einer Datei herunterladen. Csv, aber nicht verstehen, warum ich dies tun.

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

Ich denke, dass ich im Code die richtigen Schritte verwende. Ich denke, Sie sollten alle Daten in einer Datei herunterladen. Csv, aber nicht verstehen, warum ich dies tun.

Wenn die Schleife für den ersten Wert von i läuft, wird sie Daten schreiben und dann die Datei schließen, für den nächsten Wert von i in der Schleife wird die Datei geschlossen ... was denken Sie, wird passieren?
 
Vielen Dank, ich habe die Lösung gefunden
Grund der Beschwerde: