....
Vc está usando variaveis do tipo inteira para o calculo e o compilador está truncando o valor, use float ou double que deve funcionar
Vc está usando variaveis do tipo inteira para o calculo e o compilador está truncando o valor, use float ou double que deve funcionar
Bom dia!
Testei double, não deu resultado diferente, continua zero!
testei float, informa possível perda de dados, mas o resultado também não muda, continua zero!
Bom dia!
Testei double, não deu resultado diferente, continua zero!
testei float, informa possível perda de dados, mas o resultado também não muda, continua zero!
double e float darao diferente de zero. Fator_mycandles ser do tipo mencionado nao alterara o resultado para nao zero, ja que todas as variaveis no calculo sao inteiras, o compilador entende que deve ser um resultado inteiro. Logo, zero.
Mas, o que me traz aqui é que, na lógica que alcanço, mesmo sendo todas as variáveis inteiras, matematicamente não devia dar zero...
Fiz é refiz essa cálculo na calculadora e no excel centenas de vezes e arrumei e rearrumei o código em questão, o resultado não muda, na calculadora dá resultado diferente de zero, no excel da resultado diferente de zero, mas na função, só dá zero.
Mas, o que me traz aqui é que, na lógica que alcanço, mesmo sendo todas as variáveis inteiras, matematicamente não devia dar zero...
Fiz é refiz essa cálculo na calculadora e no excel centenas de vezes e arrumei e rearrumei o código em questão, o resultado não muda, na calculadora dá resultado diferente de zero, no excel da resultado diferente de zero, mas na função, só dá zero.
Zigzag_candles = NormalizeDouble( (double) candles_alta / (double) candles_baixa, 3);
fator_my_candles = (double) candles_alta / (double) (candles_alta + candles_baixa);
Obrigado, amigo Rogério, está funcionando!
É por isso que quebro bastante a cabeça antes de vir aqui, pois na maioria das vezes a solução está diante de nossos olhos...felizmente podemos contar com ajuda de pessoas mais experientes e resolver problemas que para mim já não tinha mais solução.
Mais uma vez, muito obrigado!
Obrigado, amigo Rogério, está funcionando!
É por isso que quebro bastante a cabeça antes de vir aqui, pois na maioria das vezes a solução está diante de nossos olhos...felizmente podemos contar com ajuda de pessoas mais experientes e resolver problemas que para mim já não tinha mais solução.
Mais uma vez, muito obrigado!
Só acho estranho você dizer que a indicação do @Jonathan Pereira abaixo não funcionou,
double candles_alta; //Qt de candles de alta do período pesquisado double candles_baixa; //Qt de candles de baixa do período pesquisado
Só acho estranho você dizer que a indicação do @Jonathan Pereira abaixo não funcionou,
Do jeito que entendi não funcionou...
Do jeito que ele falou eu fui lá e mudei as declarações das variáveis envolvidas para double, testei e depois mudei para float e testei, deu na mesma...mas como eu disse, talvez eu tenha entendido errado ou não alcancei a amplitude do que ele quis dizer.
Se vocês dois falaram a mesma coisa, acho que você foi mais didático, por isso consegui resolver.
Mas agradeço a todos por todas as contribuições.
Uso muito esse fórum para aprender, mas postar mesmo só quando eu realmente não consigo resolver., tanto é que esse tempo todo só criei dois tópicos...isso porque tem alguns contribuintes do fórum que já chegam dando patadas na gente, pessoas grosseiras, mas nenhum desses a grosseiros a quem me refiro contribuíram aqui nesse tópico, graças a Deus.
Sempre nas minhas andanças por esse fórum observo e aprendo muito com suas contribuições, bem como, com as do @Jonathan Pereira, e outros que também ajudam muito.
Comecei a estudar MQL5 há quase um ano, sozinho, em casa...ainda não fiz nenhum curso, mas pretendo fazer e mergulhar na programação, essa área me encanta muito.
Mas uma vez obrigado a todos pelas contribuições.
![Jonathan Pereira Jonathan Pereira](https://c.mql5.com/36/50/jonathan-pereira.jpg)
...
De uma forma geral, linguagem compiladas como Java, C++, MQL, se declararmos vaiáveis do tipo inteira e usar isso para cálculos que envolvem casas decimais vc acaba caindo num "problema", eu digo problema pois em linguagens interpretadas como python e javascript isso não acontece.
Enfim o que quero dizer é que o compilador sempre usará a parte inteira para armazenar o resultado.
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Bom dia, amigos!
Eu raramente venho aqui perturbar os colegas mais inteirados no assunto, sem antes gastar um pouco de massa cinzenta.
Ocorre que estou com dois dias tendo problemas com uma função que, hora funciona, hora não funciona e ainda apresenta uma curiosidade, explico:
A função a seguir visa mensurar e classificar os candles de forma a me fornecer parâmetros para tomada de decisões, porém, não funciona a parte onde preciso fazer uma simples expressão matemática:
segue a função, completa, com todas as suas variáveis e dependências:
A matemática é meio mirabolante mas dá de vocês entenderem e me ajudarem...agradeço qualquer ajuda.
Segue a tela de resultados da impressão: