Erros, bugs, perguntas - página 625

 

tester_file

corda

Nome do ficheiro para o testador, especificando a extensão, entre aspas duplas (como uma cadeia constante). O ficheiro especificado será passado ao testador para operação. Os ficheiros de entrada para testes, se necessário, devem ser sempre especificados

Isto é da ajuda. O parâmetro"tester_file" identifica de forma única o nome do ficheiro.

Daí a questão: como pode um EA ser testado, se vários ficheiros têm de ser abertos por leitura?

 

Olá!

Esta construção (por exemplo) :

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

Operador1

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

OperadorN


Neste caso, Operator1......OperatorN será sempre executado

Uma vez que não há parênteses de abertura depois de se (Condição) { }

Ao verificar os erros de sintaxe, faça com que o compilador gere um aviso sobre esta questão.

Por vezes as construções são enormes e com vários andares e é muito difícil encontrar um erro em tais casos.

 

Se não houver { }, então o Operador2 será sempre executado... OperadorN

e Operador1 apenas quando a condição é cumprida.

Esta é uma construção normal e um aviso seria inapropriado aqui.

 

Fia:

Porque as construções podem ser enormes e multiníveis e é então muito difícil procurar um erro.

O que (ou quem) o impede de colocar o que falta { }?

 
Fia:

...

Porque as construções podem ser enormes e multiníveis e é então muito difícil procurar um erro.

Estruture o seu código. Então o código não será "enorme e multinível".
 

Olá!

Plz ajuda, estou presa...

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

Existe este código - lido a partir do ficheiro CSV (no trailer). Depois de FileReadString executar, não é nome de símbolo (como em ficheiro), mas um longo conjunto de nada. E aqui é o fim do ficheiro. Separador é separador, pelo que não deve ser explicitamente especificado no FileOpen, tabela de códigos por defeito, número de caracteres - antes do separador (CSV). Onde é que eu fiz asneira - o código é um pouco?

Arquivos anexados:
file.zip  1 kb
 
muallch:

Olá!

Plz ajuda, estou presa...

Existe este código - lido a partir do ficheiro CSV (no trailer). Depois de FileReadString executar, não é nome de símbolo (como em ficheiro), mas um longo conjunto de nada. E aqui é o fim do ficheiro. Separador é separador, pelo que não deve ser explicitamente especificado em FileOpen, charset padrão, número de caracteres - antes do separador (CSV). Onde é que eu fiz asneira - o código é um pouco?

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

Tudo por causa de FILE_ANSI?

Não reparei no elefante, obrigado!

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

tester_file

corda

Nome do ficheiro para o testador, especificando a extensão, entre aspas duplas (como uma cadeia constante). O ficheiro especificado será passado ao testador para operação. Os ficheiros de entrada para testes, se necessário, devem ser sempre especificados

Isto é da ajuda. O parâmetro"tester_file" identifica de forma única o nome do ficheiro.

Daí a questão: como podemos testar uma EA se vários ficheiros devem ser abertos para leitura?

Ou talvez também possa sugerir isto?
 
muallch:
Pode sugerir isto também?
Definir alguns #tester_file no programa
Razão: