Ayuda de MetaEditor

Administración intelectual

Para que el proceso de desarrollo de programas sea cómodo, el MetaEditor ofrece al usuario diferentes recursos para conseguirlo: desde la substitución automática de nombres y descripciones de las funciones hasta los marcadores y atajos de teclado. Dichos medios permiten acelerar el proceso de la 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 Deshacer" en el menú "Editar" o en la barra de herramientas "Estándar", o pulsando la combinación de teclas "Ctrl+Z".

Substitución automática de nombres de las funciones

Se trata de la posibilidad de echar un vistazo a la lista que contiene posibles nombres de las funciones incorporadas y personalizadas, constantes, variables, miembros de las clases, palabras claves, etc. para poder insertarlos a la hora de escribir el código del programa. Las variantes de la substitución se determinan por los primeros símbolos tecleados. Esta lista se abre automáticamente durante la escritura del código. Para abrir la lista manualmente, ejecute el comando "Lista de nombres Lista de nombres" en el menú "Editar" o en la barra de herramientas "Estándar", o pulse la combinación de teclas "Ctrl+Space" tras introducir los primeros símbolos del nombre:

Lista de nombres

A continuación, sólo le queda escoger la opción necesaria mediante las teclas "Flecha arriba" y "Flecha abajo" y pulsar "Enter". También puede utilizar el ratón para seleccionar la función necesaria. Si sigue introduciendo las letras del nombre de la función, la lista de posibles substituciones va a reducirse.

Información sobre parámetros

Esta particularidad permite ver los parámetros de la función seleccionada y su tipo. Para hacer esta información disponible, hay que ejecutar el comando "Información sobre parámetros Información sobre parámetros" en el menú "Editar" o en la barra de herramientas "Estándar", o pulsar las teclas aceleradoras "Ctrl+Shift+Space". Debe ejecutar estos comandos sólo cuando el cursor se encuentra dentro de los paréntesis donde se especifican los parámetros. Después de eso, debajo de la función y sus parámetros aparece una línea adicional:

Información sobre parámetros

Vamos a analizar la información que ha aparecido en el ejemplo de la captura de pantalla de arriba:

  • [1 of 2] — significa que hay dos variantes de parámetros a especificar para esta función. Para conmutar entre ellas, se puede utilizar las teclas "Flecha arriba" y "Flecha abajo" en el teclado, o bien hacer clic izquierdo en la línea de consejos;
  • bool — indica el tipo del valor devuelto por la función;
  • ObjectSetInteger — nombre de la función;
  • (long chart_id, ... ) — enumeración de posibles parámetros de la función, antes de cada parámetro se indica su tipo (en este caso — "long"). El parámetro sobre el que está posicionado el cursor en este momento se muestra en negrita.

Ir a definición

Esta función permite desplazarse automáticamente a la declaración o definición de la función o variable seleccionada. Además, si la declaración o definición del parámetro se encuentra en otro archivo, entonces será abierto este archivo en cuestión y el cursor se pondrá en la posición correspondiente. Esta función permite también pasar a los archivos de inclusión ("#include").

Para eso hay que posicionar el cursor sobre el parámetro y ejecutar el comando "Ir a definición Ir a definición" en el menú "Editar" o en la barra de herramientas "Estándar", o pulsar la combinación de teclas "Alt+G". Para ir al archivo que se inserta, hay que colocar el cursor en cualquier lugar de la línea donde se hace su declaración y ejecutar el comando arriba mencionado.

Lista de funciones

Esta particularidad muestra la lista de todas las funciones declaradas en el archivo actual. Para abrir esta lista, ejecute el comando "Lista de funciones Lista de funciones" en el menú "Editar" o en la barra de herramientas "Estándar", o pulse las teclas aceleradoras "Alt+M".

Lista de funciones

Los parámetros de la función se indican entre los paréntesis, a la derecha de su nombre. Con el clic izquierdo o la tecla "Enter" Usted puede pasar a la definición de la función seleccionada en el archivo. Cada tipo de la función tiene su ícono en la lista:

  • Función — función;
  • Función de manejo de eventos — función de manejo de eventos (On*);
  • Método público de clase — método público de clase (public);
  • Método protegido de clase — método protegido de clase (protected);
  • Método privado de clase — método privado de clase (private);

Insertar comentarios

