Erros, bugs, perguntas - página 1575

 
Slawa:
Mostrar como se parece o separador com a tabela de resultados da optimização

Por exemplo, como este (Equilíbrio + Factor de Recuperação máximo) :


ou seja, uma nan é suficiente para matar a carta (está morta mesmo que não haja mais nanos).

// a propósito, da tabela podemos ver que neste caso a nan é obtida com saldo negativo (depósito inicial 1000000).

 
Renat Fatkhullin:

Verbatim, quando não se apoia as suas próprias palavras com as suas próprias provas.

Até deu uma fotografia de outra pessoa, embora pudesse ter anexado o seu próprio registo de compilação (não uma fotografia).

....

Se o compilador mostrar bugs em código, deve acreditar nisso.

E se não acreditar, pode colocar o registo de compilação no fórum para análise. Também aí há erros e tempo de compilação.

Ok, aqui está a construção 1159 onde compila em cerca de um segundo, construção 1241 onde compila em cerca de 20 segundos, e construção 1325 onde não compila (erros)

Arquivos anexados:
MQL_1159.txt  7 kb
MQL_1241.txt  7 kb
MQL_1325.txt  8 kb
 
Os 2600 avisos na velha construção não o confundem.

Mas 2000 avisos e bugs encontrados pelo novo compilador de repente tornam o compilador errado?

Recomendo-lhe que resolva esta confusão no seu código e que a limpe.

Realmente, é estranho fazer tal afirmação quando o compilador está a gritar sobre problemas no código. Aumentamos propositadamente os requisitos de qualidade do código e não queremos esconder problemas por defeito. Esta é a indústria financeira.
 
Renat Fatkhullin:
2600 avisos na velha construção não o confunde.

Mas 2000 avisos e bugs encontrados pelo novo compilador de repente tornam o compilador errado?

Recomendo-lhe que resolva esta confusão no seu código e que a limpe.

Realmente, é estranho fazer tal afirmação quando o compilador está a gritar sobre problemas no código. Aumentamos propositadamente os requisitos de qualidade do código e não queremos esconder problemas por defeito. Esta é a indústria financeira.

Os avisos são avisos, os bugs são erros. Todos sabem a diferença. Tudo compilado bem até à última compilação. E se introduzir algumas novas regras no compilador sem nos informar, a culpa é minha? Porque está a mudar o problema de mau para pior?

Há apenas avisos como "conversão implícita de 'número' para 'string'", "possível perda de dados devido a 'string'" e "mensagens de erro". O que têm eles a ver com os erros gerados pelo compilador mais recente?

declaração sem tipo
não pode aplicar o modelo de função
vírgula esperada
identificador não declarado
'*' - o ponteiro não pode ser utilizado
tipo de classe esperada
nenhuma das sobrecargas pode ser aplicada à chamada de função
ponteiro de objectos esperado
ponto-e-vírgula esperado

Portanto, é óbvio que algumas mudanças na sintaxe da linguagem apareceram aqui, mas estamos em silêncio. E está a moralizar aqui a "qualidade do código", etc., desviando a conversa da forma habitual.

 
Alexey Navoykov:

Os avisos são avisos, mas erros são erros, todos sabem a diferença. Tudo compilado bem até à última compilação. E se introduziu secretamente algumas novas regras no compilador sem nos informar, o meu código está em falta? Porque está a mudar o problema de mau para pior?

Há apenas avisos como "conversão implícita de 'número' para 'string'", "possível perda de dados devido a 'string'" e "mensagens de erro". O que têm eles a ver com esses erros que o compilador mais recente gera de qualquer maneira?

sem tipo
não pode aplicar o modelo de função
vírgula esperada
identificador não declarado
'*' - o ponteiro não pode ser utilizado
tipo de classe esperada
nenhuma das sobrecargas pode ser aplicada à chamada de função
ponteiro de objectos esperado
ponto-e-vírgula esperado

Portanto, é óbvio que algumas mudanças na sintaxe linguística apareceram aqui, mas estamos em silêncio. E está a dar-nos uma moral sobre a "qualidade do código" e assim por diante, desviando a conversa da forma habitual.

se tem 2600 avisos, pode garantir que todos os avisos que lá existem são inofensivos, já passou por todos os 2600

Quanto à cabeça, só uma cabeça doente pode aceitar tantos avisos e pensar que não há problema em obter o direito de o fazer.

 
Alexey Navoykov:

Os avisos são avisos, mas erros são erros, todos sabem a diferença. Tudo compilado bem até à última compilação. E se introduziu secretamente algumas novas regras no compilador sem nos informar, o meu código está em falta? Porque está a mudar o problema de mau para pior?

Há apenas avisos como "conversão implícita de 'número' para 'string'", "possível perda de dados devido a 'string'" e "mensagens de erro". O que têm eles a ver com os erros gerados pelo compilador mais recente?

declaração sem tipo
não pode aplicar o modelo de função
vírgula esperada
identificador não declarado
'*' - o ponteiro não pode ser utilizado
tipo de classe esperada
nenhuma das sobrecargas pode ser aplicada à chamada de função
ponteiro de objectos esperado
ponto-e-vírgula esperado

Portanto, é óbvio que algumas mudanças na sintaxe linguística apareceram aqui, mas estamos em silêncio. E está a dar-nos uma moral sobre "qualidade de código", etc., desviando a conversa da forma habitual.

Camarada, ainda vais deitar merda por todo o compilador, ou talvez me dês pelo menos 20 linhas da tua obra em MQL? Não sei que merda infernal tem no seu código. Ou, acha que todos os telepatas estarão aqui para o ouvir, fazer olhares tristes e concordar com todo este disparate?

ONDE É QUE O CÓDIGO ESPECÍFICO ESTÁ A CAUSAR ERROS?

 
Alexey Navoykov:

Os avisos são avisos, mas erros são erros, todos sabem a diferença. Até à última compilação, tudo compilado. E se introduziu secretamente algumas novas regras no compilador sem nos informar, a culpa é minha? Porque está a mudar o problema de mau para pior?

Não estou a interferir. Tenho 26 anos de programação non-stop sob o meu cinto.

As advertências são essencialmente erros se estivermos a falar do sector financeiro. E todos os milhares de relatórios sobre "perda de sinal, perda de precisão, perda sobre fantasmas, etc." são um veredicto sobre a qualidade do código. Aparentemente, não se compreende bem as implicações.

Forneça, de forma razoavelmente completa, o pedaço de código que o compilador apontou como um bug, por favor.

Sem isso, toda a discussão parece desagradável e injusta.

 

Encontrei um erro no livro de registo da EA:

comando desconhecido E0

O que significa isto?

 

Renat Fatkhullin:

Por favor introduza o mecanismo de namespaces na MQL5, sabe como é útil, porque não parece tão elegante colocar muletas sob a forma de macros para desactivar nomes idênticos nas declarações :)

 
Renat Fatkhullin:

...

As advertências são essencialmente erros se estivermos a falar do sector financeiro. E todos os milhares de relatos de "perda de sinal, perda de precisão, perda em fantasmas, etc." são um veredicto sobre a qualidade do código. Aparentemente, não se compreende bem as implicações.

...
Devo acrescentar que, começando com um certo nível de complexidade do projecto, os avisos têm consequências muito mais terríveis do que os erros comuns em tempo de compilação. O que é insidioso nos avisos é que o programa funciona com eles, mas em circunstâncias diferentes começam a fazer maravilhas que são muito difíceis de corrigir.