CODE PROBLÈME

 
Je veux télécharger l'historique OHLC, les fractales et l'indicateur zigzag, en utilisant ce script, mais quand j'ai ouvert le csv, je n'ai aucune information.
Quelqu'un peut-il me dire quelle est l'erreur ?
//+------------------------------------------------------------------+
//|                                                                  |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
//#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); 
}
 
J'ai également créé l'expert suivant, mais il ne me montre pas les données comme le script précédent.
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| 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:
Je veux télécharger l'historique OHLC, les fractales et l'indicateur zigzag, en utilisant ce script, mais quand j'ai ouvert le csv, je n'ai aucune information.
Quelqu'un peut-il me dire quelle est l'erreur ?

S'il vous plaît utiliser le Forum de recherche . . .

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

. . . et la documentation

 

J'ai combiné de cette façon, et cela me donne une erreur. Je ne comprends pas pourquoi je reçois le fichier sans aucune donnée.

//#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 ou FILE_READ|FILE_WRITE

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

3) Connaissez-vous EMPTY_VALUE (ZZ et Fractals peuvent l'avoir) ? ??? (Les valeurs vides ne sont pas dessinées ou affichées dans la DataWindow. Par défaut, la valeur vide est EMPTY_VALUE)

4) A la fermeture du fichier, les données sont automatiquement effacées sur le disque, il n'est donc pas nécessaire d'appeler la fonction FileFlush() avant d'appeler la fonction FileClose().

 

J'ai fait ces changements, et le fichier ne m'apporte qu'un seul fait :

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

Je ne trouve rien d'autre

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

J'ai fait ces changements, et le fichier ne m'apporte qu'un seul fait :

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

Je ne trouve rien d'autre

Si vous ouvrez un fichier, que vous y écrivez, que vous le fermez, puis que vous l'ouvrez à nouveau pour y écrire d'autres données, où seront écrites les nouvelles données ? à quel endroit dans le fichier ?
 

Quelques heures avant que vous n'ouvriez ce sujet

un autre sujet s'est ouvert avec également votre sujet

ne l'avez-vous pas lu ? Enregistrement des données graphiques dans un fichier

 
RaptorUK:
Si vous ouvrez un fichier, que vous y écrivez, que vous le fermez, puis que vous l'ouvrez à nouveau pour y écrire d'autres données, où seront écrites les nouvelles données ? à quel endroit du fichier ?


Dans le code, je pense que j'utilise les bonnes étapes. Je pense que vous devriez télécharger toutes les données dans un fichier . Csv, mais je ne comprends pas pourquoi je fais cela.
 

J'ai essayé de créer un expert, avec un code plus ou moins similaire, et j'écris un fichier avec par exemple des données mensuelles

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

Mais plus de données de téléchargement à partir de 1970.

Le code que nous avons utilisé était le suivant :

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

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

Dans le code, je pense que j'utilise les bonnes étapes. Je pense que vous devez télécharger toutes les données dans un fichier . Csv, mais je ne comprends pas pourquoi je fais cela.
Vous n'avez pas répondu à ma question simple, où dans le fichier voulez-vous placer les nouvelles données ? Si vous y réfléchissez pendant quelques minutes, cela vous aidera . . .