MQL4 soporta siete tipos de datos dentro del programa. Cada tipo se asocia con diferentes tareas comerciales que los programadores necesitan para llevar a cabo. El objetivo de este artículo es proporcionar una breve referencia de cuándo utilizar cada tipo de datos.
El tipo de datos doble es probablemente el tipo más común que se encuentra en los programas MQL. Esto es debido a que es el tipo responsable del cálculo de números de punto flotante. Digamos por ejemplo, que un asesor experto tiene que determinar cuándo ajustar un trailing stop. El asesor experto mira el precio actual y lo resta de la actual pérdida de la parada de mantener la distancia adecuada (1.3230-1.3209= 0,0021). La distancia requiere un punto decimal. Cuando el asesor de expertos salva la distancia a la memoria, que necesita para guardar la información después del punto decimal. Eso obliga al programador a elegir una variable de tipo double.
Enteros, o int, es la versión más simple de la doble. Valores Double requieren un decimal para contener el valor de la cantidad exacta. Un entero, o número entero, no tiene un lugar decimal. Los enteros se usan apropiadamente cuando el programador MQL sabe a ciencia cierta que el número nunca contendrá un decimal. Un ejemplo sería si quería implementar un máximo oficios cuentan. Si el número de operaciones abiertas en la cuenta supera un cierto número, a continuación, prevenir operaciones. Sabemos de antemano que no hay tal cosa a 4.76 oficios estar abierto. Sólo puede haber 4 operaciones abiertas o 5 operaciones abiertas. Esto indica claramente la necesidad de utilizar un número entero.
Los valores de fecha y hora son lo que suenan. Ellos representan tanto la fecha y la hora. Mas especificamente, una variable datetime representa el número de segundos que han transcurrido desde enero 1, 1970. Aquí es donde se pone un poco complicado. El número de segundos que han transcurrido en realidad es un número entero. Valores enteros tienda datetimes pero luego asociarlos a una fecha y hora.
Un valor de 0 indicaría que el tiempo es 00:00 en enero 1, 1970. Un valor de 60 destaca por un minuto más tarde en 00:01 1/1/1970, etcétera. Uno de los beneficios de saber que la información de las tiendas tipo datetime como enteros es que se puede determinar fácilmente la cantidad de tiempo que pasa entre un acontecimiento. Si el evento comienza a las 15:35 y termina en 18:12, simplemente puede restar 18:12 – 15:35 y terminar con el número de segundos entre esos valores. Esa información puede ser utilizada para determinar los minutos / horas / días de números entre los dos eventos.
El tipo de datos de color, no es sorprendente, mantiene la información de color, tal como negro, amarillo, rojo y así sucesivamente. Al igual que los tipos de fecha y hora, color también utiliza números enteros para almacenar la información. La diferencia, aunque, es que la extracción de la información de color del número entero no es en absoluto evidente. El aumento de un tipo de color de 32768 por uno no necesariamente que sea más o menos verde. Colores utilizan la información entero para recuperar el rojo, componentes verde y azul del color en formato hexadecimal. Explicando hexadecimales está mucho más allá del alcance de este artículo. Es poco probable que en su programación MQL. He estado haciendo esto por más de cinco años y sólo encontré un proyecto que requiere la manipulación de un color en forma más complicada que la alternancia entre dos colores establecidos.
Una cadena es algo que se asemeja a una palabra o frase. Siempre usa comillas para contener la información. Mi uso favorito de cadenas es reunir información para mostrar en la carta o en un archivo de registro siempre que necesito depurar un asesor experto.
Char es el tipo de datos final. Está tan íntimamente relacionada con una cadena que yo ni siquiera era consciente existía este tipo hasta que miré hasta información para este artículo. Si estudiamos la palabra “comercio”, entonces encontraremos que se compone de los cinco personajes t, r, un, D y E.
Una nota final sobre los tipos de datos. Hay dos formas en que los tipos se mantienen en la memoria. Una variable extern es el que aparece en la pantalla de entradas cada vez que un asesor experto o cargas indicador. Las variables estáticas son lo contrario. Permanecen en el programa MQL y fuera nunca visible de ella.