Errores, fallos, preguntas - página 625

 

archivo_de_prueba

cadena

Nombre del archivo para el probador, especificando la extensión, entre comillas dobles (como una cadena constante). El archivo especificado se pasará al probador para su funcionamiento. Los archivos de entrada para las pruebas, si son necesarios, deben especificarse siempre

Esto es de la ayuda. El parámetro"archivo_probador" identifica de forma exclusiva el nombre del archivo.

De ahí la pregunta: ¿cómo se puede probar un EA, si hay que abrir varios archivos por lectura?

 

¡Hola!

Esta construcción (por ejemplo) :

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

Operador1

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

OperadorN


En este caso, se ejecutará siempre el Operador1......OperadorN

Como no hay paréntesis de apertura después de if (Condición) { }

Al comprobar los errores de sintaxis, por favor, haz que el compilador genere una advertencia sobre este tema.

A veces las construcciones son enormes y de varios niveles y es muy difícil encontrar un error en esos casos.

 

Si no hay { }, se ejecutará siempre el Operador2... OperadorN

y Operador1 sólo cuando se cumple la condición.

Se trata de una construcción normal y una advertencia sería inapropiada en este caso.

 

Fia:

Porque las construcciones pueden ser enormes y de varios niveles y entonces es muy difícil buscar un error.

¿Qué (o quién) le impide poner el { } que falta?

 
Fia:

...

Porque las construcciones pueden ser enormes y de varios niveles y entonces es muy difícil buscar un error.

Estructure su código. Entonces el código no será "enorme y de varios niveles".
 

¡Hola!

Por favor, ayuda, estoy atascado...

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

Hay este código - leer de archivo CSV (en el remolque). Después de la ejecución de FileReadString, no es el nombre del símbolo (como en el archivo), sino un conjunto largo de nada. Y aquí está el final del archivo. El separador es el tabulador, por lo que no debe especificarse explícitamente en FileOpen, tabla de códigos por defecto, número de caracteres - antes del separador (CSV). ¿Dónde he metido la pata - el código es un poco?

Archivos adjuntos:
file.zip  1 kb
 
muallch:

¡Hola!

Por favor, ayuda, estoy atascado...

Hay este código - leer de archivo CSV (en el remolque). Después de la ejecución de FileReadString, no es el nombre del símbolo (como en el archivo), sino un conjunto largo de nada. Y aquí está el final del archivo. El separador es el tabulador, por lo que no debe especificarse explícitamente en FileOpen, el conjunto de caracteres por defecto, el número de caracteres - antes del separador (CSV). ¿Dónde he metido la pata - el código es un poco?

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

¿Todo por culpa de FILE_ANSI?

No me había fijado en el elefante, ¡gracias!

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

archivo_de_prueba

cadena

Nombre del archivo para el probador, especificando la extensión, entre comillas dobles (como una cadena constante). El archivo especificado se pasará al probador para su funcionamiento. Los archivos de entrada para las pruebas, si son necesarios, deben especificarse siempre

Esto es de la ayuda. El parámetro"archivo_probador" identifica de forma exclusiva el nombre del archivo.

De ahí la pregunta: ¿cómo podemos probar un Asesor Experto si hay que abrir varios archivos para su lectura?

¿O tal vez usted pueda sugerir esto también?
 
muallch:
¿Puede sugerir esto también?
Establecer algún #archivo_de_prueba en el programa