El menú "Editar" y la barra de herramientas "Estándar" contienen diferentes comandos que se utilizan para trabajar con los comentarios en el código del programa:

  • Encabezado de la función Encabezado de la función — insertar el campo hecho para el comentario;
  • Comentario en bloque Comentario en bloque — insertar el símbolo del comentario en línea;
  • Comentar líneas Comentar líneas — insertar comentarios "//" al principio de cada línea seleccionada;
  • No comentar líneas No comentar líneas — quitar comentarios "//" del inicio de cada línea seleccionada.

La ejecución del comando "Comentario en bloqueComentario en bloque" o la pulsación de la combinación "Ctrl+/" inserta en la posición especificada los símbolos del comentario en línea:

//---

Si ejecuta el comando "Encabezado de la funciónEncabezado de la función" o pulsa las teclas "Ctrl+.", en la posición especificada será insertado el campo hecho del comentario para la función:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

Posibilidades adicionales de edición de código

En el submenú "Adicional" del menú "Editar" está disponible una serie de comandos que simplifican la edición del código fuente:

  • Aumentar la sangría de las líneas Aumentar la sangría de las líneas — este comando permite introducir tres espacios (símbolo de tabulación) al principio de las líneas seleccionadas. Para introducir espacios en una línea, ponga el cursor al principio de la misma. Para introducir espacios en varias líneas, selecciónelas por completo.
  • Disminuir la sangría de las líneas Disminuir la sangría de las líneas — este comando permite quitar tres espacios (símbolo de tabulación) al principio de varias líneas seleccionadas. Una acción análoga se realiza con la combinación de teclas Tab+Shift.
  • Todas en mayúsculas Todas en mayúsculas — poner en mayúscula todas las letras de la frase seleccionada. Una acción análoga se realiza con la combinación de teclas Ctrl+Shift+U.
  • Todas en minúsculas Todas en minúsculas — poner en minúscula todas las letras de la frase seleccionada. Una acción análoga se realiza con la combinación de teclas Ctrl+U.

Trabajo con marcadores

Los marcadores sirven para destacar las líneas necesarias del código para luego poder navegar rápidamente por ellas. Los comandos de trabajo con los marcadores se encuentran en el submenú "Marcadores" del menú "Editar", en la barra de herramientas "Estándar" y en el menú contextual del texto. En el MetaEditor existen los siguientes comandos para trabajar con los marcadores:

  • Alternar marcador Alternar marcador — poner o quitar el marcador de la línea actual en función de su estado actual. Puede realizar la misma acción pulsando la combinación de teclas "Ctrl+F2";
  • Siguiente marcador Siguiente marcador — ir al siguiente marcador en el código actual. Esta misma acción se realiza si pulsa la tecla "F2";
  • Marcador anterior Marcador anterior — ir al marcador anterior en el código actual. Puede realizar la misma acción pulsando la combinación de teclas "Shift+F2";
  • Eliminar todos los marcadores Eliminar todos los marcadores — eliminar todos los marcadores del código actual. Puede realizar la misma acción pulsando la combinación de teclas "Ctrl+Shift+F2".

Además, el MetaEditor ofrece la posibilidad de trabajar con los marcadores nombrados. Son los marcadores que tienen asignado un identificador digital. Para poner este marcador, haga clic en una tecla con el número de 0 a 9, manteniendo pulsada la tecla Ctrl al mismo tiempo. Para ir al marcador fijado anteriormente, pulse la cifra correspondiente manteniendo pulsada la tecla Alt. Los marcadores nombrados facilitan bastante la navegación por el código fuente.

Ir a la línea

Para pasar rápidamente a cualquier línea del código en el archivo actual, puede utilizar el comando "Ir a la línea Ir a la línea" en el menú "Editar" o en la barra de herramientas "Estándar". Al ejecutarlo, se abrirá la siguiente ventana :

Ir a la línea

En esta ventana se indica el rango de las líneas con el código en el archivo actual. Para ir a una línea, hay que introducir su número y hacer clic en "OK".

Snippets

Para facilitar el proceso de la escritura del código, en el MetaEditor está implementada la posibilidad de insertar los snippets. Se trata de pequeños fragmentos de plantilla del código fuente que describen una construcción del lenguaje MQL4/MQL5. Para insertar un snippet, Usted debe escribir una palabra clave. Una vez puesta la palabra clave, el cursor se cambia a Se puede insertar un snippet que significa la posibilidad de insertar un snippet. Luego hay que pulsar la tecla "Tab".

