Errori, bug, domande - pagina 625

 

file tester

stringa

Nome del file per il tester, specificando l'estensione, racchiuso tra doppi apici (come una stringa costante). Il file specificato sarà passato al tester per il funzionamento. I file di input per i test, se necessario, dovrebbero sempre essere specificati

Questo viene dall'aiuto. Il parametro"tester_file" identifica in modo univoco il nome del file.

Da qui la domanda: come può essere testato un EA, se diversi file devono essere aperti in lettura?

 

Ciao!

Questo costrutto (per esempio) :

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

Operatore1

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

OperatoreN


In questo caso, Operator1......OperatorN sarà sempre eseguito

Poiché non ci sono parentesi di apertura dopo if (Condition) { }

Quando si controllano gli errori di sintassi, si prega di fare in modo che il compilatore generi un avvertimento su questo problema.

A volte le costruzioni sono enormi e a più livelli ed è molto difficile trovare un errore in questi casi.

 

Se non c'è { }, allora l'Operatore2 sarà sempre eseguito... OperatoreN

e Operator1 solo quando la condizione è soddisfatta.

Questa è una costruzione normale e un avvertimento sarebbe inappropriato in questo caso.

 

Fia:

Perché le costruzioni possono essere enormi e a più livelli ed è molto difficile cercare un errore allora.

Cosa (o chi) ti impedisce di mettere il { } mancante?

 
Fia:

...

Perché le costruzioni possono essere enormi e a più livelli ed è molto difficile cercare un errore allora.

Strutturate il vostro codice. Allora il codice non sarà "enorme e multilivello".
 

Ciao!

Per favore aiutatemi, sono bloccato...

   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);
      }

C'è questo codice - letto dal file CSV (nel trailer). Dopo l'esecuzione di FileReadString, non è il nome del simbolo (come nel file), ma un lungo insieme di niente. Ed ecco la fine del file. Il separatore è tab, quindi non dovrebbe essere specificato esplicitamente in FileOpen, charset predefinito, numero di caratteri - prima del separatore (CSV). Dove ho sbagliato - il codice è un po'?

File:
file.zip  1 kb
 
muallch:

Ciao!

Per favore aiutatemi, sono bloccato...

C'è questo codice - letto dal file CSV (nel trailer). Dopo l'esecuzione di FileReadString, non è il nome del simbolo (come nel file), ma un lungo insieme di niente. Ed ecco la fine del file. Il separatore è tab, quindi non dovrebbe essere specificato esplicitamente in FileOpen, charset predefinito, numero di caratteri - prima del separatore (CSV). Dove ho sbagliato - il codice è un po'?

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);
      }
  }
 

Tutto a causa di FILE_ANSI?

Non avevo notato l'elefante, grazie!

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

file tester

stringa

Nome del file per il tester, specificando l'estensione, racchiuso tra doppi apici (come una stringa costante). Il file specificato sarà passato al tester per il funzionamento. I file di input per i test, se necessario, dovrebbero sempre essere specificati

Questo viene dall'aiuto. Il parametro"tester_file" identifica in modo univoco il nome del file.

Da qui la domanda: come possiamo testare un EA se diversi file devono essere aperti per la lettura?

O forse puoi suggerire anche questo?
 
muallch:
Può suggerire anche questo?
Impostare alcuni #tester_file nel programma