verifique, é mais fácil de verificar do que adivinhar.
Renat acima escreveu que o otimizador funciona "como um relógio" e que a razão está no código - ele recomendou várias vezes que se fizesse um desabafo - presumo que ninguém o tenha feito.
você mesmo já verificou? algum exemplo claro de quando uma única execução funcionará de forma diferente do que como parte da otimização?
por exemplo, lembro que a remoção de uma alça no testador não funcionou antes, causou transbordamento de memória e falha de terminal junto com o sistema. talvez este problema já tenha sido resolvido, mas ainda existem algumas armadilhas com a criação e remoção de alças indicadoras e existem diferenças em otimizadores e execuções de indicadores únicos. como sei, os desenvolvedores trabalharam muito duro para acelerar e minimizar o consumo de memória sempre que possível.
As variáveis são apenas isso, variáveis, elas podem ser alteradas.
Corrija-me se eu estiver errado.
Se uma variável é declarada, a memória é reservada para ela.
Se não for inicializada, qualquer coisa pode ser armazenada nela.
Qual é a diferença entre inicializá-lo por zero imediatamente ou atribuir o resultado dos cálculos em um determinado lugar?
Se você tentar usar uma variável não-inicializada, o compilador gerará um aviso.
Um exemplo simples:
Embora.... O compilador não gera o aviso por alguma razão se você colocar a declaração no escopo global (((
Eu estava esperando algo diferente.
A quinta página estava acontecendo, mas ainda não havia um código mql5... Também permanece um mistério envolto na escuridão em relação aos testes: símbolo(s), cronograma(s), configurações de teste.
Como os dados sobre esses acordos"extras" podem ajudar a entender de que teto eles vieram? Talvez devêssemos escrever também os preços dos bares anteriores, ou o que mais?
A quinta página estava em andamento, mas o código mql5 ainda não estava lá... Também permanece um mistério envolto na escuridão em relação aos testes: símbolo(s), cronograma(s), configurações de teste.
As variáveis são apenas isso, variáveis, elas podem ser alteradas.
Corrija-me se eu estiver errado.
Se uma variável é declarada, a memória é reservada para ela.
Se não for inicializada, qualquer coisa pode ser armazenada nela.
Qual é a diferença entre inicializá-lo por zero imediatamente ou atribuir o resultado dos cálculos em um determinado lugar?
Se você tentar usar uma variável não-inicializada, o compilador gerará um aviso.
Um exemplo simples:
Embora.... O compilador não gera o aviso por alguma razão se você colocar a declaração no escopo global (((
Eu estava esperando algo diferente...
Se 'x' é do tipo duplo, os exemplos dados são fundamentalmente errados e o estado 'y' é indefinido em ambos os casos
isto é, é possível que em algum lugar nas profundezas das redes neurais se possa obter valores duplos especiais - em tipos, nanos tipos ou similares aos valores eps
Вещественные типы (или типы с плавающей точкой) представляют значения, имеющие дробную часть. В языке MQL5 есть два типа для чисел с плавающей точкой. Способ представления вещественных чисел в машинной памяти определен стандартом IEEE 754 и не зависит от платформ, операционных систем и языков программирования. Константы с плавающей точкой...
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
declarar uma variável globalmente e inicializá-la na declaração, por exemplo, int kk=0;
e depois em OnTick() unprint e mudar valor, por exemplo, Print("kk=",kk); ++kkk;
depois mudar TF -- e ver o resultado.
é claro que a variável global manterá seu valor mesmo se a TF for alterada - mas nada parecido acontece no testador.
é claro que a variável global manterá seu valor mesmo se a TF for alterada - mas nada parecido acontece no testador.
Agora você encontrou a resposta para a causa da diferença nos resultados.
Ao otimizar, os parâmetros são re-selecionados, ou seja, o Expert Advisor é reiniciado com diferentes configurações.
Agora você encontrou a resposta para a diferença nos resultados.
Você acha que a variável EA global retém seu valor das execuções anteriores do otimizador e é transportada para as próximas?
verifique, é mais fácil de verificar do que adivinhar.
Renat acima escreveu que o otimizador funciona "como um relógio" e que a razão está no código - ele recomendou várias vezes que se fizesse um desabafo - presumo que ninguém o tenha feito.
você mesmo já verificou? algum exemplo claro de quando uma única execução funcionará de forma diferente do que como parte da otimização?
por exemplo, lembro que a remoção de uma alça no testador não funcionou antes, causou transbordamento de memória e falha de terminal junto com o sistema. talvez este problema já tenha sido resolvido, mas ainda existem algumas armadilhas com a criação e remoção de alças indicadoras e existem diferenças em otimizadores e execuções de indicadores únicos. como sei, os desenvolvedores trabalharam muito duro para acelerar e minimizar o consumo de memória sempre que possível.
você mesmo já verificou? existem exemplos claros em que casos uma única execução funcionará de forma diferente do que como parte da otimização?
neste caso, não se trata de uma única corrida.
Verificar inicialização de variáveis declaradas globalmente.
Se a inicialização não estiver no OnInit(), mas na declaração e se seus valores forem alterados no código.
Um exemplo simples:
Embora.... O compilador não gera o aviso por alguma razão se você colocar a declaração no escopo global (((
Eu estava esperando algo diferente...
Um exemplo simples:
Embora.... O compilador não gera o aviso por alguma razão se você colocar a declaração no escopo global (((
Eu estava esperando algo diferente.
A quinta página estava acontecendo, mas ainda não havia um código mql5... Também permanece um mistério envolto na escuridão em relação aos testes: símbolo(s), cronograma(s), configurações de teste.
Bem, mais uma pergunta antes de começar a preparar.
Por exemplo, eu registrei os resultados:
otimizador - comprar; vender; vender; comprar; comprar; vender
testador - comprar; vender; vender; comprar;comprar; vender; comprar; comprar; vender
Como os dados sobre esses acordos"extras" podem ajudar a entender de que teto eles vieram? Talvez devêssemos escrever também os preços dos bares anteriores, ou o que mais?
A quinta página estava em andamento, mas o código mql5 ainda não estava lá... Também permanece um mistério envolto na escuridão em relação aos testes: símbolo(s), cronograma(s), configurações de teste.
Bem-vindo de volta das férias ))))
Você pode ver tudo aqui.
Um exemplo simples:
Embora.... O compilador não gera o aviso por alguma razão se você colocar a declaração no escopo global (((
Eu estava esperando algo diferente...
Se 'x' é do tipo duplo, os exemplos dados são fundamentalmente errados e o estado 'y' é indefinido em ambos os casos
isto é, é possível que em algum lugar nas profundezas das redes neurais se possa obter valores duplos especiais - em tipos, nanos tipos ou similares aos valores eps