Por ejemplo, para insertar la declaración de la clase a través del snippet, hay que teclear la palabra clave "class" y pulsar Tab:

Ejemplo de un snippet

En seguida la palabra clave se cambiará por la declaración de la clase. 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 cambian automáticamente; si cambia el nombre de una variable en una de las expresiones del ciclo "for", también se cambian las variables en las demás expresiones que le pertenecen.

El sistema de trabajo con los snippets también reconoce las estructuras, clases, enumeraciones métodos y funciones si Usted pulsa la combinación de teclas Ctrl+Enter. En esté caso el cursor tiene que estar dentro de la descripción de la construcción correspondiente. Al pulsar esta combinación de teclas, el usuario puede 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", así como editarlos juntamente 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.

Insertar recursos

Para facilitar el desarrollo de aplicaciones en el menú "Editar — Insertar" está ahora disponible un serie de comandos para la inserción rápida de los archivos de los recursos.

Ajustes en forma de #property

Inserta en la posición actual del programa la directiva #property y abre de inmediato una lista de todas las propiedades del programa disponibles en el lenguaje.

BMP/WAV en forma de #resource

Para añadir una imagen o un archivo de audio a los recursos del programa, basta con ejecutar este comando y elegir un archivo BMP o WAV (debe encontrarse dentro de los límites del catálogo \MQL5). A la posición actual del programa se añade la directiva #resource con la ruta correcta indicada al archivo elegido.

#resource "\\Images\\image.bmp"

DLL/EX5 en forma de #import

Para importar funciones desde una biblioteca DLL externa o un archivo EX5/EX4, basta con ejecutar este comando y seleccionar el archivo (debe encontrarse dentro de los límites del catálogo \MQL5). A la posición actual del programa se añade el par de directivas #import con la ruta correcta indicada al archivo elegido.

#import "..\Experts\SendNotification.ex5"
 
#import

Añada entre las directivas la descripción de las funciones importadas.

MQH en forma de #include

Para añadir un archivo de inclusión al código del programa, ejecute este comando, y después elija el archivo MQH (debe encontrarse dentro de los límites del catálogo \MQL5). A la posición actual del programa se añade la directiva #include con la ruta correcta indicada al archivo elegido.

#include <Arrays\Array.mqh>

Archivo en forma de matriz binaria

Este comando permite incluir en el texto del programa cualquier archivo en forma de matriz binaria. Ejecútelo y elija el archivo necesario (debe encontrarse dentro de los límites del catálogo \MQL5). A la posición actual del programa se añade una matriz char.

Usando esta función es posible, por ejemplo, trasladar las plantillas de los gráficos junto con los expertos/indicadores: incluya su plantilla en el código del programa en forma de matriz, a continuación, con la ayuda de la función FileSave, guárdela en el disco. Después de ello, la plantilla se podrá aplicar al gráfico con la ayuda de la función ChartApplyTemplate.

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- archivo de plantilla en forma de matriz binaria
   unsigned char my_template[]=
     {
      0xFF,0xFE,0x3C, ... ,0x00 // la matriz de datos en el ejemplo ha sido guardada
     };
//--- guardado y aplicación de la plantilla
   if(FileSave("my_template.tpl",my_template))
     {
      Print("Custom template saved in \\MQL5\\Files");
      if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
         Print("Custom template applied to the current chart");
      else
         Print("Failed to apply custom template");
     }
   else
      Print("Failed to save custom template");
  }

CSV en forma de matriz de texto

Para añadir los datos de un archivo de texto al código del programa, ejecute este comando y después elija un archivo TXT o CSV (debe encontrarse dentro de los límites del catálogo \MQL5). A la posición actual del programa se añade una matriz string de las dimensiones requeridas con los datos del archivo:

string data[][3]=
  {
   {"name1","value1"},
   {"name2","value2"},
   {"name3","value3"}
  };

Transformación del texto

MetaEditor permite transformar fácilmente el formato de los datos originales. Para ello, abra el archivo necesario, seleccione en este el texto y ejecute uno de los comandos del menú "Editar — Convertir":

  • ASCII a HEX
  • ASCII a Base64
  • ASCII a una matriz binaria
  • HEX a ASCII
  • Base64 a ASCII