Todos los asesores y los indicadores de expertos MQL contienen unos componentes esenciales. La organización general de los programas MQL no varía demasiado a menudo.
Archivos por lo general comienzan con una declaración de #defines (libra pronunciado definir) variables globales y las variables externas, también conocido como tipo de datos externo. Aparecen cerca de la parte superior del código para ayudar a la lectura ganar una comprensión de las variables que se ejecutará en el programa. Idealmente, los nombres de las variables y la forma en que están organizados deben ayudar al programador forma una comprensión general de lo que el asesor de expertos o indicador podrían hacer.
La siguiente sección es por lo general el init() función, que es la palabra initialize abrevia. Esta sección del código es particularmente relevante para los indicadores personalizados de programación. La mayor parte de los ajustes del indicador generales como declarar los buffers de indicadores, los colores a utilizar y otras características básicas se establecen dentro de esta sección. Yo uso init() in every expert advisor that we build to convert the inputs into an appropriate setting for the broker’s pricing. Si un cliente introduce una pérdida de la parada de 50 en un EA, I don’t need to do anything if it’s a 4 corredor dígitos. Hago, sin embargo, necesita para convertir la entrada para trabajar con una 5 corredor dígitos. Dirijo una comprobación rápida dentro de init() para ver si Dígitos == 3 || Dígitos == 5. Si es así, luego multiplico entradas afectadas por ese ajuste por 10.
deinit() es la sección menos importante; it’s pretty easy to deinitialize an MQL file because it usually does not take up any system resources. It’s rarely used for anything important. Los únicos usos que alguna vez tengo para deinit() son para cerrar un identificador de archivo abierto o para hacer algún tipo de nota de cierre. Esto se hace a menudo, ya sea en la carta directamente a través del comentario() función o más a menudo por escrito directamente en el archivo de registro.
El inicio() función es la verdadera sustancia de un asesor experto MQL o indicador. Siempre MetaTrader detecta una garrapata entrante, alerta a cualquier programa MQL. Esos programas se llaman la función de inicio para que pueda hacer lo que sea necesario. Todas las operaciones comerciales, Cálculos, monitoreo de cuentas, etc., ocurrir dentro de esta sección.
Todas las otras funciones personalizadas dentro del programa aparecen debajo inicio(). Por lo general prefieren a clasificarlos por orden de su importancia o la frecuencia con que yo los llamo todo el programa. El orden de colocación de las funciones no afecta el rendimiento de ninguna manera en absoluto. It’s strictly a cosmetic practice that makes programming code more legible.