Discussão do artigo "Trabalhando Com Doubles no MQL4"

 

Novo artigo Trabalhando Com Doubles no MQL4 foi publicado:

A programação MQL abre novas oportunidades para a negociação automática, muitas pessoas em todo o mundo já estão aproveitando isto.

Quando estamos escrevendo um Expert Advisor para negociação, devemos ter certeza de que ele vai trabalhar corretamente.

Muitos novatos às vezes têm algumas perguntas quando ocorrem resultados de alguns cálculos matemáticos diferentes do esperado. O programa é compilado e pode funcionar, mas não como deveria. Então eles verificam o código de novo e de novo, encontrando novos "erros" na linguagem, na implementação, em funções, etc.

Na maioria dos casos, uma análise cuidadosa mostra que a linguagem mql4 e o compilador estão trabalhando corretamente, porém o código é que tem um pequeno erro e isto pode levar um longo tempo para encontrar o problema e corrigir.

Neste artigo vamos considerar erros típicos de programação que ocorrem durante o trabalho com números tipo double nos programas MQL4.

Autor: MetaQuotes Software Corp.

 

Estou precisando saber a diferença em pontos entre resistência e suporte, mas preciso que retorne um numero inteiro.

 double resistencia = 111.459;

 double suporte = 110.116;
 int diferença = resistencia - suporte;

diferença = 1,134


Preciso que me retorne 1134 pontos.

Como posso resolver isso?

Obrigado

 

double resistencia = 111.459;

 double suporte = 110.116;
 int diferenca = NormalizeDouble( resistencia - suporte ,_Digits) * _Point;

Multiplicando pelos pontos, a gente descobre quantos pontos tem


Primeiro temos que normalizar o double como o artigo ensinou com a fução

NormalizeDouble()


Depois é só mutiplicar  a diferença de preços pelo tamanho de cada ponto

* _Point;