PROBLEM-CODE

 
Ich möchte historische OHLC, Fraktale und Zigzag-Indikator, mit diesem Skript herunterladen, aber wenn ich die csv geöffnet, habe ich nicht alle Informationen.
Kann mir jemand sagen, der Fehler dort?
//+------------------------------------------------------------------+
//|                                                                  |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
//#property copyright ""
//#property link      ""

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

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

string file="export_"+Symbol()+"_"+Period()+".csv"; 
int f=FileOpen(file,FILE_CSV|FILE_WRITE,","); 
if(f<1) { Alert("File opening error"); return(0); }
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");  
FileFlush(f); 
FileClose(f); 
}
 
Ich habe auch den folgenden Experten erstellt, aber er zeigt mir nicht die Daten wie das vorherige Skript
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   start();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
 
 void export() 
{ 

string file="export_"+Symbol()+"_"+Period()+".csv"; 
int f=FileOpen(file,FILE_CSV|FILE_WRITE,","); 
if(f<1) { Alert("File opening error"); return(0); }
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");  
FileFlush(f); 
FileClose(f); 
}

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
export();

//----
//Alert(ArraySize(norepeats) + ArraySize(morerepeats));
   return(0);
 }
//+------------------------------------------------------------------+
 
burnssss:
Ich möchte historische OHLC, Fraktale und Zigzag-Indikator, mit diesem Skript herunterladen, aber wenn ich die csv geöffnet, habe ich nicht alle Informationen.
Kann mir jemand den Fehler dort sagen?

Bitte benutzen Sie die Forumssuche...

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

. . und die Dokumentation

 

Ich habe auf diese Weise kombiniert, und es gibt mir Fehler. Verstehen Sie nicht, warum ich die Datei ohne Daten erhalten

//#property copyright ""
//#property link      ""

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

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

string file="export_"+Symbol()+"_"+Period()+".csv"; 
int f=FileOpen(file,FILE_CSV|FILE_READ,","); 
if(f<1) { Alert("File opening error"); return(0); }
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");  
FileFlush(f); 
FileClose(f); 
}
 

1) >=

for(int i=Bars-1;i<=0;i--)

2) FILE_WRITE oder FILE_READ|FILE_WRITE

FileOpen(file,FILE_CSV|FILE_READ,","); 

3) Kennen Sie EMPTY_VALUE (ZZ und Fractals können es haben)? (Leere Werte werden nicht gezeichnet oder im DataWindow angezeigt. Standardmäßig ist der leere Wert EMPTY_VALUE)

4) Beim Schließen der Datei werden die Daten automatisch auf die Festplatte geschrieben, so dass es nicht notwendig ist, die Funktion FileFlush() vor dem Aufruf der Funktion FileClose() aufzurufen .

 

Ich habe diese Änderungen vorgenommen, und die Datei liefert mir nur eine Tatsache:

1970.01.01 00:00,,,,, 0,0,0,2147483647.

Ich kann mir nichts mehr vorstellen

//#property copyright ""
//#property link      ""

//+------------------------------------------------------------------+
//| 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<1) { Alert("File opening error"); return(0); }
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));
FileClose(f);
}


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

 
burnssss:

Ich habe diese Änderungen vorgenommen, und die Datei liefert mir nur eine Tatsache:

1970.01.01 00:00,,,,, 0,0,0,2147483647.

Ich kann mir nichts mehr vorstellen

Wenn Sie eine Datei öffnen, in sie schreiben, sie schließen und dann wieder öffnen, um weitere Daten zu schreiben, wohin werden die neuen Daten geschrieben? an welche Stelle in der Datei?
 

Ein paar Stunden bevor Sie dieses Thema eröffnet haben

wurde ein anderes Thema eröffnet, das auch Ihr Thema enthielt.

Haben Sie es nicht gelesen? Speichern von Diagrammdaten in einer Datei

 
RaptorUK:
Wenn Sie eine Datei öffnen, in sie schreiben, sie schließen und dann wieder öffnen, um weitere Daten zu schreiben, wohin werden die neuen Daten geschrieben? an welche Stelle in der Datei?


Ich denke, dass ich im Code die richtigen Schritte verwende. Ich denke, Sie sollten alle Daten in eine Datei herunterladen. Csv, aber ich verstehe nicht, warum ich das tue.
 

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

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,1.1614,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,2147483647

1970.01.01 00:00,,,,,1.4104,0,0,2147483647

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.1688,0,0

1970.01.01 00:00,,,,,1.2495,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.1192,0,0

1970.01.01 00:00,,,,,1.2315,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.1069,1.1069,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,1.2894,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,1.3161,0,0,1.3161

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.2351,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,1.4535,0,1.4535,1.4535

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.3,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,1.3353,1.2596,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.0344,1.0344,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,1.1537,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.0608,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,1.1216,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,1.079,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,0,0,0,0

1970.01.01 00:00,,,,,1.2401,0,1.2401,1.2401

Aber keine Daten mehr von 1970 herunterladen.

Der von uns verwendete Code lautete wie folgt:

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   start();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
 
 void export() 
{ 

string file="export_"+Symbol()+"_"+Period()+".csv"; 
int f=FileOpen(file,FILE_CSV|FILE_WRITE,","); 
if(f<1) { Alert("File opening error"); return(0); }
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); 
}

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
export();

//----
//Alert(ArraySize(norepeats) + ArraySize(morerepeats));
   return(0);
 }
//+------------------------------------------------------------------+
 
burnssss:

Ich denke, dass ich im Code die richtigen Schritte verwende. Ich denke, Sie sollten alle Daten in einer Datei herunterladen. Csv, aber ich verstehe nicht, warum ich das tue.
Sie haben meine einfache Frage nicht beantwortet, wo in der Datei wollen Sie die neuen Daten zu platzieren ? wenn Sie darüber nachdenken, für ein paar Minuten wird es Ihnen helfen . . .