Para que el proceso de desarrollo de programas sea cómodo, el MetaEditor ofrece al usuario diferentes recursos para conseguirlo: desde la sustitución automática de los nombres y descripciones de las funciones hasta marcadores y atajos de teclado. Dichos medios permiten acelerar el proceso de escritura del código, navegar de forma cómoda y evitar la aparición de errores.
Este apartado describe las siguientes funciones:
Usted puede cancelar cualquier cambio del código mediante la ejecución del comando " Deshacer" en el menú "Editar" o en la barra de herramientas "Estándar", o pulsando la combinación de teclas "Ctrl+Z". |
Cuando usted escribe el código del programa, el MetaEditor automáticamente sugiere posibles opciones de sustitución para funciones incorporadas y definidas por el usuario, constantes, variables, miembros de clase, palabras clave, etcétera. Esto acelera la escritura del código. Por ejemplo, tan pronto como ingrese las primeras letras del nombre de una función, se abrirá inmediatamente una lista de funciones con los nombres adecuados. Seleccione la opción apropiada con las flechas en el teclado y presione "Enter":
Si la lista de opciones es demasiado grande, escriba algunas letras más del nombre de la función. Para llamar a la lista de forma manual, haga clic en " Lista de nombres" en el menú "Editar" o "Ctrl+Space" después de introducir los primeros símbolos del nombre.
Podrá ver la signatura de la función correcta al escribir el código, sin abrir la referencia del idioma. Para hacer esto, coloque el cursor después del paréntesis de apertura, con el que comienza la descripción de los parámetros de la función, y luego haga clic en " Información sobre los parámetros" en el menú "Editar" o "Ctrl+Shift+Space". La información sobre los parámetros y el tipo del valor de retorno de la función se mostrará en forma de pistas emergentes:
En la imagen de arriba se muestra la siguiente información para la función:
Esta herramienta nos permite navegar rápidamente hasta la definición (implementación) del tipo o elemento de clase seleccionado. Coloque el cursor sobre su nombre y pulse " Ir a definición" en el menú contextual o "Alt+G". Además, si la definición se encuentra en otro archivo, este archivo se abrirá y el cursor se colocará en la posición correspondiente.
La función también permite navegar hasta los archivos de inclusión. Para ello, coloque el cursor en cualquier lugar de la línea donde se declara (directiva #include) y ejecute el comando anterior.
Esta herramienta nos permite navegar rápidamente hasta la declaración de una variable o miembro de clase. Coloque el cursor sobre el nombre del artículo y pulse "Ir a anuncio" en el menú contextual. Además, si la declaración se encuentra en otro archivo, este archivo se abrirá y el cursor se pondrá en la posición correspondiente.
Esta herramienta le permitirá ver una lista de todas las funciones declaradas en el archivo actual. Para abrir la lista, haga clic en " Lista de funciones" en el menú "Editar" o "Alt+M".
En los corchetes a la derecha del nombre de la función se indican sus parámetros. Para ir a la función, haga clic en su nombre en la lista. Cada tipo de función tiene su icono en la lista:
Para facilitar el trabajo con comentarios en el código del programa en el menú "Editar" y en la barra de herramientas "Estándar" disponemos de una serie de funciones a este propósito:
El comando "Comentario en bloque" (Ctrl+/) inserta en la posición actual del cursor los símbolos del comentario en línea:
//--- |
El comando "Encabezado de la función" (Ctrl+.) inserta en la posición actual del cursor una plantilla para comentar la función:
//+------------------------------------------------------------------+
|
Usted puede mover fácilmente fragmentos de código de una parte del programa a otra. Para hacer esto, seleccione el fragmento y luego arrástrelo a la posición deseada (Drag'n'Drop").
En el submenú "Adicional" del menú "Editar" está disponible una serie de comandos que simplifican la edición del código fuente:
Los marcadores están diseñados para saltar rápidamente a diferentes partes del código. Marque las filas requeridas con los marcadores, y luego navegue entre ellas usando los comandos de menú "Editar - Marcadores" y el menú contextual del código fuente:
En el MetaEditor también se han previsto marcadores con nombre: marcadores a los que se les asigna un identificador digital. Para establecer dicho marcador, presione una tecla numérica de 0 a 9 mientras mantiene presionada la tecla Ctrl. Para ir a la pestaña establecida previamente, presione el número correspondiente mientras mantiene presionada la tecla Alt.
Para saltar rápidamente a cualquier línea de código en el archivo actual, haga clic en " Ir a la línea" en el menú "Búsqueda" o "Ctrl+G". Se abrirá la siguiente ventana:
En esta ventana se indica el rango de las líneas con el código en el archivo actual. Para ir a la línea, ingrese su número y haga clic en "OK".
Los snippets son pequeños fragmentos de plantilla del código fuente que describen una u otra construcción del lenguaje MQL4/MQL5. Hacen que sea más fácil y rápido escribir el código fuente. Por ejemplo, al usarlos en el código del programa, puede agregar rápidamente una plantilla de trabajo para describir una clase o un ciclo. Para hacer esto, basta con introducir la palabra clave – class o for. Después de eso, el cursor cambia a que indica la posibilidad de insertar un snippet. Haga click en "Tab" y el programa insertará un espacio en blanco para la clase o para el ciclo, respectivamente.
Para conmutar entre los campos activos del snippet (en este caso es el nombre, constructor y destructor de la clase) se utilizan las teclas "Tab" y "Shift+Tab".
Si se cambia un campo activo, los demás campos se cambian automáticamente. Por ejemplo, si usted cambia el nombre de la clase, los nombres del constructor y del destructor se cambiarán automáticamente; si cambia el nombre de una variable en una de las expresiones del ciclo "for", también se cambiarán las variables en las demás expresiones que le pertenezcan.
El sistema de trabajo con snippets también reconoce las estructuras, clases, enumeraciones, métodos y funciones ya descritos. Coloque el cursor dentro de la descripción de la estructura correspondiente y presione "Ctrl+Enter". Después de ello, usted podrá navegar entre los miembros (para las clases, estructuras y enumeraciones) y argumentos (para los métodos y funciones) utilizando las teclas "Tab" y "Shift+Tab". También podrá editarlos de manera conjunta, tal como se describe más arriba.
En estos momentos están disponibles los siguientes snippets:
Palabra clave |
Valor |
---|---|
#import |
Declaración de una importación. |
OnBookEvent |
Manejador OnBookEvent. |
OnCalculate |
Manejador OnCalculate. |
case |
Selector case. |
OnChartEvent |
Manejador OnChartEvent. |
class |
Declaraciones de una clase. |
OnDeinit |
Manejador OnDeinit. |
do |
Declaración del ciclo do while. |
enum |
Declaración de una enumeración. |
for |
Declaración del ciclo for. |
if |
Declaración de la condición if. |
else |
Declaración de la condición else. |
OnInit |
Manejador OnInit. |
OnStart |
Manejador OnStart. |
struct |
Declaración de una estructura. |
switch |
Selector switch. |
OnTester |
Manejador OnTester. |
OnTesterInit |
Manejador OnTesterInit. |
OnTesterPass |
Manejador OnTesterPass. |
OnTesterDeinit |
Manejador OnTesterDeinit. |
OnTick |
Manejador OnTick. |
OnTimer |
Manejador OnTimer. |
OnTrade |
Manejador OnTrade. |
OnTradeTransation |
Manejador OnTradeTransation |
while |
Declaración del ciclo while. |
Para facilitar el procesamiento de aplicaciones, en el menú "Editar – Insertar" está disponible una serie de comandos de inserción rápida de archivos de los recursos.
Inserta en el programa actual la directiva #property e inmediatamente abre una lista de todas las propiedades de programadisponibles en el lenguaje.
Para agregar una imagen o archivo de sonido a los recursos del programa, basta con ejecutar este comando y seleccionar el archivo BMP o WAV (debe ubicarse dentro del directorio \MQL5). La directiva #resource con la ruta correcta al archivo seleccionado se agregará a la posición actual del programa.
#resource "\\Images\\image.bmp" |
Para importar funciones desde una biblioteca DLL externa o un archivo EX5/EX4, solo tiene que ejecutar este comando y seleccionar el archivo (debe ubicarse dentro del directorio \MQL5). La directiva #import con la ruta correcta al archivo seleccionado se agregará a la posición actual del programa.
#import "..\Experts\SendNotification.ex5"
|
Entre las directivas, agregue una descripción de las funciones importadas.
Para agregar un archivo de inclusión al código del programa, ejecute este comando y luego seleccione el archivo MQH (debe estar dentro del directorio \MQL5). La directiva #include con la ruta correcta al archivo seleccionado se agregará a la posición actual del programa.
#include <Arrays\Array.mqh> |
Para agregar un conjunto de parámetros para poner a prueba el asesor con el código del programa, ejecute este comando y luego seleccione el archivo SET (debe ubicarse dentro del directorio \MQL5). La directiva #property con la ruta correcta al archivo seleccionado se agregará a la posición actual del programa.
#property tester_set "\\Profiles\\Tester\\Moving Average.set" |
Este comando permite insertar cómodamente la fecha y la hora en el código en el formato necesario. Al pulsarlo, aparece un calendario interactivo. Seleccione en él la fecha y la hora, y estas serán insertadas en la posición actual del programa en el formato elegido.
Este comando permite insertar cómodamente el color en el código en el formato necesario. Al pulsarlo, aparece una paleta de colores interactiva. Seleccione el color, y este será insertado en la posición actual en el formato clrColor, utilizado en las funciones MQL5.
Este comando le permite incluir en el texto del programa cualquier archivo en forma de matriz binaria. Ejecútelo y seleccione el archivo deseado (debe estar dentro del directorio \MQL5). Se agregará una matriz char a la posición actual del programa.
Usando esta función, podrá, por ejemplo, transferir patrones gráficos junto con los expertos/indicadores: incluya su plantilla en el código del programa como una matriz, y luego use la función FileSave para guardarla en el disco. Después de esto, la plantilla se podrá aplicar al gráfico utilizando la función ChartApplyTemplate.
//+------------------------------------------------------------------+
|
Para agregar los datos de un archivo de texto al código del programa, ejecute este comando y luego seleccione el archivo TXT o CSV (debe estar dentro del directorio \MQL5). En la posición actual del programa, se agregará una matriz string de la dimensión requerida con los datos del archivo:
string data[][3]=
|
El MetaEditor le permite convertir fácilmente el formato de los datos originales. Para hacerlo, abra el archivo deseado, seleccione el texto en él y ejecute uno de los comandos en el menú "Editar - Convertir":
La función de seguimiento del portapapeles permite hacer más cómodo el trabajo con el código fuente gracias al acceso rápido a los últimos datos usados. Presione Alt + V en cualquier posición del código fuente, elija en el menú cualquiera de las líneas copiadas anteriormente, y dicha la línea se insertará en la posición seleccionada.
Para activar/desactivar el seguimiento, utilice el comando correspondiente en el panel de herramientas o use la configuración del editor.