Erreurs, bugs, questions - page 625

 

fichier_testant

chaîne de caractères

Nom de fichier pour le testeur, en précisant l'extension, entre guillemets (comme une chaîne constante). Le fichier spécifié sera transmis au testeur pour être exploité. Les fichiers d'entrée pour les tests, s'ils sont nécessaires, doivent toujours être spécifiés.

Cela vient de l'aide. Le paramètre"tester_file" identifie de manière unique le nom du fichier.

D'où la question : comment tester un EA, si plusieurs fichiers doivent être ouverts par lecture ?

 

Bonjour !

Cette construction (par exemple) :

si (Buf[i]>=0 && MACD_i<=0)

Opérateur1

.............

OpérateurN


Dans ce cas, l'opérateur 1......OpérateurN sera toujours exécuté.

Comme il n'y a pas de parenthèses ouvrantes après if (Condition) { }

Lors de la vérification des erreurs de syntaxe, veuillez faire en sorte que le compilateur génère un avertissement sur ce point.

Parfois, les constructions sont énormes et à plusieurs niveaux et il est très difficile de trouver une erreur dans de tels cas.

 

S'il n'y a pas de { }, alors l'opérateur 2 sera toujours exécuté... OpérateurN

et l'opérateur 1 uniquement lorsque la condition est remplie.

Il s'agit d'une construction normale et un avertissement serait inapproprié ici.

 

Fia:

Parce que les constructions peuvent être énormes et à plusieurs niveaux et qu'il est alors très difficile de rechercher une erreur.

Qu'est-ce qui (ou qui) vous empêche de mettre le { } manquant ?

 
Fia:

...

Parce que les constructions peuvent être énormes et à plusieurs niveaux et qu'il est alors très difficile de rechercher une erreur.

Structurez votre code. Alors le code ne sera pas "énorme et à plusieurs niveaux".
 

Bonjour !

S'il vous plaît, aidez-moi, je suis coincé...

   handle=FileOpen(nam,FILE_CSV|FILE_READ);
   if(handle>0)
      {
      while(! FileIsEnding(handle))
         {
         sss=FileReadString(handle);
         Print(sss);
         for(x=2; x<=6; x++)
            {
            X=FileReadNumber(handle);
            Print(X);
            }
         }
      FileClose(handle);
      }

Il y a ce code - lu à partir d'un fichier CSV (dans le trailer). Après l'exécution de FileReadString, ce n'est pas le nom du symbole (comme dans le fichier), mais un long ensemble de rien. Et voilà la fin du dossier. Le séparateur est une tabulation, donc il ne doit pas être spécifié explicitement dans FileOpen, table de code par défaut, nombre de caractères - avant le séparateur (CSV). Où me suis-je trompé - le code est un peu ?

Dossiers :
file.zip  1 kb
 
muallch:

Bonjour !

S'il vous plaît, aidez-moi, je suis coincé...

Il y a ce code - lu à partir d'un fichier CSV (dans le trailer). Après l'exécution de FileReadString, ce n'est pas le nom du symbole (comme dans le fichier), mais un long ensemble de rien. Et voilà la fin du dossier. Le séparateur est une tabulation, donc il ne doit pas être spécifié explicitement dans FileOpen, table de code par défaut, nombre de caractères - avant le séparateur (CSV). Où me suis-je trompé - le code est un peu ?

void OnStart()
  {
   string nam="file.csv";
   int handle=FileOpen(nam,FILE_CSV|FILE_READ|FILE_ANSI);

   if(handle<0)
     {
      Print("Неудачная попытка открыть файл по абсолютному пути");
      Print("Код ошибки ",GetLastError());
     }

   if(handle>0)
      {
      while(! FileIsEnding(handle))
         {
         string sss=FileReadString(handle);
         Print(sss);
         for(int x=2; x<=6; x++)
            {
            double X=FileReadNumber(handle);
            Print(X);
            }
         }
      FileClose(handle);
      }
  }
 

Tout ça à cause de FILE_ANSI?

Je n'avais pas remarqué l'éléphant, merci !

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
 
muallch:

fichier_testant

chaîne de caractères

Nom de fichier pour le testeur, en précisant l'extension, entre guillemets (comme une chaîne constante). Le fichier spécifié sera transmis au testeur pour être exploité. Les fichiers d'entrée pour les tests, s'ils sont nécessaires, doivent toujours être spécifiés.

Cela vient de l'aide. Le paramètre"tester_file" identifie de façon unique le nom du fichier.

D'où la question : comment tester un EA si plusieurs fichiers doivent être ouverts pour être lus ?

Ou peut-être pouvez-vous suggérer cela aussi ?
 
muallch:
Pouvez-vous suggérer cela aussi ?
Définir certains #fichier_testers dans le programme
Raison: