- Tipos Inteiros
- Tipos Reais (double, float)
- Números complexos (complex)
- Tipo string
- Estruturas, Classes e Interfaces
- Objeto Array Dinâmico
- Matrizes e vetores
- Conversão de Tipo (Typecasting)
- Tipo void e constante NULL
- Tipos personalizados
- Ponteiros de Objeto
- Referência, Modificador & e Palavra-chave this
Números complexos (complex)
O tipo complex embutido é uma estrutura com dois campos double:
struct complex
|
O tipo "complex" pode ser passado por valor como um parâmetro para funções MQL5 (ao contrário de estruturas comuns, que são passadas apenas por referência). Para funções importadas a partir de DLLs, o tipo "complex" deve ser passado apenas por referência.
O sufixo 'i' é usado para descrever constantes complexas:
complex square(complex c)
|
Para números complexos, atualmente estão disponíveis apenas operações simples: =, +, -, *, /, +=, -=, *=, /=, ==, !=.
No futuro, funções matemáticas adicionais serão adicionadas: obtenção do valor absoluto, seno, cosseno e muitos outros.
vectorc
Array unidimensional de números do tipo complex, é projetado para trabalhar com números complexos. Nas funções de modelo é possível usar a notação vector<complex>. No momento, as operações sobre vetores do tipo vectorc ainda não foram implementadas.
matrix
Uma matriz é um array bidimensional de números do tipo double. A memória para os elementos da matriz é alocada de forma dinâmica. As propriedades da matriz podem ser obtidas por métodos, e o tamanho do vetor pode ser alterado. Nas funções de modelo é possível usar a notação matrix<double>.
matrixf
Array de números bidimensional do tipo float, pode ser usado no lugar de matrix, se a perda de precisão não for importante. Nas funções de modelo, é possível usar a notação matrix<float>.
matrixc
Array de números bidimensional do tipo complex, é projetado para trabalhar com números complexos. Nas funções de modelo é possível usar a notação matrix<complex>. No momento, as operações sobre matrizes do tipo matrixc ainda não foram implementadas.