Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 820

 

Estudar as matemáticas. Confusa entre dois pinheiros...

Há isto:

int OnCalculate (const int rates_total,      // размер массива price[] 
                 const int prev_calculated,  // обработано баров на предыдущем вызове 
                 const int begin,            // откуда начинаются значимые данные 
                 const double& price[]       // массив для расчета 

Perguntas sobre o início:

1. O que é isso? O seu valor = 0. É um índice?

2. O que é essencialmente? O que são dados significativos? Que outros tipos de dados existem?

3) Em que base é calculado este valor? E que variações são possíveis em princípio? Por exemplo, podem os dados significativos não começar no índice 0 mas sim no índice 5?

4. Porque é que este parâmetro está inserido no OnCalculate?

Se falhei onde está escrito na ajuda, por favor aponte-o.

 

Alguém pode aconselhar como se livrar destes valores de vários dígitos na janela de depuração (as variáveis são normalizadas)?


 
Андрей:

Qualquer pessoa pode aconselhar como se livrar destes valores multi-dígitos na janela de depuração (as variáveis são normalizadas)?


Adicione uma variável destring, defina-a para DoubleToString() e observe-a na janela de depuração.

Poderia colocar tudo numa macro #ifdef _DEBUG

 
Alexey Viktorov:

Adicione uma variável destring, defina-a para DoubleToString() e observe-a na janela de depuração.

Poderia colocar tudo numa macro #ifdef _DEBUG

Obrigado, mas surge a questão - estes valores de vários dígitos, correspondem à realidade ou assim, "jogo da luz".

A questão não é que deva ter bom aspecto, mas que valores são utilizados para cálculos posteriores.

 
Андрей:

Obrigado, mas levanta-se a questão - se estes valores multi-valorizados são verdadeiros, ou se são apenas "jogo ligeiro".

Não se trata de o fazer parecer agradável, mas de quais os valores que são utilizados para cálculos posteriores.

Estes valores multi-dígitos correspondem à realidade. E por vezes estragam o quadro, especialmente em expressões de comparação.
Para ter a certeza, recomenda-se a utilização de NormalizeDouble() com uma dada precisão.
 
E ninguém se preocupou sequer em dizer nada sobre o beguine. Deve ser algo completamente estranho...
 
User_mt5:
Estes são os multi-sentidos. E por vezes estragam o quadro, especialmente em expressões comparativas.
Para ter a certeza, recomenda-se a utilização de NormalizeDouble() com precisão especificada.
Assim, estes "creepers" emergem de valores normalizados. Parece faltar algo nesta sopa (MT5).
 
Андрей:
Portanto, são estes "insectos" que saem dos valores normalizados. Parece faltar algo nesta sopa (MT5).

Até agora, acreditava ingenuamente que a normalização é a verdade em último recurso.
Poderia mostrar-me um fragmento de código onde o problema ocorre? Talvez a causa seja outra coisa.

 
User_mt5:

Até agora, eu acreditava ingenuamente que a normalização era a verdade em último recurso.
Poderia mostrar-me um fragmento de código onde ocorre o problema? Talvez a causa seja outra coisa.

Aqui está, no entanto, um pequeno trecho, que é suficiente para ver o "efeito".

Aqui está o resultado:

É o mesmo com ou sem normalização.

 

Андрей:

É o mesmo com ou sem normalização.

Sim.

Na verdade, em comparação com expressões (como se "on the fly"), a normalização funciona.
Tanto quanto sei, os problemas surgem no processo de cálculo simples.
Mas se um número for normalizado, o número normalizado também deve ser armazenado.

Mas, infelizmente.

O que terão os criadores a dizer sobre o assunto?

Razão: