MQL4 suporta sete tipos de dados no âmbito do programa. Cada tipo está associado a diferentes tarefas de negociação que os programadores precisam realizar. O objetivo deste artigo é fazer uma breve referência para quando usar cada tipo de dados.
O tipo de dados duplo é, provavelmente, o tipo mais comum encontrado em programas MQL. Isso é porque ele é o tipo responsável por calcular números de ponto flutuante. Digamos, por exemplo, que um consultor especialista precisa para determinar quando para ajustar um trailing stop. O conselheiro perito olha para o preço atual e subtrai do stop loss atual para manter a distância apropriada (1.3230-1.3209= 0,0021). A distância requer um ponto decimal. Quando o consultor especialista salva a distância para a memória, ele precisa salvar as informações após o ponto decimal. Isso força o programador escolher uma variável do tipo double.
Inteiros, ou int, é a versão mais simples da dupla. Double valores exigem uma casa decimal para manter o valor do número de precisão. Um número inteiro, ou o número inteiro, não tem uma casa decimal. Os inteiros são adequadamente utilizado quando o programador MQL sabe ao certo facto de o número nunca conterá um número decimal. Um exemplo seria se você queria implementar um max comércios apresentam. Se o número de negócios abertos na conta excede um determinado número, em seguida, evitar trades. Sabemos de antemão que não existe essa coisa de 4.76 comércios sendo aberto. Só pode haver 4 trades aberto ou 5 comércios abertos. Isto indica claramente a necessidade de usar um número inteiro.
Valores de data e hora são apenas o que soam como. Eles representam tanto a data e hora. Mais especificamente, uma variável datetime representa o número de segundos que se passaram desde janeiro 1, 1970. Este é onde fica um pouco complicado. O número de segundos que se passaram na verdade é um número inteiro. Datetimes valores loja inteiros, mas, em seguida, associá-los com uma data e hora.
Um valor de 0 indicaria que o tempo é 00:00 em janeiro 1, 1970. Um valor de 60 se por um minuto mais tarde, 00:01 1/1/1970, e assim por diante. Uma vantagem de saber que a informação das lojas tipo DateTime como inteiros é que você pode facilmente determinar a quantidade de tempo que acontece entre um evento. Se o evento começa às 15:35 e termina às 18:12, você pode simplesmente subtrair 18:12 – 15:35 e acabar com o número de segundos entre esses valores. Esta informação pode então ser utilizada para determinar o número de minutos / horas / dias entre os dois eventos.
O tipo de dados de cor, sem surpresas, mantém a informação de cor, como preto, amarelo, vermelho e assim por diante. Muito parecido com os tipos de data e hora, cor também usa inteiros para armazenar as informações. A diferença, embora, é que a extracção da informação de cor desde o número inteiro não é de modo algum óbvio. O aumento da cor de um tipo 32768 por um não necessariamente torná-lo mais ou menos verde. Cores usar as informações inteiro para recuperar o vermelho, componentes verde e azul da cor em formato hexadecimal. Explicando hexadecimais está muito além do escopo deste artigo. É pouco provável que venha em sua programação MQL. Eu venho fazendo isso há mais de cinco anos e só veio através de um projeto que necessário manipular a cor de forma mais complicada do que alterna entre duas cores set.
Uma string é qualquer coisa que se assemelhe a uma palavra ou frase. Ele sempre usa citações para conter as informações. Meu uso favorito de cordas é reunir informações para exibir no gráfico ou em uma arquivo de log sempre que eu preciso depurar um consultor especialista.
Char é o tipo de dados final. É tão intimamente relacionado com uma cadeia que eu nem estava ciente deste tipo existia até eu olhei para cima de informações para este artigo. Se estudarmos a palavra “comércio”, então vamos descobrir que ele é composto de cinco personagens t, r, um, d e e.
Uma nota final sobre os tipos de dados. Há duas maneiras que tipos são mantidos na memória. Uma variável externa é aquela que aparece no ecrã de entradas sempre que um consultor especialista ou cargas indicadoras. Variáveis estáticas são o oposto. Eles permanecem dentro do programa MQL e fora nunca visível dela.